Preface
菜鸡HL终于艰难地熬过了初三的一个学期迎来了寒假。
但是由于某些不可言说的政策问题所以他要没高中读了,只能开始准备中考。
所以这个寒假可能并不像想象中的那样可以大量刷题好吧题还是要做的
希望\(ZJOI\)能\(Keep\ good\ luck\)吧,进不了前\(48\)就要考虑退役了。
1-26
早上搬东西发成绩单听老杨浩BB,搞到\(10\)点种才放。
ZLX很早就走了,心想有点不对,肯定是去机房了。
所以推测HW的人都去机房了,于是我决定也去机房玩玩。
把东西拿到老爸车上就直接去EZ了,果然如此。
拆了键盘坐到团长边上去了,然后早上开了一道LCT题先:
- Luogu P4299 首都 题目就是动态求重心吧,不过我太菜了只会\(O(n\log^2 n)\)的做法。首先我们考虑用LCT维护每一个联通块的重心(这个找出来直接给它
makeroot
一下就好了),然后连边的时候考虑启发式合并,这样就可以直接暴力找出路径,结合重心的性质扫一下就好了。
下午回来虽然很困,但是还是去复习了下多项式,然后随了一道题:
- Luogu P4841 城市规划 考虑构造一些多项式,设\(f_i\)为简单无向连通图数目,\(t_i\)为无向图数目。那么显然有\(t_i=2^{C_i^2}\)。然后容斥可以得到\(f_i=t_i-\sum_{j=1}^{i-1} f_j\cdot C_{i-1}^{j-1}\cdot t_{i-j}\),拆开后移项发现是个分治NTT的形式,直接做即可。\(O(n\log^2n)\)的复杂度被\(O(n\log n)\)的求逆和求对数吊着打。
- Luogu P4560 [IOI2014]Wall 砖墙 开始准备码ODT的,想想这个线段树下推标记的过程好像也不难,维护两个上下界标记,区间修改直接分情况讨论标记修改即可。最后直接遍历一遍即可。
晚上写一道雅礼集训(貌似没有按顺序做,跳了两题),开始本机过了然后交上去RE,后来过了一会儿再交就过了?
- LOJ #6038. 「雅礼集训 2017 Day5」远行 首先由一个结论,一棵树内离某个点最远的点一定是直径的某个端点(可以反证法证明),所以我们可以用并查集维护直径的端点,然后合并联通块的时候套路讨论一下即可(肯定是端点之间接起来)。不过这里的距离是动态的所以要用LCT维护。
我好弱啊一天就做这么点水题。。。
1-27
早上起得晚,炉石打了好久掉了一颗星看来这个月上不了传说了
到机房开始看了下以前**来的课件,找了一道随机+LCT的题:
- UOJ #207. 共价大爷游长沙 首先一个结论:一条路径\(x\to y\)被当前所有的路径经过,当且仅当以\(x\)为根时,所有路径的端点都恰好有一个在\(y\)的子树中。所以我们考虑给每个路径随机一个权值,每次将两端异或上这个值,然后用LCT维护子树权值异或和即可。开了\(unsigned\ long\ long\)后稳的一批。
要吃饭的时候学了下Minkowski sum(闵可夫斯基和),下午就找了一道板子可怜题做了下:
- Luogu P4557 [JSOI2018]战争 和之前HHHOJ上一道三角形重心的题目很像,考虑令$a\in A,b\in B \(,则每次询问向量\)v\(是否存在\)b+v=a\(,因此\)v=a-b\(,我们直接把\)b\(坐标取反求出闵可夫斯基和然后判断是否在这里面即可。点在凸包内的判定可以结合```lower_bound```做到\)O(\log n)$。
然后又是复习多项式,从**来的课件里找了一道FWT裸题:
- CF663 E. Binary Table 鬼知道Luogu上竟然没有这题,考虑到行数很少,我们可以直接状压一下然后搞两个多项式,通过异或的性质进行变形之后就变成了异或卷积的形式,直接FWT即可*注意开long long)。
下午+晚上写了一道CCF的题,因为没有清空TLE了好多发:
- CODECHEF GERALD07 Chef and Graph Queries 考虑一个离线的做法,我们直接按右端点顺序处理,这样就可以一条一条地加边。考虑搞出森林,这样只要求出范围内树边的条数就可以知道答案。由于编号越大对后面的可能影响越大,所以维护边的编号的最小值,每次成环
cut
掉再link
上这条边。最后用树状数组统计答案即可。
明天争取多写点题?
原文地址:https://www.cnblogs.com/cjjsb/p/10328253.html
时间: 2024-10-12 02:38:58