雅礼集训总结
这个总结也是咕了一周(准备初赛去啦)所以可能有的地方有些奇奇怪怪的问题qwq
Day1
杂题选讲:
有几个题印象比较深刻。
1.平面加点,删点,询问多少个点关于(0,0)(x,y)连线对称。
发现对称的话两个点位于以(0,0)为圆心的圆上,所以暴力维护。这个复杂度是O(nsqrtnlgn)。实际上是跑不满的。
2.给定x,p。每次x可以+1,-1,变成关于p的逆元(全部模意义下),请构造方案在200步以内使x变成y。(p保证是质数)
因为操作3存在我们可以近似的认为这个图是随机的。但是直接搜期望复杂度还是很高,所以我们考虑meet in the middle。对于x我们取出前sqrt(p)个状态,然后y也搜sqrt(p)个状态在前面查询。根据生日悖论这个还无解的概率基本为0。(然而我这种非酋emm...)【这个题利用生日悖论的理论还不是很懂】
Day2
数学相关(真·noip):https://blog.csdn.net/hanyuweining/article/details/82989750(喂挂我自己的blog还要审核嘛QAQ)
Day3
一个比较重点的题:BZOJ3990
在广二做到过然后当时思路清奇的做出来了233完全没分析出复杂度竟然过了qwq
思路大体是这样,我们发现一组操作可以任意变换顺序并仍能得出解。所以我们不需要考虑操作顺序只需要得出这组解,最后乘上阶乘就可以了。问题是如何得出所有的解?我们发现一组较小的分组如果在较小的时候不变换,那么操作区间变大了以后就不能交换了,它和它旁边的块捆绑到了一起。所以我们选择从较小的块开始搜索。然后我们发现对于的块,我们至多可以有两个大小为的块还不是顺序。如果有一个我们选择交换它的左右,两块的话我们一共有4种交换方式全部搜一遍就可以了。如果我们当前处理的块的大小为,但是仍有<的块为逆序的话,一定是无解的。原因见上。这个复杂度真的不怎么会分析233能过就好
BZOJ1082
类似小木棍的一个题。解法:二分+暴搜。当然还是要利用一些剪枝(剪枝都很像小木棍的剪枝233)。
BZOJ1853
统计[l,r]内有多少个数,满足有一个完全由'6'和'8'组成的数整除它。
我们发现只由'6'和'8'组成的数gcd不为'6'和'8'组成的数的倍数的数很少。所以暴搜+容斥解决。
————mmp从这里开始csdn没有存我的草稿...气急败坏重写系列—————
算了这几题都只留题号好了没啥多说的
la3272 poj1167 bzoj2570 uva1603 bzoj4242 bzoj5097都是一些比较神奇的搜索留个坑好了
Day4
图论
没什么特别重点的
基本思路都是生成树+乱搞or缩点+DAG上的dp
Day5
树论
一个重点题(讲了两遍)CF1025D
最暴力的dp是f[i][j][k]表示i号点到j号点以k为根是否可行。转移随便跑O(n^4)
我们考虑优化。设L[i][j]表示,f[i][j][k]=1且k与j+1互质。同理设R[i][j]。预处理+转移O(n^3)
Day6
开黑帮袁神上紫然后没听课qwq
Day7
AGC018C 非常好的一道题。(AGC018和AGC016两场的题都非常好可以补补)
我们重定义Ai=Ai-Ci,Bi=Bi-Ci,按照新的Ai降序排序。我们可以确定选择金币的一定是在选择铜币的前面。不理解的话可以考虑只有A和C两种币的时候的情况。然后我们用priority_queue维护一下最后加上就行了
二维树状数组CF439Div2E
二维RMQCF371Div1D
今天下午就补了这两个题
非常郁闷QAQ我好不容易码了一上午的笔记全丢了也懒得补了。还是去补补题更好一点。
这次雅礼集训反应的几个问题就是不会乱搞&对拍能力差(码力弱是一直弱QAQ)
这一段时间要好好补补了