2月
2.3
怎么都2月了。。。
复工。
2.4
待填坑。。。
2.6
天天口胡遭天谴了。好破防啊。
usaco25 Shock Wave
赛时:瞪了好久做不出(还考虑过对偶,但是没啥用/dk)
注意到很多中间的操作没用。
我一开始以为在某一个非边界位置不会有太多次操作,但是证明方式有点问题(直接替换为边界而不是移动)
然后就完蛋了qwq
注意到对于 \(i \le j\) 替换为 \(i - 1, j + 1\) 是不劣的。
于是最多只有一个操作不是 \(0\) 或者 \(n - 1\) (是不是猜也大概能猜到啊/dk)
然后显然二分。
没有中间操作的话 check 是简单的。
考察移动中间操作的过程。可以注意到限制的变化量不大。
维护即可。
复杂度可能有些大,可以注意到只 check 没有中间操作的情况下最多可能比答案大1。
只需要做一次有中间操作的check即可。
重点还是相信自己的感觉……
2.7
还在调 shock wave。
好破防啊。
调出来了,大喜。原来是向下取整完蛋了。
我讨厌向下取整。
2.8
今天考我的题!前几天的题可以解冻了,好耶!
Kevin and Matrices
注意到 \(\le\) 实际上就是 \(=\)
只要对于某个值,存在一个行和一个列的值都是他就对了!
那就是容斥。
考虑枚举这个值和行数,注意到每加一列,它的容斥值是一个固定数,快速幂即可。
Multiple of Three Cycles
注意到模3余0的链贡献是可以作组合数乘上去的。
设 \(f(x, y)\) 表示有 \(x\) 个模3余1,\(y\) 个模3余2的链。
列出两个关于它的柿子(懒得写了)
然后 \(f(x, y), f(x - 1, y - 1), f(x - 2, y + 1), f(x + 1, y - 2)\) 得二知四。
发现可以倒着维护,就完了。
2.10
考试的时候长眠不醒,考完了又开始鱼鱼,这辈子有了。。。
心情不好就不想写代码……这下真的这辈子有了。。。
得训训代码能力了……去年省选就败在代码能力上/dk
[EC Final 2020] Random Shuffle
第一眼……这能做?
注意到每次 rand() 出来的每一位的值是原本一些位异或的值。
通过形如 \(2^x\) 位置的限制可以得到一些等式。
以上是赛时思路。
在 n 比较小的时候特别完蛋。当时认为可能是数据分治,所以毫无思路。。。
实际上,即使这个数不是2的多少次幂,他如果是形如 \(2^x\) 的倍数,限制是比 \(2^x\) 严的,也因此可以当成 \(2^x\) 来做。
我在说什么啊/dk
2.11
从noip结束后一直在训ds,怎么感觉没啥效果啊/dk
不会做的还是不会做/dk
为什么要考ds啊,我不会写代码啊/dk
哦,原来是我没想清楚,那没事了。
2.12
可恶。从昨天写到今天也是没谁了/dk。
我讨厌卡常题。
然后就去看 ynoi 了。。。
不想订题,下次一定。
不归之人与望眼欲穿的人们
啥都观察到了,就是不会做qwq
观察到对于每个右端点只有 O(log V) 个有效的。
分块。
维护每个块内,定长度的最小。
查询的时候查找跨过块之间的。
2.16
Xorderable Array
感谢呆猫的好题qwq
太牛了。
列出来一张表,通过大力观察(不是)可得,重要的是 \(p \oplus q\)。
而仔细观察,一对数不合法的条件,就是它的xor比 \(p \oplus q\) 小(我怎么观察不到\ll)。
然后就是 \(p \oplus q \le min(a_i \oplus a_j)\) 。
根据 花神诞祭 的结论,那就是 sort 之后 \(min(a_i \oplus a_{i + 1})\) 。
就可以直接做了。
AT_wtf22_day2_c Jewel Pairs
好题啊,就是怎么模拟赛放t1,怎么这么坏。
这个解题过程好长啊qwq。懒得写了(
2.18
保持冷静,保持冷静,保持冷静。
2.19
写队长讲的题。
CEOI 2023 Balance
考虑 S = 2
如果只有偶数的话,相当于两边的数量要相同。
有奇数的话可以补一个空白位 (0, x)
在同一行的两点间连边,跑欧拉回路,边被经过的顺序(相当于给无向边分配方向)即是一种可能的分配方案。
而可以注意到,由于 S 是 2 的幂,强行把 S 分成两半的话,相当于要找一种分配方式,使得每种颜色两边差小于等于一。
这个问题和 S=2 是等价的。
然后就可以递归了。
唉,能不能纯口胡啊/dk 不想写了/dk
2.23
补药再摆烂了/dk

浙公网安备 33010602011771号