杂题选做
显然很多题没咕进来 /cy
7/11
一条链要不废掉要不在子树内找另一条配对要不对父亲贡献。二分答案+贪心儿子对链的贡献+multiset
vector/前向星存图,保证to单调增,基环树情况枚举边暴力删。
只会六七十分,抄题解的。大概是ddp的板子可惜我不会。
树形dp+倍增+容斥。
f1[i][1/0] i的子树 i染色/不染色
f2[i][1/0] T-i的子树 i染色/不染色
dp[i][j][1/0][1/0] i的2^j的祖先的子树-i的子树 i染色/不 i的2^j祖先染色/不
f1[i][0]=f1[j][1]
f1[i][1]=min(f1[j][0/1])+p[i]
f2[i][0]=f2[fa][1]+f2[fa][1]-min(f1[i][0/1])
f2[i][1]=min(f2[i][0],f2[fa][0]+f1[fa][0]-f1[i][1])
二分+主席树+标记永久化。
错排+组合,考虑固定住m个,之后其他n-m都错排。
7/12
矩阵乘法+线段树 好题!
较为简单的最短路建模。
文艺平衡树好题,我用fhq写的。
猜结论题,发现答案最大是n,区间长度为1且正好在位置上直接扔掉,否则找到区间[l,r]使得值都正好在[l,r]中出现一次,然后排下。
7/13
P6940 [ICPC2017 WF]Visual Python++
7/14
略考思维的题目,P7724 远古档案馆(Ancient Archive)
7/15
爆搜+剪枝
单调栈处理出最矮楼房管理区间,线段树优化dp。
分数规划,转换后二分+判负环。
P4377 [USACO18OPEN]Talent Show G
分数规划+01背包。
分数规划+贪心。
数论题,按%p的循环分块,之后Lucas。
网络流24题
大概一些觉得需要放的想到就会放
分别考虑 2 操作 ,即乘法,发现可以转换为加法次数。
函数的调用来调用去,可以转化为一个函数的调用次数。
我们需要求出来这个函数调用了之后整个序列的乘法 tag 以及这个函数的调用次数。
乘法 tag 可以通过反图拓扑 因为类似于回溯的形式 记搜也可
调用次数可以拓扑 转化为 在此之前的乘法标记再乘上上一个函数的调用次数 因为之后的函数的乘法标记会影响之前的
建个超级源点 注意还要乘上超级源点的乘法标记
考场上最开始想了一半正解 就对点进行染色 然后判断下相邻 2 个点的颜色是否相同 然而细节萎了
正解就是用时间戳作为颜色 区间染色 然后求相邻2个元素颜色相同数量
编号 \([1,2n]\) 固定住第 k 个点 它能和 \(n-k\) 个点连 比如当 \(k=1\) 时,它只能和偶数的连,因为和奇数的话会造成对中间的偶数夹击,导致这个偶数点无法出头。
那么它就能和 \(n\) 个点连,但因为去重,我们规定固定住一个点只能连编号比它后的。那么就是 \(n-k\) 去掉了自己。
明显卡特兰数。