DP
邵光亮
要为自己喜欢的事情不留余力
展开
-
Codeforces 1353 E. K-periodic Garland(DP)
题意:给你一个长度为 nnn 的 010101 字符串和一个整数 kkk,每次操作你可以选择一个字符并改变其状态,要使字符串中相邻 111 的距离为 kkk,问最少需要操作几次。当前 i−1i - 1i−1 项合法时,第 iii 项为 000 ,那么前 iii 项必定合法当前 i−ki - ki−k 项合法时,第 i 项为 1 ,那么仅当第 i−ki - ki−k 为 111,且 i−k+1,i−1i - k + 1 , i - 1i−k+1,i−1 项为 000 时,前 iii 项合法。AC.原创 2020-05-16 08:33:21 · 146645 阅读 · 0 评论 -
AtCoder Beginner Contest 164 D.Multiple of 2019(DP)
从后往前 dpdpdp 。AC代码:const int N = 2e5 + 10;int n, m;string s;ll ans, res, now;int cnt[N];int main(){ cin >> s; int len = s.size(); mem(cnt, 0); cnt[0] = 1; res = 1; ans = 0; now =...原创 2020-04-29 10:57:54 · 139062 阅读 · 0 评论 -
Codeforces 1341 D. Nastya and Scoreboard(dp)
题意:一个 nnn 个数字的计数器,每一个数字都是由七个灯管组成,现在给出每个数组的初始显示情况,问再点亮 kkk 个灯管的话能显示的最大的数是多少,如果不能构成一串数字,就输出 −1-1−1。预处理 0 90~90 9 对应数码位字符串状态成整数,dpdpdp 从最后一位数码位往前构造到第 iii 位数字时点亮 jjj 根灯管能否构造出数字,1−n1-n1−n 第 i...原创 2020-04-24 17:58:05 · 138004 阅读 · 0 评论 -
Codeforces1221 D. Make The Fence Great Again(DP)
题意:给定一串数字,现在你要把这串数字变为相邻数字不相等的一串数字,变化方法为:对某个位置的数+1(可加无限多次),且有一定的花费,每个位置花费不同,问最小花费。我们很清晰的知道每个数字最多只能加两次,为什么呢?因为加入 aia_iai 和 ai+1a_{i + 1}ai+1 相等,加入这次我们改变 aia_iai ,那么 ai+=1a_i += 1ai+=1 ;加了之后如果形成了 ...原创 2020-04-01 08:28:54 · 137003 阅读 · 0 评论 -
Codeforces 1324 E. Sleeping Schedule(DP)
题意:nnn 个时间间隔,一天共有 hhh 小时,每次睡 aia_iai 或者 ai−1a_{i-1}ai−1 段时间,如果在 lll 和 rrr 段时间入睡 那么满意度 +1+1+1 ,问满意度最高多少用 dp[i][j]dp[i][j]dp[i][j] 表示在第 iii 段在第 jjj 小时睡觉的最大满意值 。然后直接 dpdpdp 即可。AC代码:const int N = 2...原创 2020-03-14 08:33:03 · 146404 阅读 · 0 评论 -
Codeforces 1312 E. Array Shrinking(区间dp+线性dp)
题意:给一个序列,相同的两个 xxx 可以合并成 x+1x+1x+1,问最后最少能剩下多少个元素。dp[l][r]dp[l][r]dp[l][r]表示 l−rl-rl−r 这个区间最终剩下几个数,然后枚举区间长度,再从每次枚举长度的过程中来一次线性 dpdpdp。AC代码:const int N = 5e2 + 5;int n;ll dp[N][N], a[N][N];int ma...原创 2020-03-10 19:46:14 · 143674 阅读 · 0 评论 -
2020 CCPC-Wannafly Winter Camp Day3 C 无向图定向 (状压DP)
题目描述火山哥手里有一个 n{n}n 个点 m{m}m 条边的无向图。现在,火山哥请你把无向图的每条边确定一个方向,使之成为一个 DAGDAGDAG,并且最小化最长路的长度。这里一条路径的长度指的是经过边的数量。输入描述:第一行两个整数 n,mn,mn,m,分别表示图的点数和边数。接下来 mmm 行,每行两个正整数 u,vu,vu,v,表示一条无向图。输入数据保证无重边无自环,点编号...原创 2020-02-23 16:48:52 · 635 阅读 · 0 评论 -
Codeforces 1307 C. Cow and Message(DP)
题意:给你一个字符串,让你找出其中出现最多次数的子串出现的次数。题目中所说的子串是等差数列的子串,也就是说下标应该是等差数列。如果出现次数最多的隐藏字符串的长度大于 222,则必须存在一个恰好是长度2的相同倍的字符串。 不会有任何碰撞。 因此,我们只需要检查长度为 111 和 222 的字符串。检查长度为 111 的字符串很容易。 要检查长度为 222 的字符串,我们可以从左到右遍历 SS...原创 2020-02-18 18:19:14 · 474 阅读 · 0 评论 -
Codeforces 1303 E. Erase Subsequences(DP)
Description:You are given a string sss. You can build new string ppp from sss using the following operation no more than two times:choose any subsequence si1,si2,…,siks_{i_{1}},s_{i_{2}},…,s_{i_{k}}...原创 2020-02-13 19:49:23 · 641 阅读 · 1 评论 -
CodeForces 1288C(DP)
Description:You are given two integers nnn and mmm. Calculate the number of pairs of arrays (a,b)(a,b)(a,b) such that:the length of both arrays is equal to mmm;each element of each array is an ...原创 2020-01-15 10:01:06 · 625 阅读 · 0 评论 -
CodeForces 1249E By Elevator or Stairs? (dp)
Description:\quadYou are planning to buy an apartment in a n-floor building. The floors are numbered from 111 to n from the bottom to the top. At first for each floor you want to know the minimum tot...原创 2019-12-10 11:20:58 · 214 阅读 · 0 评论 -
CodeForces1265E Beautiful Mirrors(dp)
Description:\quadCreatnx has n mirrors, numbered from 111 to nnn. Every day, Creatnx asks exactly one mirror “Am I beautiful?”. The i−thi-thi−th mirror will tell Creatnx that he is beautiful with pro...原创 2019-12-06 18:21:55 · 427 阅读 · 1 评论 -
codeforces1152D Neko and Aki's Prank(DP)
给定一个数字n,构造一个长度为2n的括号序列,每个‘( ’都能在其右边找到唯一对应的‘ )’则为合法序列,根据所有合法情况建一棵树,现有一个边集S满足集合内所有边均无公共点,求该边集的最大值(对1e9+7取模):用dp[i][j][k]表示从 剩余i个左括号,j个右括号往下走能得到的max,k=0表示这个点与父节点的边不选,1表示要选。当i==j时,只能选用左括号,dp[i][j][0...原创 2019-11-19 21:02:10 · 411 阅读 · 0 评论 -
CodeForces1253E Antenna Coverage(DP)
题意:n个线段,每个线段有覆盖面积,你可以将线段左右扩展长度1,花费1单位。求最少花费使得线段被完全覆盖。dp[pos] :从1到pos已覆盖,要覆盖pos+1到m最小花费 起点dp[len]=0 枚举pos 由dp含义可知 dp[pos]=len-pos(pos处已覆盖,要继续覆盖 可以pos为起点扩张,len-pos为最大值)状态转移: 枚举天线 若pos+1处已位于某天...原创 2019-11-18 20:51:58 · 339 阅读 · 0 评论 -
51nod1376 最长递增子序列的数量(cdq优化dp)
数组A包含N个整数(可能包含相同的值)。设S为A的子序列且S中的元素是递增的,则S为A的递增子序列。如果S的长度是所有递增子序列中最长的,则称S为A的最长递增子序列(LIS)。A的LIS可能有很多个。例如A为:{1 3 2 0 4},1 3 4,1 2 4均为A的LIS。给出数组A,求A的LIS有多少个。由于数量很大,输出Mod 1000000007的结果即可。相同的数字在不同的位置,算作不同的...原创 2019-10-16 18:31:15 · 224 阅读 · 1 评论 -
HDU2825 Wireless Password (AC自动机+状态压缩DP)
Problem DescriptionLiyuan lives in a old apartment. One day, he suddenly found that there was a wireless network in the building. Liyuan did not know the password of the network, but he got some im...原创 2019-10-14 20:23:54 · 304 阅读 · 0 评论 -
HDU2296 Ring(AC自动机+DP)
Problem DescriptionFor the hope of a forever love, Steven is planning to send a ring to Jane with a romantic string engraved on. The string's length should not exceed N. The careful Steven knows Ja...原创 2019-10-14 19:29:23 · 196 阅读 · 0 评论 -
51nod1158
题目描述:给出1个M*N的矩阵M1,里面的元素只有0或1,找出M1的一个子矩阵M2,M2中的元素只有1,并且M2的面积是最大的。输出M2的面积。收起输入第1行:2个数m,n中间用空格分隔(2 <= m,n <= 500)第2 - N + 1行:每行m个数,中间用空格分隔,均为0或1。输出输出最大全是1的子矩阵的面积。输入样例3 31 1 0...原创 2019-10-13 15:58:31 · 216 阅读 · 0 评论 -
HDU2457DNA 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 con...原创 2019-10-13 15:28:32 · 183 阅读 · 0 评论 -
P1472 奶牛家谱 Cow Pedigrees(DP)
题目描述农民约翰准备购买一群新奶牛。 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛。这些奶牛间的关系可以用二叉树来表示。这些二叉树总共有N个节点(3 <= N < 200)。这些二叉树有如下性质:每一个节点的度是0或2。度是这个节点的孩子的数目。树的高度等于K(1 < K < 100)。高度是从根到最远的那个叶子所需要经过的结点数; 叶子是指没有孩子的节点...原创 2019-06-25 23:27:17 · 602 阅读 · 0 评论 -
HDU2845 Beans
DescriptionBean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the ...原创 2019-03-28 22:43:44 · 648 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping!(最大上升子序列)
DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.T...原创 2019-03-27 22:39:54 · 647 阅读 · 0 评论 -
HDU - 1978 How many ways (DP)
Description这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m)。游戏的规则描述如下:1.机器人一开始在棋盘的起始点并有起始点所标有的能量。2.机器人只能向右或者向下走,并且每走一步消耗一单位能量。3.机器人不能在原地停留。4.当机器人选择了一条可行路径后,当他走到这条路径的终点时,他将只有终点所标记的能量。如上图,机器人一开始在(1...原创 2019-03-25 16:52:02 · 771 阅读 · 0 评论 -
最大子序列(区间求和)
DescriptionGiven a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14....原创 2019-03-24 23:01:35 · 1492 阅读 · 0 评论 -
POJ1018 Communication System(dp)
DescriptionWe have received an order from Pizoor Communications Inc. for a special communication system. The system consists of several devices. For each device, we are free to choose from several m...原创 2019-03-17 22:11:17 · 527 阅读 · 0 评论 -
hdu 4745 Two Rabbits(最长回文子序列DP)
DescriptionLong long ago, there lived two rabbits Tom and Jerry in the forest. On a sunny afternoon, they planned to play a game with some stones. There were n stones on the ground and they were arr...原创 2019-04-11 22:25:22 · 687 阅读 · 0 评论 -
HDU 4489 The King’s Ups and Downs(递推)
DescriptionThe king has guards of all different heights. Rather than line them up in increasing or decreasing height order, he wants to line them up so each guard is either shorter than the guards n...原创 2019-04-09 23:49:19 · 791 阅读 · 6 评论 -
POJ1170 Shopping Offers(五维背包or状压dp)
DescriptionIn a shop each kind of product has a price. For example, the price of a flower is 2 ICU (Informatics Currency Units) and the price of a vase is 5 ICU. In order to attract more customer...原创 2019-04-09 21:07:25 · 788 阅读 · 0 评论 -
HDU4283 You Are the One(区间DP)
Description The TV shows such as You Are the One has been very popular. In order to meet the need of boys who are still single, TJUT hold the show itself. The show is hold in the Small hall, so it a...原创 2019-04-09 19:37:47 · 639 阅读 · 0 评论 -
POJ2955 Brackets (区间DP)
DescriptionWe give the following inductive definition of a “regular brackets” sequence:the empty sequence is a regular brackets sequence, ifsis a regular brackets sequence, then (s) and [s] are...原创 2019-04-09 00:20:48 · 636 阅读 · 0 评论 -
ZOJ2042 Divisibility(dp)
DescriptionConsider an arbitrary sequence of integers. One can place + or - operators between integers in the sequence, thus deriving different arithmetical expressions that evaluate to different va...原创 2019-04-02 22:04:17 · 575 阅读 · 0 评论 -
HDU1176天上掉馅饼(数塔问题)
Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,...原创 2019-04-01 23:37:55 · 2519 阅读 · 3 评论 -
POJ1384 Piggy-Bank(完全背包)
DescriptionBefore ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea beh...原创 2019-03-30 09:15:28 · 663 阅读 · 0 评论 -
HDU 2602 Bone Collector(01背包)
DescriptionMany years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …The b...原创 2019-03-29 23:52:29 · 473 阅读 · 0 评论 -
ZOJ3469 Food Delivery(区间dp)
DescriptionWhen we are focusing on solving problems, we usually prefer to stay in front of computers rather than go out for lunch. At this time, we may call for food delivery.Suppose there areNp...原创 2019-04-12 23:10:08 · 651 阅读 · 0 评论 -
CodeForces 1110D Jongmah (思维dp)
传送门题意:给出n个不大于m的数字,如果三个数字连续或者相等,则可以组成三元组。求最多可以组成多少三元组。思路:dp[i][j][k]表示前i个人有j个(i-1,i,i+1),k个(i,i+1,i+2)时三元组有多少个。状态转移方程dp[i][k][l]=max(dp[i][k][l],dp[i-1][j][k]+l+(a[i]-j-k-l)/3);ac代码:#i...原创 2019-04-29 16:46:28 · 660 阅读 · 0 评论 -
HDU2571 命运(DP)
Description穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关。要知道,不论何人,若在迷宫中被困1小时以上,则必死无疑!可怜的yifenfei为了去救MM,义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧!命运大迷宫可以看成是一个两维的方格阵列,如下图所示:yif...原创 2019-03-29 20:24:22 · 699 阅读 · 0 评论