省选模拟三十五题解

昨天出去浪,今天发烧,考试虚的一批,暴力挂了2个,T3的性质猜出来了但是只打了50分,没有时间打满分

T1

假设现在删蓝树,in[x]代表dfs到x的最小时间戳,out代表最大

那么一条原先删的边(p,q)会让蓝树里的(x,y)删掉当:

(假设dfn[x]<dfn[y],dfn[p]<dfn[q])

1>in[q]=<in[x]<=out[q]&&in[y]>out[q]

2>in[q]=<in[y]<=out[q]&&in[y]<in[q]

直接拿线段树维护即可

T2

首先点分治

之后一条链的前缀和和另一条进行合并

那么一定一个是它到根里最大,一个是最小

之后我就不会了。。。

T3

结论是每个数不会超过两个质因子

并且有两个的话一个是小于根号一个大于根号

所以先把ans初始化为都选一个的

之后S向小于根号的连边其他的向T的连边,容量为1,代价为0

小于根号的向大于根号的连容量为1代价为calc(i,j)-calc(i)-calc(j)的边

跑一个最大费用最大流即可

原文地址:https://www.cnblogs.com/AthosD/p/12398330.html