JSOI2021 酱油记
阅读原文时间:2023年07月08日阅读:2

终于停课了(bushi)……

稍微规划了下省选前听课的日程,大约周二(3.16)请一天,周四(3.18)请一天,周五(3.19)请半天?月考正常考,月考完请两周?

不管怎样 JSOI 2021 冲一把吧。

月考终于考完了……虽然垫底了/kk

交了免修生的表格,请假一直从 3.29 到 4.9。

终于真正停课了,u1s1 我还从来没请过这么长时间假呢

(中间忽略了好多天的内容啊,不过似乎停课的日子也挺无聊的?一天的安排就是补题,补题,再补题)

明天要体育中考,所以中午回了趟学校听了个通知?

下午到本部试机+打板子,听到一群神仙在奶题目,什么 SAM,什么计算几何,都是我不会的内容,心很方,感觉会被一堆人 dd,谁叫我去年没有抓紧时间学算法呢,现在被微分了才知道后悔了(

试机的时候敲了个最大流的板子,剩余时间都在颓废(bushi),实际上是在尝试什么函数能在 Linux 下用,什么函数不能,顺便测了下机子的速度,感觉比洛谷稍微快一点,比 CF 稍微慢一点?似乎取模的常数挺大的,然后还测了下 Linux 下的对拍,暴力程序起名叫做 fuckycx.cpp(ycx 不要打我),然鹅没拍完就被 ls 强制离开机房了……

csy 又在奶第二天几个 998244353,几个 1e9+7,%%%

晚上继续打板子

10:50 睡觉了,明天 rp++

开坑待填

upd:来填坑了

早上由于过度紧张 6:30 就醒了,然后一直在床上翻来覆去睡不着,还出了一身冷汗,感觉药丸。

8:05 到达本部机房,一眼 ycx,然后看到 kyl、ymx、yxh、wjz 都围在 ycx 旁边,又在奶会考什么题,聊了一会儿以后 8:15 就进机房了

一开始记错机位号了,405-41 记成了 405-35,搞得本来该坐在 405-35 了人一脸懵逼,也白白浪费了我打板子的时间(雾

坐下来,第一步调外观,第二步开 -Wall 和 -Wshadow,第三步开始打板子,然鹅板子没打完就发题目了。

拿到题目先看标题,噫,不错,没有计几,没有字符串,没有数论,看来他们不会在学过的算法上 ddw 了(狂喜)。然后开始刚 T1,咦?这直接二分一遍,再上个 two pointers 不就能 1log 了吗?这么水(bushi)的题也能来省选,不愧是 CCF……30min 就写好并测过大样例了,测了组极限数据,1.4s,NOIP T2 既视感,不过稍微卡了卡就将它卡到了 1.06s,似乎 CCF 机子比我们学校的快不少?那应该不至于被卡掉吧……

去上个厕所,回来看 T2,顿时 xtbz……看下部分分,这个 n=3,m=3 的我都不会啊……再稍微想了下 m=2 的情况,大概就是把第一行第一列的值固定下来,那么 \(a_{2,2},a_{3,2},\cdots,a_{n,2}\) 就可以表示为 \(a_{1,1},a_{1,2},a_{2,1},a_{3,1},\cdots,a_{n,1}\) 的线性组合与一个常数的和,再手算了下,发现必然有 \(a_{i,2}=\sum\limits_{j=1}^{i-1}(-1)^{i-j-1}b_{j,1}+(-1)^{i+1}(a_{1,1}+a_{1,2})-a_{i,1}\),这个 \(a_{1,1}+a_{1,2}\) 可以捆在一起看,然后根据 \(a_{i,2},a_{i,1}\in[0,10^6]\) 可以解出 \(a_{1,1}+a_{1,2}\) 的范围,然后乱搞搞即可,想了想就开始写,大约 1:20(9:50)写好了。

继续继续,想 T2 \(b_{i,j}\in[0,1]\) 的部分分,首先如果 \(b_{i,j}=0\) 那么必然有 \(a_{i,j}=a_{i+1,j}=a_{i,j+1}=a_{i+1,j+1}=0\),关键是 \(b_{i,j}=1\) 的情况怎么处理,一开始以为可以 2-SAT,心里还小激动了一会儿,结果没过多久就自己把这个想法叉掉了……因为这样会导致全填 \(0\) 也合法……感觉如果硬来个 4-SAT 也可以做,可我不会 4-SAT 啊……似乎这也是个 NP 问题,就没管了。

然后就一直在想那东西的乱搞,心态有点炸裂,想不出来就回去想 n=m=3,还是想不出来又回去想 \(b_{i,j}\in[0,1]\),就这样反复交替,不知不觉 1h 已经过去了,其时已 2:30(11:00)。

看 T3,怎么是个图论问题?还是有向图……惩罚我图论算法学得太少了/kk,16分算法显然,可我懒得写了……稍微想下就能发现一个性质,那就是 \(h(G)\) 等价于对于所有 \(i\),删除 \(1\sim i-1\) 之后 \(i\) 所在强连通分量大小之和,这样暴力复杂度是 \(nm^2\) 的,一开始还在犹豫这个复杂度能不能拿到 44pts,然后想这玩意儿似乎常数挺小的,开个 O2 说不定可以冲过去,写了下,果真可以,极限数据测了 0.4s,那应该没啥问题了罢……心态稍微恢复了一点,其时已经 3:00。

回去看 T2,感觉这个 n=m=3 可以一堆暴力分类讨论搞出来,假设第一行到第三行,从左到右分别是 \(a,b,c,d,e,f,g,h,i\),暴力枚举 \(a\),那么可以将 \(e,f,h,i\) 表示成 \(b,c,d,g\) 的线性组合,然后根据 \(b,c,d,e,f,g,h,i\in[0,10^6]\) 暴力解出 \(b,c,d,g\) 的取值范围,然后代入求一下就行了,结果推了半天,最后写是写出来了,不过由于那时候所剩时间不多,所以写的有些匆忙,感觉会挂分/ll,写完已经 3:50(12:20)了。

回去拍 T1,写了个暴力二分,拍了 2k 组数据没问题,感觉应该稳了。

然后又到 Linux 下编译+运行,还好每遇到 Linux 下过不去的情况,要不然就凉了。

最后 10min 整理了下程序就准备交卷了,出来的时候心态有些小炸裂。

\(100+50+40=194\)

问了下周围人的情况,我竟然 dd ycx 了,ycx \(100+30+44=174\),wjz \(100+50+16=166\),ymx 跟我一样也 \(194\),顺便问了下写 T2 \(n=m=3\) 的人怎么写的,发现他们也是分类讨论,那没事了(

下午体育中考,一路上心里一直很方,担心自己 T2 挂掉,一下午心情都很忐忑不安。

晚上继续打板子,打了多项式全家桶的板子(不过似乎没用到),咦今天似乎既没有 998244353 也没有 1e9+7,那明天应该会有罢,希望明天考多项式(

据说 T1 大样例很水?随机数据也很水?心里有点慌,怕自己挂掉,不过还好没挂。

似乎我 T1 是我们年级里面跑得最慢的?所以说 tzc 菜菜(

晚上还是 10:50 就睡觉了,不过这次似乎睡得挺沉的?感谢体育中考(

由于昨天实在是太累了,所以今天一觉睡到天亮(

还是 8:05 到本部机房,不过似乎今天座位变掉了?这次可把座位号记清楚了,没搞错了(

坐下来,第一步还是调外观,第二步还是开 -Wall 和 -Wshadow,第三步还是开始打板子,不过今天在发题目前就打好板子了(

发下来看题目,为啥又没有 998244353,也没有 1e9+7 啊,那看来这次 csy 奶失败了……

泛泛地看来下三题似乎一题都不会。。。看 T1,不会,跳过…………看了下 T2,题目名称 hopping,似乎我一周前刚知道 ACM 有滚榜这个东西?想了个状压 dp,复杂度 \(2^nnm^2\),竟然没有全排列来得快?行,那就全排列吧,u1s1 这全排列竟然能拿 60pts 就离谱(

写完以后回来想 T1,一开始想了个巨复杂无比的整体二分的 \(m\log^3m+q\log m\log n\) 做法,而我就一直盯着那东西优化,白白浪费了 1h 的时间……

上了个厕所调整了下心情,回来才发现我是多么得愚蠢,这玩意儿直接树剖一遍不就行了?要啥整体二分嘛(,然后就开始码,2h(10:30)的时候码好了,测下大样例,1.2s,再测下极限数据,2.3s。卡!发现用了常数巨大无比的 lower_bound,换成手写的二分常熟就小了不少,这下样例只有 0.8s 了,极限数据也只有 1.4s 了,感觉应该稳了罢……

上了个厕所看 T3,又是图论,又是有向图,CCF 我谢谢你……既然题目叫支配那肯定跟支配树有点关系咯,而我不会支配树,然后就完美地掉进了不会支配树的萌新容易掉进的坑里。一开始想什么割点,什么圆方树,然后一看,有向图……心态有点小炸。

又去上了个厕所调整下心情,发现可以将原图拆成 \(n\) 个图,第 \(x\) 个图 \(G_x\) 表示原图去掉 \(x\) 点后剩余的子图,那么 \(x\) 在 \(y\) 的支配集合中当且仅当 \(G_x\) 中不存在 \(1\to y\) 的路径,那么加入 \(u\to v\) 之后支配集合大小会发生变化的点 \(t\) 的集合,就是满足 \(\exist x\ne u,x\ne v\),\(G_x\) 中原本不存在 \(1\to t\) 的路径,但是加入 \(u\to v\) 之后就存在 \(1\to t\) 的路径的 \(t\) 的集合。于是 \(qn^2\) 做法就可以随便跑了。又稍微想了想,可以将这 \(n\) 张图分别缩个点,然后反着拓扑排序一遍,bitset 维护可达的点集,再乱搞搞就能变成 \(\dfrac{qn^2}{\omega}\),心理顿时一阵狂喜,不管三七二十一就开始码,大约 3:00(11:30)码好了并测过了大样例,测了下极限数据,1.2s,卡!发现在找 SCC 的时候用到了 vector,换成链式前向星常数顿时小了许多,这下只有 0.7s 了,应该没啥问题了吧((

继续继续,\(m=n-1\) 似乎也是 sb,不花多少时间也写完了,写好之后造了组数据和 \(\dfrac{qn^2}{\omega}\) 的程序拍了下,WA 了!好东西,难不成是我结论猜错了?噢噢噢噢哦哦哦果真是,改了个小地方就过了(

再回去写 T1 \(nm\) 暴力并对拍,拍了 1w 组数据没问题,那没事了(

感觉也没啥能进一步肝出来的部分分了啊,剩余 20min 和 day1 一样进入划水(bushi)状态,到 Linux 下跑了下大样例,也检查了下文件名,包括肉眼查了下程序中的错,就准备交卷了。

\(100+60+75=235\)

出来之后发现人均切 T2,u1s1 T2 是我想的时间最短的题,说不定多给我点时间我就能想出来了?不过怎么说呢?菜是原罪嘛(

后排膜拜 ycx、ymx \(100+100+45=245\) %%%,那他们进队应该稳了罢((,wjz \(100+60+45=205\),也很 nb 了,毕竟人家 whk 场场暴锤我(

如果不挂分的话,两天加起来应该是 \(100+50+44+100+60+75=429\),挂分了的话就不知道了,说不定会变成 \(0\)(?)

总之大概周二成绩就出来了?反正就我这 NOIP 分数,已经比队线低了 \(\approx 30\) pts 了,想让我进队都难,顶多进个 D 队玩玩我就心满意足了(

总之,是退役了。

明年继续吧,还好还有明年(


晚上测了下冥间数据,D1T2 果然挂了,\(-15\)pts,D2T2 还多艹过去一个点,\(-(-5)\)pts,D2T3 没有看到当 \(n\le 10\) 时 \(q\) 无特殊限制,\(-10\)pts,所以冥间数据下是 \(409\) 分,最低有可能挂到 \(399\) 分。

总之还行吧。这把运气好说不定能挤到个我们年级 rk3,可我 NOIP 实在是太太太太太太拖后腿了所以我也没啥指望进队了/kk(JS 队线才 \(370\)?你在逗我笑?!),后面专心学 whk 罢。

出分了,我 \(409\),D1T2 确实挂了 \(20\),D2T3 一分没挂?magic,其他都和出来估的分没有出入。

然鹅令我不太爽的是我 rk18,而 JS 省队恰好 \(17\) 个名额,于是我就以一名之差错失了 E 类的机会/ll

CCF wdnmb 你给我来个 rk 二十多就算了,你给我个 rk18,搞炸我心态呢(((

不过话说回来,对于初中生而言,D 类和 E 类除了 D 要掏 2w 外并无啥区别,反正都拿不到牌,在各地 OJ 上也都显示 D 类 x 牌,2w 就 2w 呗,我又不是穷得掏不出 2w(

似乎我 WC 踩线 Au 来着的,这玩意儿就当把我 rp 给均摊了罢(

后排 mol 队爷 csy、ymx、ycx %%%%%%%%%%%%%%%%%%%%%%%%

不管怎样明年省选好好准备吧,给自己定个小目标,明年省选争取 rk9 以内(\(9=\dfrac{18}{2}\))

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章