Preface
拾月开始了,这个月的事情感觉好多啊:国庆放假,NOIp初赛,运动会,十月月考反正我要停课了
NOIp临近,首先把初赛过了吧。然后不求多的,今年一定要把TG一等拿了如果能去WC自然是更好的
主要做的题目也要慢慢像联赛靠近,不过省选算法什么的不做就有点放不下的感觉
联赛前的最后一个月了,好好拼一把吧!
List
- CF 799 F. Beautiful fountains rows 随机化+(异或)前缀和的好题,发现原来随机化的用处并不仅仅如我所想之浅显。适当的分析移项之后可以用Hash+map来搞,然后就是RP问题了(人品不行果断双自然溢出Hash)
- NOIP+ 2018模拟赛 实际NOI难度模拟赛,话说我早上不知道要来然后十点过才到。由于只打了一会所以没交。感觉T1还是很涨乱搞姿势的
- Luogu P3629 [APIO2010]巡逻 比较神仙的贪心+树形DP,注意有边权的树上最长链(树的直径)不能用BFS做,老实上树形DP吧
- NOIP 2013 提高组初赛试题 为什么我就是上不了90
艹又是89,不定项选择真是要命 - NOIP模拟赛 捌 又是Rank2涨了81分,准备冲刺2000大关。主要是T3数据太水
笑 - CF 739E. Gosha is hunting WQS二分套WQS二分,然后上一个比较简单的概率DP即可,注意二分的边界问题。
- Luogu P3380 【模板】二逼平衡树(树套树) 别以为我写了什么高级的神仙东西
no 树套树,大力分块之后二分求答案。跑的比线段树(BIT)套Treap(Splay)还快 - TOPOI 提高组模拟赛( 14) 2018-10-03 暴力大赛,刚好两百分。
主要是T2爆0了,T3数据太水使得很多人的暴力找回文串都跑过去了我艹我现场手推Manacher - Luogu P2325 [SCOI2005]王室联邦 树分块裸题,好像就是因为这道题才有了一个出名的树分块法:王室联邦分块法。
- BZOJ 4765: 普通计算姬 比较多技巧的综合运用题。子树求和用DFS序+BIT,区间询问可以分块搞,修改的话除了在BIT上改还要修改所在块的总和,这个DFS的时候开桶统计一下块内某点祖先个数即可。
- Luogu P4252 [NOI2006]聪明的导游 又是好玩的题答,题目一看好像是NP,但是这次就写了一个大力随机化+贪心就跑过去了。注意一些小细节。
- Luogu P4287 [SHOI2011]双倍回文 Manacher好题,看见很多神仙都是再加一个并查集艹过去,但是我感觉直接在更新最右端点的时候枚举前半部分判断即可。这样就是\(O(n)\)
- 信息学奥赛一本通——第 24 章 数位动态规划 以前一直写不来数位DP,直到有一天我知道了一个叫记忆化搜索的东西。
- Luogu P4639 [SHOI2011]编译优化 神仙题答
黑题++,由于GOTO
语句只有一个,所以可以直接把里面的一部分的系数转移矩阵搞出来然后矩阵快速幂来算。由于值不会减小因此外面套一个二分判上下界即可。 - Luogu P4149 [IOI2011]Race 一眼点分治,由于路径长度并不大所以我们可以直接开一个桶来维护
- Luogu P1758 [NOI2009]管道取珠 神仙DP。考虑答案计算的\(\sum_{i=1}^k {a_i}^2\),我们可以看成两个人同时操作得到的状态数相同的数目。然后四维DP。然后通过加减消去一维然后再可以滚动消去一维。
- Luogu P1640 [SCOI2010]连续攻击游戏 比较套路的神仙二分图。考虑建图,我们将每一把武器的攻击力与编号连边,然后按攻击力顺序匹配即可。那个找增广路的过程等价于交换拿武器的顺序
- 信息学奥赛一本通——第 25 章 状态压缩类动态规划 状压嘛随便搞一下就过了,注意有些行就可以减掉的操作可以直接剪了。
- Luogu P1552 [APIO2012]派遣 可并堆好题。考虑以每个点为领导者计算答案那么可选的点都在这颗子树中,那么考虑用的人最多我们就贪心的把大的扔掉,回溯时合并两个堆即可。左偏树处理。
- BZOJ 1367: [Baltic2004]sequence 可并堆好题,一眼看不出。考虑先求不降序列的情况,发现可以对原序列的所有不升序列进行分割,这样必然是取中位数(反证法)。然后用左偏树统计中位数并支持合并即可。
- Luogu P4197 Peaks&&]BZOJ 3551: [ONTAK2010]Peaks加强版 前一个为离线题,后一个为在线
我当然直接写了在线双倍经验。我们求出原图的克鲁斯卡尔重构树,然后就可以倍增在树上找到对应的点,询问的即为子树第K大,DFS序后用主席树维护即可。 - UVA1482 Playing With Stones 博弈论,SG函数的推理
找规律题,先暴力求一下SG函数发现规律之后水之。 - UVA1146 Now or later 最大值最小很容易想到二分,然后由于每架飞机只有两种选择,果断2-SAT,直接用Tarjan判可行性即可。
- Luogu P1084 疫情控制 挺有难度的真·NOIp题。观察\(n\le50000\)可以猜想是\(O(n\log^2n)\)的做法。我们套一层二分判断最长时间。然后贪心地想把点尽量地向上提,这个倍增维护下。然后对于可以跳到根节点的点和根的子节点一一对应地选择即可。
- UOJ #206. 【APIO2016】Gap 好玩的交互题,第一个子任务直接利用递增的性质左右往里缩即可。第二个子任务用鸽笼原理+分块的思想找块内的最大最小值即可。
- Luogu P3825 [NOI2017]游戏 题目乍一看是NPC的3-SAT,但是注意到\(d\le8\),所以我们考虑对于\(x\)地图\(2^d\)枚举不让用\(A\)和不让用\(B\),就可以转化为2-SAT做了。 Sol
- Luogu P2604 [ZJOI2010]网络扩容 一眼网络流,第一问很简单,考虑第二问我们直接在之前的残量网络上扩容,考虑费用可以连上在原来的每条边之间的两点之间建一条\((cap=INF,cost=w)\)的边,同时为了保证可以扩容\(k\)的流量我们建一条\(s\to 1(cap=k,cost=0)\)的边即可
- Luogu P2764 最小路径覆盖问题 考虑二分图定理,最小路径覆盖=总点数-最大匹配。我们拆点之后上匈牙利算法即可,由于要输出答案可以对于匹配点也记录一下被匹配点。
- Luogu P2765 魔术球问题 类似上一题,一个一个的加球然后求出最早的需要的柱子数\(\ge n\)的情况即可。注意二分图也可以在残量网络上跑,不过要建双向边。
- Luogu UVA11542 Square 由于质因数范围很小,我们可以构造出异或方程组之后高斯消元求系数矩阵的秩,判断有多少自由元即可。
- NOIP2018.10.16模拟赛 一个晚上不知道怎么脑抽了,一道最短路图上正反拓扑两次的题目我写了一遍正一遍反。而且5min的KMP想都没想。最后直接ZZ
我真是太菜了 - Luogu P3247 [HNOI2016]最小公倍数 玄学至极的排序确定维度+分块+并查集维护联通块边权最大值+按秩合并+带撤销+\(two\ points\)
- Luogu P4604 [WC2017]挑战 松爷这道大力卡常题的有名程度自然是不用言说。基本思想还是卡常,不过这里的卡常不是一般的register,循环展开什么的,而是全方位压二进制,指针代替引用这些哲学东西。实在是ORZ
- 信息学奥赛一本通——第 26 章 单调队列优化动态规划 大多是同一个套路,然而都是比较一般的优化
并没有决策单调性 - NOIP模拟赛 玖 好像是第一次在OJ上AK,涨了挺多分的。
不过题目还是偏水 - Luogu P3261 [JLOI2015]城池攻占 一道带标记左偏树的题,思路和Luogu P1552 [APIO2012]派遣很像,就多了一个修改的过程。类似于线段树的延时标记,在
merge
的时候下传即可。 - 信息学奥赛一本通——第 27 章 斜率优化动态规划 以前直接觉得斜率优化很难
因为不理解,但是做了几题之后发现这个思想只要会一次函数的都能理解,瞬间开始刷水。一个多月终于把DP做完了 - 信息学奥赛一本通——第 28 章 快速幂 都是水题
快速幂谁TM不会写,又是一波刷水。 - Luogu P1975 [国家集训队]排队 超级套路的
树套树大力分块。考虑逆序对的性质,我们分块之后每块维护一个BIT查询大于/小于这个数的个数即可(当然排序+二分也是可以的) - HDU 5634Rikka with Phi 神仙的线段树,我们可以发现\(\phi\)操作和开根号很像,一个数做\(\log\)级别次的操作就变成\(1\)了。因此我们进行一段1操作后就有很多数相同了,然后就可以直接区间跑\(\phi\)。同时2操作由于是修改并没有影响,复杂度均摊\(O((n+m)\log n)\)
Postscript
由于突如其来的停课所以这篇记录到23号就完结了停课做的题可能会很多
感觉神仙题做了挺多一些但是对于一些联赛向的题目做的太少。
以后要注意一下再多切点紫黑题