11.11~11.17
做题
P4775 一道用线段树合并处理直径的题目。一个小技巧就是树上线段树先合并再插入常数会小很多。
P10831 最开始信息:通过 Ramsey 引理知 6 点必有询问出 0 或 3,以这三点 \(A,B,C\) 为基础构造。如何求一边是否存在?预处理 \(i\to A,B,C,\forall i\) 的信息之后直接询问即可。考虑增量法,加入 \(i\) 点入已知集合 \(U\):随机打乱 \(U\),将其两两分组,一组内询问 \((u,v,i)\) 三角形,当 \((i,u)+(i,v)=1\) 时才需要递归,递归边界就是刚才的询问。理性分析一下期望只有至多一半对会递归,询问次数就到了 $\sim \frac 13n^2 $。
AT_pakencamp_2018_day2_g 由于 \(m-n\le 3\),缩 1 度点,缩链(二度点)之后只剩下 \(O(1)\) 个点了,直接枚举即可。
P4484 杨表题目。这里应用了杨表的勾子公式和一组同构杨表对应排列的原理(不知道证明)。
P5295 Nash-William 定理:一个边集可以划分为 \(k\) 个无环子集的充要条件是:对于所有导出子图 \((V',E')\),都有 \(|E|\le k(|V|-1)\)。这个限制的可以用最大权闭合子图,跑网络流处理。
CF2003F color-coding 算法。题目限制 \(k\le 5\) 个位置 \(b\) 互不相同,而 \(b\) 的值域很大,可以把 \(b\) 随机映射到 \([1,k]\) 上从而以一定概率满足选取位置 \(b'\) 互不相同(单调上升也可以),然后状压 dp 跑很多次即可。
CF1849F 找出 xor-mst,然后这个 MST 就给出了二分图的构造。
联考
一个问题在于:某些不太难的问题花了比较长的时间,尤其是写代码有点小问题,但按理(理是 CSP)说我的调试能力在同学间应该不差??。
还有个问题在于经常以为尼特过了题(然而大部分时候不是,,)就觉得这道题我怎么还没做出来有点慌,但是影响是较小的。
但总体感觉近两周打得不是很难受,这周挂的分的情况应该也不会在正赛出现。
其余
在 NOIP 前预计我要完成给做过略有难度的题目的重新思考和写题解,之前写到了 3 月,很久没写了。
考试前还需要(重新)研究一下两个 NOIP 构造题:喵了个喵和移球游戏。喵了个喵在 CSP 前想到了一个不太容易实现,正确性还未知(我觉得是对的)的方法,但是没有实现。
感觉 trick 和思维大概都满足 NOIP 所需(可能思维不够也没啥办法),下两周决定做题转向模拟,即尝试提升一下代码能力和调试速度,之前由于代码问题是吃了不少苦头的。
这周末感觉有点软,即没有什么想法写题,效率较低(和在学校不同)。NOIP 之后可能确实要重新考虑游戏问题(不知道睡觉问题和这个有没有关系)。
zhicheng 牛逼。