【A】构造、非传统、随机化、ad-hoc
CF1672E notepad.exe
二分 \(h=1\) 的 \(w_1\),然后对于 \(h>1\) 询问 \(\frac{w_1}{h}\) 是否能放下。
因为如果询问 \(\frac{w_1}{h}-1\) 放不下,而 \(\frac{w_1}{h}+1\) 一定不如放一行。
CF1354G Find a Gift
先找一个石头,然后从头开始倍增二分。
怎么找石头?随机 \(T\) 个东西在里面找出最重的。失败概率不超过 \(2^{-T}\)。
HDU7393
若所有人都是随机回答,期望有 \(\frac{n}{m}\) 个人答对。
那么我们要构造 \(m\) 个互斥的事件。
构造 \([(sum+j)\bmod m=i\bmod m]\)。
AT_agc004_f [AGC004F] Namori
将树二分图染色,左部点的颜色反转,我们希望最后左部点变成白点右部点变成黑点,操作变成交换两个不同颜色节点的颜色。那么就知道每条边的经过次数。
对于基环树有奇环:这会改变黑白颜色数量差,也可以知道要做多少次。
对于基环树有偶环:考虑枚举一条环边的流量 \(x\),那么其他的为了平衡流量则代价会变成 \(|c+x|\)。排序取中点。
CF1450C2 Errich-Tac-Toe (Hard Version)
C1:把对角线按照 \(\bmod 3\) 分类,反转其中一类。
C2:
- 考虑 \(0\) 类没有
O\(1\) 类没有X就可以反转 \(0,1\) 两类。
三种情况加一起反转 \(n\) 个棋子,反转其中一种。
Topcoder13366
\(n\) 个点每个点都有出边,这样的图连通块个数等于环的个数。
环上的距离都是相等的,那么只能是二元环。枚举两个点计数他们形成二元环的概率。
QOJ14812 Regional Champion
根据欧拉公式,交点越多面就越多。
考虑构造最大值。
CF1909H Parallel Swaps Sort
QOJ15314 Menji, we miss you!
定一个根然后二分出深度。
令该深度的点为关键点,在上面做边分治二分。
次数是 \(\log_2 n+\log_{1.5} \frac{n}{2}=39.7\)。
AT_codefestival_2016_final_g Zigzag MST
加入 \((a,b)\) 之后,发现 \((a+1,b)\) 可以等价于 \((a,a+1)\)。
同理可得等价于 \((a,b,c)\),然后是 \((a+i,a+i+1,c+2i+1),(b+i,b+i+1,c+2i+2)\)。
HDU6664
随机染 \(k\) 种颜色,要求路径上有 \(k\) 个颜色。
正确概率 \(\frac{k!}{k^k}\),每次状压求。
AT_agc006_d [AGC006D] Median Pyramid Hard
QOJ141 8 染色
2 染色可以做,考虑将 12,34,56,78 分别合并为一种新颜色,这样 12 连通块内做 2 染色就好了。对于 \(\deg \le 7\) 的点可以最后染。
现在传的信息是 \(2\text{ bits}\times \frac{2m}{8}\),可以通过。
HDU6804
第一个班力量为正,第二个班力量为负,然后跑背包要求最后力量是 0。
考虑随机打乱然后跑背包,这样你的背包上界开到 \(w\sqrt {n+m}\) 就好了。
AT_agc019_f [AGC019F] Yes or No
\(f_{n,m}=\frac{1}{n+m}(nf_{n-1,m}+mf_{n,m-1}+\max(n,m))\)。
考虑每个 \(\max(i,j)\) 的贡献是 \(\max(i,j)\times \frac{(n+m)!n!m!(n+m-i-j)!}{(i+j-1)!i!j!(n-i)!(m-j)!}=\max(i,j)\times \binom{n}{i}\binom{m}{j}\times \frac{(n+m)!(n+m-i-j)!}{(i+j-1)!}\)。
P14025 [ICPC 2024 Nanjing R] P ⊕ Q = R
首先 \(p_i\oplus q_i=r_i\) 两边全部异或起来得到 \(0=\bigoplus_i r_i\),故只有 \(n=1\) 或 \(n=4k\) 有解。
浙公网安备 33010602011771号