2021年第46周总结

2021年第46周总结

11.15

CF 1530E

神仙构造题。

简言之就是通过重新排列一个字符串,使得该字符串产生的前缀数组中的最大值最小,其次满足字符串的字典序最小。需要讨论6种情况,具体情况看题解吧。

难点:构造。

11.16

CF 1605D

容易猜到,使得重新标号的最优情况为,节点 u u u和节点 v v v相连,那么 u u u的最高位和 v v v的最高位不同。考虑如何构造:

考虑二分图,一颗树的二分图有这样一个性质,最小节点数的那一组的节点数最大值不超过 n 2 \frac{n}{2} 2n,很显然,我们将 1 1 1 - n n n n n n个数按最高位分组,那么一定可以将一些组划分到较少节点数的那一组而不将组拆开,剩下的放进大的那一组即可,这样永远可以保证二分图的两个组直接没有最高位相同的。

利用树的二分图不大于 n 2 \frac{n}{2} 2n的性质可以对树进行染色。济南站也出过类似的题目。

难点:树的二分图+构造。

LeetCode 391

计算几何基础题,求出三个面积:

  1. 极小包围矩形的面积
  2. 所有矩形的面积和
  3. 所有矩形组成的平面图形的面积

如果三个面积相等就是True。

1和2是好处理的,3可以使用扫描线和线段树求面积。

思路:计算几何扫面线求面积。

AT 227E

一种特别的DP方式。

定义 d p [ i ] [ x ] [ e ] [ y ] dp[i][x][e][y] dp[i][x][e][y]为通过交换 x x x次前 i i i个字符有 e e e个E和 y y y个Y和 i − e − y i - e - y iey个K能组成的字符串的个数,要求转移不组与组不重复跨越,组内不跨越。那么剩下的字符串可以由 i x e y ixey ixey唯一确定。

考虑转移方式,由 d p [ i ] [ e ] [ x ] [ y ] dp[i][e][x][y] dp[i][e][x][y]可以转移到什么状态,我们枚举剩余字符的第一个 K E Y KEY KEY字符,保证组内不跨越,移动到第 i i i个位置组与组不重复跨越。

因为状态很少,我们使用map的方式记录状态,而不用数组的方式记录。

AT 227F

又是一种特殊的DP方式,连着两个DP题目。

我们想办法如何将这个DP化为我们会的经典的DP题目。

我们枚举这 K K K个数字的最小值 v v v,那么矩阵小于等于 v v v都可以视为 0 0 0,然后我们在这个矩阵DP计算到 ( n , m ) (n,m) (n,m)巧好吃 K K K个值的最小和即可,利用三维DP可以做到。

难点:枚举+DP。

11.17

学习了自适应辛普森积分。

11.18

济南站J题

边高斯消元边取模,然后和输入的取模的值比较,如果相等就是正号,不等就是负号。

使用插入向量法高斯消元可以不用寻找主元的过程。

11.19

[CQOI2014]通配符匹配

考虑将字符串和通配符分别考虑即可,令 d p [ i ] [ j ] dp[i][j] dp[i][j]为前 i i i个文本串中的字符匹配了前 j j j个模式串的通配符,另外,采用前推式DP的方式能够更好的优化时间。

NC 51003

二维Hash板子题。

11.20

[AHOI2005]病毒检测

[CQOI2014]通配符匹配的双倍经验,仍然是DP递推的自动机。

[SCOI2003]字符串折叠

括号序列组合问题区间DP套路题。

[AHOI2009]中国象棋

省选计数类题目,动态规划 d p [ r ] [ i ] [ j ] dp[r][i][j] dp[r][i][j]定义为到第 r r r行为止,有 i i i列有一个棋子,有 j j j列有两个棋子,然后对其进行DP即可。

[SCOI2007]压缩

区间DP好题,思路好像和题解区不一样,先计算 c d p [ l ] [ r ] cdp[l][r] cdp[l][r],意思为缓冲字符串为 s t r [ l … r ] str[l \ldots r] str[lr]的最小压缩长度。有两种转移,一是将缓冲字符串分成两个相同并在末尾加入R,或者直接将第 s t r [ e d ] str[ed] str[ed]加入到缓冲字符串当中。

然后计算 d p [ l ] [ r ] dp[l][r] dp[l][r]意思是压缩区间 [ l , r ] [l,r] [l,r]的最小长度,枚举最后一个缓冲区字符串,答案应该是 d p [ s t ] [ k ] + c d p [ k + 1 ] [ e d ] dp[st][k] + cdp[k + 1][ed] dp[st][k]+cdp[k+1][ed]

[SCOI2005]最大子矩阵

比较难调试的裸的DP题目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值