![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
Nightmare丶
登高必自卑,行远必自迩
展开
-
Codeforces - 1303E. Erase Subsequences
题意:给出两个字符串S和T,最多对S串操作两次,每次操作从S串中选择一个子序列加到字符串P中,并将该子序列从S中删去,P最初为空串,问能否让P = T?题解:将T串切成两段A和B段,因为可能只需要一次操作,所以A串可以为空然后考虑dp判断让dp[i][j]表示现在已经匹配完成了A串的前i个字符,B串的前j个字符,当前在S串的哪个位置,如果选择字符与A[i + 1]相等,那么转移到S串的下一个与A[i + 1]相等字符的下标即可,B串同理,如果选择字符与B[j + 1]相等,那么转移到S串的下一个与原创 2020-11-11 21:44:21 · 170 阅读 · 0 评论 -
True Liars POJ - 1417
题意:有 p 个好人和 q 个坏人,好人永远说真话,坏人永远说假话。现给出一组话,问能否唯一确定每个人是好人还是坏人。题解:当 a 说 b 是好人时,如果 a 是好人,那么 b 也应该是好人,如果 a 是坏人,那么 b 也应该是坏人当 a 说 b 是坏人时,如果 a 是好人,那么 b 就应该是坏人,如果 a 是坏人,那么 b 就应该是好人那么输入的 opt = "yes"的时候,a 和 b 就应该属于同一个阵营的,否则 a 和 b 应该不属于同一阵营,用并查集维护每个集合中的人即可,但是我们还原创 2020-10-30 18:11:53 · 95 阅读 · 0 评论 -
P3387 缩点
题目描述给定一个 n 个点 m 条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。输入格式第一行两个正整数 n,m第二行 n 个整数,依次代表点权第三至 m+2 行,每行两个整数 u,v,表示一条 u→vu\rightarrow vu→v 的有向边。输出格式共一行,最大的点...原创 2020-02-11 23:06:37 · 154 阅读 · 0 评论 -
P2766 最长不下降子序列问题
题目链接题解:1.最长不下降子序列,直接n^2 dp求出即可2.最多可取出多少个长度为s的不下降子序列,根据dp数组建边跑最大流,具体建边:超级源点与dp[i]=1的点相连,dp[i]=s的点与终点相连,将每个点拆分成两个点,保证每个下标的值都只会被用一次就OK了3.x1和xn可以多次使用,最多可取出多少不同的长度为s的不下降子序列,只需要将x1的点与源点相连的边和与自己出点相连的边改成...原创 2020-01-28 16:47:36 · 270 阅读 · 0 评论 -
HDU 4756 Install Air Conditioning
题意:有一个n个点的图,现在让某两个点之间的边不存在,问所有情况中最小生成树的最大值题解:和HDU 4126差不多的题目,先求最小生成树,对每个点跑一遍dfs,求出删除u->v边再重新连接的边中其中有一个点为tag的最小边长,然后枚举答案即可。AC代码:#include<bits/stdc++.h>using namespace std;const int MAX...原创 2020-01-20 21:27:24 · 100 阅读 · 0 评论 -
HDU 4126 Genghis Khan the Conqueror
题意:给你n个点,m条边的图,有Q次询问,每次询问输入u,v,w,表示将u->v的边权替换成w后(w一定不小于替换前的值),最小生成树的权值和为多少,求Q次询问的平均值(替换只在当前询问有效)题解:可以先处理出MST,考虑每次替换的边是否在MST中,首先如果不在MST中肯定是最简单的,MST的权值和不变,所以我们只需要考虑添加的边在MST中的情况。容易想到,如果在MST中,那么将这条...原创 2020-01-20 20:06:11 · 139 阅读 · 0 评论 -
BZOJ 1009: [HNOI2008]GT考试(KMP+DP+矩阵快速幂)
Description阿申准备报名参加GT考试,准考证号为N位数X1X2…Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。他的不吉利数学A1A2…Am(0<=Ai<=9)有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am. A1和X1可以为0Input第一行输入N,M,K.接下来一行输入M位的数。 N<=10^9,M<=20...原创 2020-01-10 00:57:31 · 135 阅读 · 0 评论 -
BZOJ 3507: [Cqoi2014]通配符匹配(Hash+DP)
Description几乎所有操作系统的命令行界面(CLI)中都支持文件名的通配符匹配以方便用户。最常见的通配符有两个,一个是星号(“”’),可以匹配0个及以上的任意字符:另一个是问号(“?”),可以匹配恰好一个任意字符。现在需要你编写一个程序,对于给定的文件名列表和一个包含通配符的字符串,判断哪些文件可以被匹配。Input第一行是一个由小写字母和上述通配符组成的字符串。第二行包含一个...原创 2020-01-09 21:38:26 · 175 阅读 · 0 评论 -
P1220 关路灯(DP)
题目描述某一村庄在一条路线上安装了n盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少)。老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一盏一盏地关掉这些路灯。为了给村里节省电费,老张记录下了每盏路灯的位置和功率,他每次关灯时也都是尽快地去关,但是老张不知道怎样去关灯才能够最节省电。他每天都是在天亮时首先关掉自己所处位置的路灯,然后可以向左也可以向右去关灯。开始他以...原创 2019-12-25 14:58:05 · 285 阅读 · 0 评论 -
[noip2014] 飞扬的小鸟
题目描述:为了简化问题,我们对游戏规则进行了简化和改编:游戏界面是一个长为n,高 为m的二维平面,其中有k个管道(忽略管道的宽度)。小鸟始终在游戏界面内移动。小鸟从游戏界面最左边任意整数高度位置出发,到达游戏界面最右边时,游戏完成。小鸟每个单位时间沿横坐标方向右移的距离为1,竖直移动的距离由玩家控制。如果点击屏幕,小鸟就会上升一定高度X,每个单位时间可以点击多次,效果叠加;如果不点击屏幕...原创 2019-12-23 15:53:03 · 204 阅读 · 0 评论 -
BZOJ 1003: [ZJOI2006]物流运输(Dijktra+DP)
Description物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流公司希望能够订一个n天...原创 2019-12-12 00:16:22 · 140 阅读 · 0 评论 -
HDU 2457 DNA repair(AC自动机+DP)
Problem DescriptionBiologists finally invent techniques of repairing DNA that contains segments causing kinds of inherited diseases. For the sake of simplicity, a DNA is represented as a string conta...原创 2019-12-05 19:48:29 · 149 阅读 · 0 评论 -
BZOJ 2806: [Ctsc2012]Cheat(SAM+单调队列优化DP)
题目链接题解:首先用作文库建出广义SAMSAMSAM,然后对于每次询问我们可以二分最长长度LLL,预处理出一个maxlenmaxlenmaxlen数组表示当前在字符串S的第iii个字符在广义SAMSAMSAM上能匹配的最长长度,考虑怎么checkcheckcheck,设dp[i]dp[i]dp[i] 表示当前处理到第iii个字符,前i个字符的最大匹配长度,容易发现,对i有贡献的区间位于(i−m...原创 2019-11-14 23:34:59 · 126 阅读 · 0 评论 -
P2453-最短距离(DP)
题意:源串中的单个字符可被删除(delete);被替换 (replace);被复制到目标串中去(copy);字符也可被插入(insert);源串中的两个相邻字符可进行交换并复制到目标串中去(twiddle);在完成其它所有操作之后,源串中余下的全部后缀就可用删至行末的操作删除(kill)。操作delete,replace,copy,insert,twiddle和kill中每一个都有一...原创 2019-11-25 12:35:26 · 233 阅读 · 0 评论 -
HDU 4758 Walk Through Squares (2013南京网络赛1011题,AC自动机+DP)
题意:有一个n×m的矩阵,有两种走法,每种走法都是一个包含D和R的序列,D表示向下走,R表示向右走,问从(1,1)走到(n,m)有多少方案是包含这两种走法的题解:我们用这两种走法建立AC自动机,然后在AC自动机上DP解决方案数问题,设dp[i][j][k][S]dp[i][j][k][S]dp[i][j][k][S]表示当前走了i个D,j个R,对应在AC自动机上的k点,此时已经包含的走法集合...原创 2019-11-25 20:06:03 · 109 阅读 · 0 评论 -
2018北京icpc区域赛 H - Approximate Matching(AC自动机+DP)
String matching, a common problem in DNA sequence analysis and text editing, is to find the occurrences of one certain string (called pattern) in a larger string (called text). In some cases, the patte...原创 2019-12-04 23:29:22 · 264 阅读 · 0 评论