
dp
yjt9299
这个作者很懒,什么都没留下…
展开
-
牛客网Wannafly 21 大水题(dp)
链接:https://www.nowcoder.com/acm/contest/159/C来源:牛客网 题目描述现在给你N个正整数ai,每个数给出一“好数程度” gi(数值相同但位置不同的数之间可能有不同的好数程度)。对于在 i 位置的数,如果有一在j位置的数满足 j < i 且 ai=aj,则你可以将位于[i,j]闭区间内的序列评为“好序列”,然后获得∑gk(j≤k≤i)(此闭...原创 2018-08-04 10:24:17 · 246 阅读 · 0 评论 -
codeforces 919D Substring (记忆化搜索)(dp)
链接:http://codeforces.com/problemset/problem/919/D题意: 每个节点有个颜色,现在有n 个节点和m条边,现在要找出一条路径使得走过的点的颜色相同的数量最大。输出数量。可能出现环或者平行边。如果答案为inf 输出-1。思路: 每个节点只受其后边节点(拓扑)的影响,意思是我如果能够确定该节点后边所有节点的状态,那么这个节点肯定也是能确定的,并且满足...原创 2018-09-11 11:13:09 · 209 阅读 · 0 评论 -
codeforces 935e Fafa and Ancient Mathematics
链接: http://codeforces.com/contest/935/problem/E题意: 现在给你一个字符串保证里边所有的数字都在0到9 范围内,并且每一个?对应着一对括号,一共有n+m 个?,并且其中的n为+ m个为 - ,你要合理的安排 + - 使得式子的值最大。 思路: 每个问号对应着一对括号,那么我们就可以把整个字符串看成一棵二叉树,每个叶子节点为 0 到 9 每个非...原创 2018-09-25 17:11:13 · 246 阅读 · 0 评论 -
codeforces 937d D. Sleepy Game
链接:http://codeforces.com/contest/937/problem/D题意: 现在有一个有向图,有一个起点S,S有一个小球,小A和小B轮流将小球挪到下一个可能挪到的位置,不能挪的人输,因为题目并没有说两个人足够聪明,所以只需要找到一个距离S为奇数并且是出度为0 的点就可以了。如果小A不能赢得话,就是尽量平局,如果小A能走进一个环,那么就可以平局。所以这个题就是 首先找...原创 2018-10-01 10:36:17 · 236 阅读 · 0 评论 -
codeforces 1051d D. Bicolorings (dp)
链接: http://codeforces.com/contest/1051/problem/D思路: 因为每一行最多只有2个,所以我们可以用01 分别表示白黑,那么对于每一列 直接dp dp[ i ][ j ][ k ] 表示当前是第i 列,现在有j个联通分量,k标志最后一列的状态,只有4种 分别为 00 01 10 11代码:#include<bits/stdc++.h&...原创 2018-09-21 12:50:37 · 653 阅读 · 0 评论 -
codeforces 1060E Sergey and Subway 树形dp
链接:http://codeforces.com/contest/1060/problem/E题意: 一棵树,现在在距离为2 的任意两点之间加一条边,问你加完边之后的任意两点之间的距离总和。思路: 树形dp ,一开始没有想到记录距离。。然后就没有做出来。 sz1[ u ][ 0 / 1] 分别表示u节点的孩子到这个节点距离为偶数和奇数的个数。 sz2[ u ][ 0 /1 ] 表...原创 2018-10-05 11:05:07 · 290 阅读 · 0 评论 -
code forces 1030E Vasya and Good Sequences
链接: http://codeforces.com/problemset/problem/1030/E思路: 如果区间[ L, R ] 想要满足good ,那么充分必要条件就是 1 [ L, R ] 的每一位1 的个数和是偶数, 2 [ L, R ]中的二进制1 最多的一个数的1 的个数的2倍不能超过sum 。 那么一个 longlong 的数,二进制1 最多 64 (1e18 62...原创 2018-10-06 20:32:47 · 226 阅读 · 0 评论 -
codeforces 1013e E. Hills
链接: http://codeforces.com/contest/1013/problem/E题意: 现在有n个山,高度为a ,如果想在一个山上建房子,那么必须要求该山严格高于两边的山,,你可以花费1的时间将一个山的高度降低1 ,问你建1 to (n+1)/2,分别所需要的时间。思路: 很容易想到,长度为x ,那么我当前的x点建不建 只和他前一个位置状态有关。那么我就可以设 dp[ i ...原创 2018-09-29 10:41:42 · 249 阅读 · 0 评论 -
codeforces 583D. Once Again...
D. Once Again...time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array of positive integers a1, a2, ..., an × T o...原创 2018-10-08 13:36:10 · 305 阅读 · 0 评论 -
codeforces 629c C. Famil Door and Brackets
链接: http://codeforces.com/contest/629/problem/C题意: 给你一个长度为m的字符串,字符串中只有 ( he ) ,你要加入一些括号使得长度为n 并且满足合法,合法就是 左括号总数等于右括号总数,并且要求在任意一位置左括号数量>= 右括号数量 思路: 参考: https://blog.youkuaiyun.com/chenzhenyu123456/ar...原创 2018-09-29 12:31:15 · 266 阅读 · 0 评论 -
zoj 4027 2018浙江acm省赛 Problem D. Sequence Swapping
链接: https://cn.vjudge.net/problem/ZOJ-4027思路: dp 第二次做还是没有做出来。。。不过的确是个好题。首先就是要确定dp状态的定义,这里我把dp[i][j] 定义为将第i个左括号移动到 位置>=j 的最大价值。其实可以发现每个左括号其实都是有一个可移动上下界范围的。我如果想要将第i个括号移动到位置j 那么肯定第 i+1 个括号在 >...原创 2018-10-31 16:35:05 · 387 阅读 · 0 评论 -
总和一定的博弈 记忆化搜索 uva 10891 hdu 4597 hdu 4753
UVA 10891 :题意: 现在给你一个序列,你可以从序列的左端开始取数,也可以从序列的右端开始取数,每次可以取连续个数,A先取,问A最多比B多取多少。思路: n为100 显然是区间dp,但是这里也可以用记忆化搜一下呀。这就是一个总和确定的博弈。遇到边界就是l>r ,或者 l==r 。记忆化代码:#include<bits/stdc++.h>using n...原创 2018-09-11 10:03:54 · 179 阅读 · 0 评论 -
hdu 5009(dp+ 剪枝+ 技巧)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=5009题意: 现在你有一个长度为n的空串,你要涂颜色,如果想要把l到r 涂上颜色,那么花费就是l到r的不同颜色数的平方值。思路: dp dp[i] 表示到位置i 最小花费为多少, 那么他可以从dp[j] (j<i) 转移过来。但是单纯地转移肯定是会TLE的,所以可以用双向链表来维护 不...原创 2018-09-07 10:58:07 · 381 阅读 · 0 评论 -
2018徐州网络赛B题 B. BE, GE or NE
思路: 记忆化搜索代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N =1005;int down,up;int s;int n;int a[N],b[N],c[N];int dp[N][305];int high,low;map<int ...原创 2018-09-09 19:55:57 · 527 阅读 · 0 评论 -
牛客多校第四场 B题 Interval Revisited
链接:https://www.nowcoder.com/acm/contest/142/B来源:牛客网 题目描述Chiaki has a long interval [1,m] and n small intervals [l1, r1], [l2,r2], ..., [ln, rn]. Each small interval [li,ri] is associated with a ...原创 2018-07-31 15:26:18 · 542 阅读 · 0 评论 -
hdu 6357 (求一个序列对另一个序列的最长可重复公共子序列)
Hills And ValleysTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 894 Accepted Submission(s): 279Special Judge Problem DescriptionTa...原创 2018-08-09 19:21:58 · 293 阅读 · 0 评论 -
hdu 6356 Glad You Came
Glad You CameTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 525 Accepted Submission(s): 161 Problem DescriptionSteve has an integ...原创 2018-08-06 20:16:33 · 290 阅读 · 0 评论 -
hdu 5890(01背包+ bitset 优化)
Eighty sevenTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others)Total Submission(s): 1605 Accepted Submission(s): 515 Problem DescriptionMr. Fib is a mathem...原创 2018-08-11 18:36:51 · 619 阅读 · 0 评论 -
2018上海大都会J题 Beautiful Numbers codeforces 55D Beautiful Numbers
链接:https://www.nowcoder.com/acm/contest/163/J来源:牛客网 题目描述NIBGNAUK is an odd boy and his taste is strange as well. It seems to him that a positive integer number is beautiful if and only if it is ...原创 2018-08-07 12:54:02 · 368 阅读 · 0 评论 -
hdu 5808 分治求解
Price List Strike BackTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others)Total Submission(s): 517 Accepted Submission(s): 175 Problem DescriptionThere are ...原创 2018-08-13 11:10:12 · 248 阅读 · 0 评论 -
p1020 洛谷(简单 dp)
题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是 \le 50000≤50000 的正整数),计算这套系统最多能拦截多少...原创 2018-08-08 19:15:57 · 137 阅读 · 0 评论 -
codeforces 1027E. Inverse Coloring dp
E. Inverse Coloringtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given a square board, consisting of nn rows and nn co...原创 2018-08-22 23:29:53 · 404 阅读 · 0 评论 -
hdu 5534 Partial Tree ( 完全背包 )
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5534题意: 给你n个点,你来组成一棵树,但是树的价值由节点的度来决定,节点的度对应的价值给出。思路: 树上的每个节点度为1 ,并且整棵树的度为 2*n-2 ,所以就相当于选择若干个点来使得度为 n-2 就可以了。选择的点的个数一定不会超过n个,所以就可以转化为完全背包了。但是在转移的时候,我...原创 2018-08-31 13:34:11 · 167 阅读 · 0 评论 -
codeforces 607B(记忆化dp,区间dp)
链接: http://codeforces.com/problemset/problem/607/B题意: 现在给你一个序列,你可以拿走一个连续的子串,如果这个子串是回文串,花费为1, 剩下的接起来,直到拿完,求最小花费。思路: 区间dp呀。 用记忆化更好想一点。dp[ l ][ r ] 表示l到r 的最小花费。那么边界条件? 如果当前的l r 是一个回文串,那么就可以直接返回了,花费为1...原创 2018-09-12 00:12:09 · 258 阅读 · 0 评论 -
zoj 3543 E - Number String
链接:https://cn.vjudge.net/contest/264706#problem/E思路:很容易就可以想到dp来做,一开始想到的是用dp[ i ][ j ] 表示长度为i 末尾元素为j 的序列,但是其实可以发现这样表示根本就没有办法向下推。然后就gg 了,其实这个题 dp[ i ][ j ] 表示的是长度为 i 末尾元素为 j 的(1到 i )的符合条件的全排列方式,这样就可以完...原创 2018-11-01 12:33:05 · 377 阅读 · 0 评论