07 2022 档案
摘要:oi-wiki的讲解 1D1D 转移代价函数满足交叉优于包含,即可推出具有决策单调性。 然后比较一般的做法是,根据每个点能够作为被决策点的是一段区间,且区间随着点连续右移,可以用单调队列维护决策点,每次加入时弹出队尾所有能够完全覆盖的,然后到第一个不完全覆盖的,二分找出区间左端点。 对于被决策点不会
阅读全文
摘要:oi-wiki endpos(t):t在s中的所有结束位置构成的集合 等价类:endpos相同的非空子串 SAM的每个节点(状态)<==>一组等价类
阅读全文
摘要:取模下的运算(模数确定) 点击查看代码 void inc(int& x,int y){ x+=y; if(x>=P) x-=P; if(x<0) x+=P; } int sum(int x,int y){ x+=y; if(x>=P) x-=P; if(x<0) x+=P; return x; }
阅读全文
摘要:内地高校rk18(高中生太强了) 打一场命题风格很OI的比赛还是很舒服的qwq 虽然A题又死在没发现dp决策单调性上 补个A题和决策单调性 决策单调性优化DP总结
阅读全文
摘要:C 对于一种颜色而言,直接同色+1,不同色-1,树形DP计算和为正的连通子图个数,每次效率为。 然而对于子树合并的树形DP,还有一个性质:如果第二维的上届是,总的效率是的! 对于本题,和的绝对值必然不超过同色的节点数,所以每次的效率可以做到$O(n\times 节
阅读全文
摘要:题目链接 首先是判断每个子集是否覆盖了整个矩形,离散化后暴力做是 ,会TLE。当时队友想了一个挺巧妙的容斥的做法,但写起来比较复杂。其实发现就是一个01取并集的过程,可以直接bitset优化掉32倍的常数就ok了! 然后是状态转移,其实是比较经典的问题:有向图第一次走到合法
阅读全文
摘要:DP BFS维护转移顺序 因为可DP的充要条件是状态转移满足拓扑序,所以在一些形式上不是DAG但本质是DAG,但直接用数组又比较麻烦的题上,可以直接BFS会好写很多! CF-ER129D 计算几何 精度 关于避免共线问题,可以通过加减微小的角度,转化为开区间的问题,且不会出现共线的情况(微小的角度小
阅读全文
摘要:真,自闭场 C题已经忘记是什么了,记得一开始的做法不知道错哪了,最后改了个做法才过 D原本一直在想有什么数论上的性质和结论,一直局限于乘的那个数的选择,没有从因数的角度考虑,于是自闭 F最后看了下感觉可做,后来发现确实不难 D 其实本质是从搜索的角度出发,然后考虑状态的数量:只要发现每个状态都是x与
阅读全文
摘要:比赛链接 其实这场的题都没有特别难,但D因为奇怪的问题卡住了,于是... D 又是后面的DP都想出来了,但是不会判断一个区间是否能被完全消去... 容易发现消去的部分由一些长度为偶数的区间组成,且每个区间都是回文不对称的。然后原本一直在想:枚举每一个中心,求出可以消去的最大长度,然后就是已知一些合法
阅读全文
摘要:题目链接 对于有向图的问题,先想DAG该怎么做,这点还是没错的。对于DAG,就是一个按照拓扑序的DP,从n出发,每个点考虑删掉几条边即可(因为一定是删掉通往的点最差的那些边)。然后就一直在想有环怎么处理,但似乎不存在正确的解决方案。 这时候就应该考虑dijkstra的思路,即按照答案从小到大更新。沿
阅读全文
摘要:CF-GR20题解 一场全是排列问题的CF ICPC21SH B 关于排列的容斥计数题 CF-R803div2E-2300 先考虑如何判断一个确定的排列置换是否合法: 1.对于排列置换的环,考虑每次交换的影响,发现就是把一个点去掉;那么对于每一个数,只要判断它在环上的后面的第一个比它大的数即可。 2
阅读全文
摘要:先说三道概率相关的题 B 首先是判断每个子集是否覆盖了整个矩形,离散化后暴力做是 ,会TLE。当时队友想了一个挺巧妙的容斥的做法,但写起来比较复杂。其实发现就是一个01取并集的过程,可以直接bitset优化掉32倍的常数就ok了! 然后是状态转移,其实是比较经典的问题:有向
阅读全文
摘要:题解 大部分的做法是,根据题意列出关于斜率的不等式,转化为二维偏序; 我是对夹角的范围进行了 这样的容斥,就可以转化为两个向量的方向关系(向量积小于0),但这个做法因为只有一个方向的限制,没法保证,所以还需要y的限制,还是二维偏序,就是少了个离
阅读全文