构造、交互、通信题
以后闲得没事来看一下这篇吧 qwq。
抽屉原理
摩尔投票
绝对众数:在可重集合中出现次数严格大于一半的元素。
思路:维护当前剩下的数是什么,以及它的数量,然后以一换一,最后剩下的绝对是绝对众数。
-
对于一个符合要求的数 \(x\),设其出现次数为 \(c\),则有 \(c \ge len * p\%\)。若令 \(q = \lfloor \frac{100}{p} \rfloor + 1\),则 \(c > \frac{len}{q}\)。于是我们每次删除 \(\frac{len}{q}\) 个互不相同的数,再用线段树维护即可。
-
好巧妙的题目!我感觉想到它,我们需要观察题目中的“或”, 并大胆猜想。
先随意求出一组边独立集。如果它 \(\ge n\),则输出;否则我们可以据这组边独立集构造出一组点独立集,且其一定 \(> n\)。
归纳法
-
这道题实际不难。只需要模仿二分图染色法,图中奇环可以被忽略。
从归纳法(增量法)的角度来想,假设前 \(n-1\) 个点是合法的,考虑新增一个点 \(n\) 时怎么办。
-
Trick:倒序增量法构造。
“正着做很难做,因为我们很难表达它前面有多少数;而如果倒着构造,我们就很清楚它前面”……?
过会儿再看一下。
-
[ABC166F] Three Variables Game
Trick:小范围 DP,大范围贪心。
先思考什么时候会不合法,发现当且仅当至少两堆石子为空。手模可以发现,当石子总数 \(\ge 4\) 时,只要贪心地让石子数量大的往石子数量少的中放即可;否则需要 DP 维护一下即可。
结合经典算法
-
idea:转化
考虑转化为普通排序问题。发现 \(p[i] + 1 > p[k] \Rightarrow p[i] > p[k]\),那么我们找出 \(p[j] = 1\) 即可。而这很容易通过 \(O(n)\) 次询问得出。
转化图论模型
(这个不更应该放图论里面吗?)
(事实证明这里主要是奇妙构造图论题。)
???
-
牛逼题。
欧拉回路
-
这道题本质上和 Vus the Cossack and a Graph 是一样的。
暂咕。。。
最优化交互
通信题
写两个程序,两个之间互发信息???