构造、交互、通信题

以后闲得没事来看一下这篇吧 qwq


抽屉原理

摩尔投票

绝对众数:在可重集合中出现次数严格大于一半的元素。

思路:维护当前剩下的数是什么,以及它的数量,然后以一换一,最后剩下的绝对是绝对众数。

  • Choosing Ads

    对于一个符合要求的数 \(x\),设其出现次数为 \(c\),则有 \(c \ge len * p\%\)。若令 \(q = \lfloor \frac{100}{p} \rfloor + 1\),则 \(c > \frac{len}{q}\)。于是我们每次删除 \(\frac{len}{q}\) 个互不相同的数,再用线段树维护即可。

  • Matching vs Independent Set

    好巧妙的题目!我感觉想到它,我们需要观察题目中的“”, 并大胆猜想。

    先随意求出一组边独立集。如果它 \(\ge n\),则输出;否则我们可以据这组边独立集构造出一组点独立集,且其一定 \(> n\)


归纳法

  • Strange Housing

    这道题实际不难。只需要模仿二分图染色法,图中奇环可以被忽略。

    从归纳法(增量法)的角度来想,假设前 \(n-1\) 个点是合法的,考虑新增一个点 \(n\) 时怎么办。

  • [ARC122E] Increasing LCMs

    Trick:倒序增量法构造。

    “正着做很难做,因为我们很难表达它前面有多少数;而如果倒着构造,我们就很清楚它前面”……?

    过会儿再看一下。


  • [ABC166F] Three Variables Game

    Trick:小范围 DP,大范围贪心。

    先思考什么时候会不合法,发现当且仅当至少两堆石子为空。手模可以发现,当石子总数 \(\ge 4\) 时,只要贪心地让石子数量大的往石子数量少的中放即可;否则需要 DP 维护一下即可。


结合经典算法

  • [ARC154D] A + B > C ?

    idea:转化

    考虑转化为普通排序问题。发现 \(p[i] + 1 > p[k] \Rightarrow p[i] > p[k]\),那么我们找出 \(p[j] = 1\) 即可。而这很容易通过 \(O(n)\) 次询问得出。


转化图论模型

(这个不更应该放图论里面吗?)

(事实证明这里主要是奇妙构造图论题。)

???

欧拉回路


最优化交互


通信题

写两个程序,两个之间互发信息???

posted @ 2024-08-24 09:08  David_Mercury  阅读(2)  评论(0编辑  收藏  举报