
动态规划
pullulate_99
这个作者很懒,什么都没留下…
展开
-
最长上升子序列+最长公共子序列
1.最长上升子序列的和Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43712 Accepted Submission(s): 20224Problem D原创 2018-01-22 23:34:59 · 288 阅读 · 0 评论 -
HDU-1003-Max Sum[dp]
#includeusing namespace std;const int maxn=100000+5;int a[maxn],dp[maxn];int main(){ int T; scanf("%d",&T); for(int ca=1;ca<=T;ca++) { int n; scanf("%d",&n);原创 2018-02-03 19:39:15 · 148 阅读 · 0 评论 -
【dp】哈理工-1116-选美大赛(最长上升子序列和打印位置)
选美大赛Description一年一度的哈理工选美大赛开始了.来自各个院系的N个美女们都在一起排成一排,然后从左到右给他们标号(1-N),评委叫兽开始观摩,由于身高高低都不同, 叫兽想从中选出尽可能多的人使得他们的身高从左到右依次递增,你能帮助叫兽吗?Input输入数据第一行一个数据表示美女的个数N(0接下来有N个原创 2018-02-03 22:18:58 · 322 阅读 · 0 评论 -
hrbust-1289-编辑距离(dp)
hrbust-1289-编辑距离(dp) dp想不太出来,参考大神代码 dp[i][j]表示a的前i个和b的前j个相同后的最短距离 int insert=dp[i][j-1]+1;//插入 int deletes=dp[i-1][j]+1;//删除 int replace;//替换#include<stdio.h>#include<string.h>#include<algor原创 2018-02-05 19:20:22 · 195 阅读 · 0 评论 -
哈理工OJ-2327-Collection Game【DP】
Collection GameDescription POI and POJ are pair of sisters, one is a master in “Kantai Collection”, another is an excellent competitor in ACM programming competition. One day, POI wants to visit PO...原创 2018-02-10 21:56:10 · 401 阅读 · 0 评论 -
【DP】哈理工oj-2181-无聊的小明
无聊的小明 Descriptio 小明想用两个字母a和b创造一个长度为n的单词,但是他又不希望连续的a超过p个,同时也不希望连续的b超过q个。那么小明有能创造出多少个不用的单词呢? Input 每组数据包括一行,三个整数n,p,q分别对应题意。 其中max(a, b) Output 输出不同的单词的个数。个数要对1000000007取模。 Sample Input 3 2 1原创 2018-02-06 15:24:18 · 409 阅读 · 0 评论 -
【DP】哈理工oj-1186-青蛙过河
【DP】哈理工oj-1186-青蛙过河 Description 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向原创 2018-02-07 19:46:40 · 291 阅读 · 0 评论 -
哈理工OJ—1598【DP最长公共子序列O(nlogn)】
哈理工1598-序列问题III Description 有俩个长度分别为p和q的序列A和B,每个序列的各个元素互不相同,且每个元素的大小都是1~(p和q中的最大值)之间的正整数。 俩个序列的第一个元素都为1,求出A和B的最长公共子序列长度。 Input 输入第一行为数据组数T(T<=20)。每组数据包括3行,第一行为2个整数p和q(1<=p,q<=10000), 第二...原创 2018-02-20 21:50:00 · 885 阅读 · 0 评论 -
POJ-1185-炮兵阵地【状压DP】
炮兵阵地 Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用”H” 表示),也可能是平原(用”P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的...原创 2018-03-03 19:40:40 · 240 阅读 · 0 评论 -
补题:牛客网暑期ACM多校训练营(第二场)-A-run
题目大意 白云在健身,每秒可以走1米或跑k米,并且不能连续两秒都在跑。 当它的移动距离在[L,R]之间时,可以选择结束锻炼。 问有多少种方案结束。题目描述 White Cloud is exercising in the playground. White Cloud can walk 1 meters or run k meters per second. Since Whit...原创 2018-07-21 21:50:57 · 537 阅读 · 1 评论 -
记忆化搜索POJ-1088(dfs+dp)
#include#include#include#include#includeusing namespace std;int dp[1111][1111];int r,c;int a[1111][1111];int dir[4][2]= {{0,1},{1,0},{0,-1},{-1,0}};int dfs(int x,int y){ int nex,ney;原创 2018-02-03 14:36:39 · 166 阅读 · 0 评论 -
HDU-1789-Doing Homework again(贪心)
Doing Homework againProblem DescriptionIgnatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If原创 2018-01-18 21:28:00 · 413 阅读 · 0 评论 -
2018年全国多校算法寒假训练营练习比赛(第二场)-E小G有一个大树【树的重心】
模板题题目描述 小G想要把自己家院子里的橘子树搬到家门口(QAQ。。就当小G是大力水手吧)可是小G是个平衡性灰常灰常差的人,他想找到一个这个橘子树的平衡点。怎么描述这棵树呢。。。就把它看成由一个个节点构成的树吧。结点数就代表树重。输入描述:多组数据输入输出,第一行包含一个整数n(3<=n<=1000)代表树的结点的个数以下n-1行描述(1-n)节点原创 2018-01-30 20:48:30 · 380 阅读 · 0 评论 -
【01背包学习】-HDU-2546
饭卡Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 36000 Accepted Submission(s): 12357Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额原创 2018-01-23 17:54:59 · 208 阅读 · 0 评论 -
POJ-3254-Corn Fields【状压dp】
Corn FieldsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 17755 Accepted: 9345DescriptionFarmer John has purchased a lush new rectangular pasture com原创 2018-01-31 16:03:06 · 234 阅读 · 0 评论 -
【多重背包】HDU-2191
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 33272 Accepted Submission(s): 13969Problem Description急!灾区的食物依原创 2018-01-24 14:30:32 · 192 阅读 · 0 评论 -
动态规划—完全背包问题
如果是第一种问法,要求恰好装满背包,那么在初始化时除了f[0]为0其它f[1..V]均设为-∞,这样就可以保证最终得到的f[N]是一种恰好装满背包的最优解。如果并没有要求必须把背包装满,而是只希望价格尽量大,初始化时应该将f[0..V]全部设为0。为什么呢?可以这样理解:初始化的f数组事实上就是在没有任何物品可以放入背包时的合法状态。如果要求背包恰好装满,那么此时只有容量为0的背包可能被价原创 2018-01-23 21:40:18 · 1654 阅读 · 0 评论 -
hdu-1248-完全背包
寒冰王座Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 19230 Accepted Submission(s): 10004Problem Description不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,原创 2018-01-24 15:32:55 · 215 阅读 · 0 评论 -
hrbust 1814 【01背包】
#includeusing namespace std;int main(){ int n,V; int dp[11111]; int c[11111],v[11111]; memset(dp,0,sizeof(dp)); while(~scanf("%d%d",&n,&V)) { for(int i=1; i<=n; i++原创 2018-01-24 18:40:24 · 176 阅读 · 0 评论 -
【动态规划入门】HDU-2084数塔
数塔Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗? Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 Output对原创 2018-01-17 01:40:42 · 264 阅读 · 0 评论 -
【dp】小乐乐想出门+小乐乐要下山
小乐乐想出门#include#include#includeusing namespace std;int m[11111][11111];int a[11111];int main(){ int n; while(~scanf("%d",&n)) { memset(m,0,sizeof(m)); memset(a,0,si原创 2018-02-01 21:23:30 · 161 阅读 · 0 评论 -
POJ1141-Brackets Sequence【DP思想+递归】
题解: dp [ i ] [ j ] 表示添加括号的个数, pos[ i][ j ] 表示 i , j 中哪个位置分开,使得两部分分别匹配。pos [ i ][ j ] 为-1的时候,说明i, j 括号匹配。初始值置dp [ i ] [ i ] = 1; 如果只有一个括号,那么匹配结果必然是差1。首先判断括号是否匹配,如果匹配,那么dp [ i ] [ j ] = dp[ i + 1] ...原创 2019-01-28 12:47:32 · 267 阅读 · 0 评论