随笔分类 - dp
摘要:题: 题意:给定n组,每组ai个红果,bi个白果。还给定整数k,代表组成同一盆要达成的数目,同时组成同一盆的水果要么是来自同一组,要么就是有相同颜色,问最大能组成多少盆 分析:初步地,我们可以只是按照颜色来分组,那么答案就是suma/k+sumb/k,那么就剩下不足k个的红果和不足k个的白果,这时我
阅读全文
摘要:题:https://codeforces.com/contest/1337/problem/E 题意:给定长为n的字符串S和长为m的字符串T,有一个空字符串A,对S有俩种操作,1是将S的第一个字符放在A的首部,将S的第一个字符放在A的尾部,问有多少种构造序列能让A的前缀为T 分析:令dp[i][j]
阅读全文
摘要:题:https://atcoder.jp/contests/abc160/tasks/abc160_f 题意:给定一棵树,问以每个节点为开始的拓扑排序有多少个; 分析:全部的情况为n!,那么得在其中挑选出合法的,因为要求拓扑排序,所以要求根要为第一个节点,所以是从sz[u]选出1个方案,即乘上C(s
阅读全文
摘要:题:https://codeforces.com/contest/1324/problem/F 题意:给节点数为n的树,每个节点有0和1,对于每个节点输出他的ans,这个ans是砍掉一些子树后0节点的数目减去1节点的数目(得留下自己) 分析:我们按照统计子树的size一样,来dfs这个树,对于父亲u
阅读全文
摘要:题:https://codeforces.com/contest/1312/problem/E 题意:对于一个序列可以选相邻俩个数进行合并成其数+1,问合成后的最小序列长度是多少 分析1:设f[][]表示区间[i,j]区间向前合成的最小长度,简单的模拟一下即可求出,最后dp往后考虑合并 #inclu
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意:问字符串的有多少个回文子序列(n<=10000) 分析:区间dp,考虑dp[i][j]表示i~j 位置含有多少个回文子序列,转移方程如代码 #include<bits/stdc++.h> usin
阅读全文
摘要:题意:给n个人,从中挑出p个参赛人,k个观众,每个人作为观众有对应的贡献,每个人作为参赛人在不同位置上也有对应的贡献,问最大贡献是多少? 分析:考虑dp[i][j],表示前 i 个人选的参赛人状态为 j 的最大贡献( j 中状态为1 表示第 i 个人考虑作为参赛人)。 假设我们已经选好了参赛人的贡献
阅读全文
摘要:题:https://www.luogu.com.cn/problem/P3144 题意:给出n个点m条边的图,逐一删除每个指定点,问每次删除前图是否连通。 分析:把指定的序列反过来做就行,对于每个加进来的点,看原本集合中有无进来点的连边,有就用并查集联系起来,表示俩者所处连通块连通,(正着切断,反着
阅读全文
摘要:题:https://codeforces.com/contest/1303/problem/E 题意:给定一字符串s,问能否用最多俩次机会抽取出子序列组成目标字符串t 分析:先判断能否一次就构成目标t,否则我们枚举t,使其分为左右俩部分t1,t2,然后查询能否构成s,设dp[i][j]位s匹配到i位
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=2457 题意:给定n个模式串,给定一个主串,问最替换掉多少个字符使主串不包含模式串或输出“-1”表示没有可行的方案; 分析:给n个模式串建立ac自动机,考虑dp[i][j],表示长度为 i , j 节点变换为主
阅读全文
摘要:题意:给出n,和m表示有n天,m块区域,每块区域都有一定数论的动物数量,k表示可以在这一天中观察[x,max(x+k-1,m)]的区域内的动物,有俩台相机,一台只能在偶数天用,另一台则是在奇数天用,每用一次就得在那个区域内待俩天,相邻的要是有重复的区域,该区域内的动物数只计数一次,问最多有可能的动物
阅读全文
摘要:题:https://ac.nowcoder.com/acm/contest/3004/J 分析: 这个题首先先求一遍最短路,这个求最短路的过程可以用flord实现。 接下来类似最长上升子序列,但是显然这个好像不太好优化,考虑暴力m^2转移,由于地图的大小只有200,所以200步以后可以转移到任意位置
阅读全文
摘要:题:https://codeforces.com/contest/1099/problem/F 题意:给定一个树,每个节点有俩个信息x和t,分别表示这个节点上的饼干个数和先手吃掉这个节点上一个饼干的的时间。然后有先手和后手俩个人。 ◉先手可以这么操作:在规定总时间T到达某个节点然后一定要返回根节点1
阅读全文
摘要:题:https://codeforces.com/contest/1061/problem/C 题意:给你一个序列,我们求他们子序列的个数,这个子序列有个限制就是每一个子序列上的值都必须是能整除他的下标,问有多少个 分析:考虑dp,我们先考虑二维的dp,定义dp[i][j]表示前i个数中,能从中提取
阅读全文
摘要:题:https://codeforces.com/contest/1082/problem/E 题意:给出n个数和一个数c,只能操作一次将[L,R]之间的数+任意数,问最后该序列中能存在最多多少个c 分析:考虑dp,dp[i]表示将该位置染成c的答案,那么将该颜色染成c肯定要和其他和这个位置值相同的
阅读全文
摘要:题:https://codeforces.com/contest/1253/problem/E 题意:给定n个信号源,俩个参数x和s,x代表这个信号源的位置,s代表这个信号源的波及长度,即这个信号源可以遍及[x-s,x+s]范围,然后你可以消耗一个代价来换取某个信号源的s加1, 给定m,问信号覆盖1
阅读全文

浙公网安备 33010602011771号