总结,从 766 开始(Div2 30)

发布时间 2023-04-30 08:00:52作者: rzh123

3.10

A

分块

B

 分数规划,以前没学过

C

推式子

 

3.11

A

推结论,先划分连续段,然后从一个长度 >= k 的连续段开始操作

B

推式子

C

平衡树套线段树(为了节省空间需要把内层线段树改成平衡树)

或定期重构+树上差分+动态开点线段树,每个结点上有一棵线段树,每 B 次操作后向上合并

 

3.12

A

范围小,记忆化搜索,用 map 或 unordered_map 存记忆化的答案

B

 

C

 

3.15

A

贪心,可以证明满足条件的情况下越晚休息不会更劣

B

构造,俄罗斯方块,若干次操作后形状不变。不能构造方案消除已有的,应该在已有的基础上构造四整行,需要特判原来为空的情况

C

 

3.16

A

找规律,可以证明,高精度计算

B

策略是先等待然后用最大速度走

C

dp、背包前后缀和(可删除)

 

3.17

A

大分类讨论,如果斜箭头有交点就解方程求出,没有说明在四个角,暴力判断,n=2 或 m=2 有特殊情况

B

计算几何,但是卡精度,需要用 int128 实现分数、叉积判断相交

C

类似求凸包的方法

 

3.18

 A

单调栈维护凸包

 

3.20

A

可持久化线段树,分类讨论

B

期望 dp,推式子

C

多项式

 

3.21

A

找规律,只有交替操作有效,交替两次相当于向右平移,移出边界的补到左边

B

推结论,线段树维护最大子段和优化

C

 

3.22

A

推式子,需要计算组合数前缀和

sum C(i,m) (i=0~n) =C(n+1,m+1)

sum C(n,i) (i=0~m) 莫队或分块预处理

B

推式子,选出一些无向边作为不在环上的边并依次定向。

C

网络流,每个点拆开,横纵之间连边,最小割

3.23

A

总状态数不多,可以数位 dp

C

构造

 

3.24

A

拆开式子,莫队

B

分类讨论+可持久化线段树+二项式定理

C

网络流

 

3.25

A

结论

B

网络流,但是不是直接建图。先假设所有 o. 都是自己修的,横竖每一个 xo. 的连续段如果满足一定条件就需要把一个替换成别人修的,要求之间有交点可以少替换一个,二分图匹配相交的两个。

C