闲话 11.8
别问为啥这么晚才写,因为一天都不知道在干啥,要寄的节奏。
- 11.7 晚
轮到 CTH 写字
Ratio:程立雪?啥意思,程门立雪?门呢?
CTH:让我创掉了。
- 上午
把昨天晚上想到的题出了出来,见此。
由于 5k 们要打 nfls,所以只能找团委了,过了 hack 之后直接拿 \(\mathcal{O(n^2)}\) 出到了 \(10^5\) 的点,但发现 \(n\le 10^3\) 的 TLE 了?
研究发现团委做法是值域挂 \(\log\) 的,测试组数一多就炸了。
中午问 5k 发现需要写动态 FFT?
- 下午
信息课,没什么劲,还我每日一歌!
学考模拟直接大战 Excel 三百回合,然后动用人类智慧直接查找替换 + 公式填充 + 学号除以 1000 变为班级 + 排序 + 分类汇总做完了。
上午的题问了原作 jjdw 说只能值域带根号挂 \(\log\) 做,需要将值域缩到 \(5\times 10^4\) 左右,好吧这下真出了不可做题了。
打了到大家不知道为什么都在做的简单 Ynoi,一眼根号分治,加了个 getchar_unlocked()
就过了。
然后去打没打完的 AT_dp,感觉今天闲话没什么内容啊,那就塞几个题解:
Digit Sum
简单数位 dp,当复健了。
设 \(f_{i,j,0/1}\) 表示到第 \(i\) 位前面的数和对 \(d\) 取模的结果为 \(j\) 且有/无原数大小限制的方案数。然后记搜做完了。
要点是 dp 数组初始化;记搜从高位到低位;然后没了。
Permutation
一个智慧 dp。
考虑设 \(f_{i,j}\) 表示已经放了 \(i\) 位且最后一位排名为 \(j\) 的方案数,那么每次枚举 \(1\) ~ \(i\),根据符号关系转移,有:
前缀和优化即可,复杂度 \(\mathcal{O(n^2)}\)。
Grouping
看范围识状压,确实忘了。
考虑预处理每个分组的得分,然后枚举每个状态和它的每个子集,转移即可。
trick 是如何一遍直接枚举出目标集合的子集,这样实现:
for(int t = T; t; t = (t - 1) & T)
然后就过了,预处理复杂度是 \(\mathcal{O(3^n)}\) 的,转移是 \(\mathcal{O(n^22^n)}\) 的。
- 晚上
起因
丁真:晚上有牛客,我要打。
Ratio:那你把第三题给我吧。
丁真:你还要上了,不给。
int_R 来了,说了比赛有关
丁真:这比赛简单。
Ratio:那你把 T6 给我吧。
丁真:行,我上次调一晚上没调出来。
拿了题面,看,没思路,再看,没思路。
“第 F 题真困难啊!”我想着。
叫来 5k,jijidawang,int_R,Estelle_N 一起看,没思路。
“第 F 题真困难啊!”大家想着。
丁真过来了:“我把 A, B, C, E 过了,D 是模拟不想打。”
Ratio:“给我 D 吧,你去看 F。”
int_R 和丁真一起做 F 题。
看 D 题,题面很简单,但是分讨很多,还不能简写。
“第 D 题真复杂啊!”Ratio 想着。
不知道过了多久,Ratio 打完了,测了下样例,过了。
“第 D 题真简单啊!”Ratio 想着。
喊来丁真交了一发,TLE 了,真不爽。
不会造点,于是手动一点一点出,发现果然 TLE 了,怎么会是呢?
输出一下,发现是边界判错了。改完过了,Ratio 高兴地说:“这发必过,不过我把 5k 吃掉。”
交了发,居然 WA 了,真不爽。
再次自己手造 + 模样例,发现边界又判错了。改完过了,Ratio 高兴地说:“这发必过,不过我把 5k 吃掉。”
交了发,居然又 WA 了,真不爽。
手造不出来样例了,输出过程量。“怎么 RE 了?”
“哦,原来数组开小了。”
发现了错误,Ratio 高兴地说:“这发必过,不过我把 xrlong 吃掉。”
交了发,居然又又 WA 了,真不爽。
“第 D 题真困难啊!”Ratio 想。
然后经过很长时间的探索,发现又是边界错了,还有 5min 改完交了发,过了。
“第 D 题真简单啊!”Ratio 想。
最终结果是 AK Rank8,丁真贡献一发罚时共 20min,int_R 贡献 5 发 1.3h,Ratio 贡献 4 发 1.5h。
我度过了一次充实的牛客小白月赛。
总结:1h 吃了 4 发罚时和两个人。