动态规划
WinJourn
Stay hungry stay foolish
展开
-
hdu2084 数塔 动态规划第二题
数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25898 Accepted Submission(s): 15621Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,原创 2015-04-21 17:11:54 · 896 阅读 · 0 评论 -
HDU5900QSC and Master (区间DP)
题意:就是给你一个序列,每一个key值对应一个value值,可以把两个连续的key值gcd!=1的对取出来,获取他们的价值,在它们连边的数字因此也变得连续了,问能获取的最大价值分析:枚举区间,如果两端不互素且中间部分全取,则dp[i][j]=dp[i+1][j-1]+value[i]+value[j];,判断全取就用前缀和判断,否则就枚举中间点k进行更新。分析转自:点击原创 2016-09-23 10:26:00 · 449 阅读 · 0 评论 -
区间DP练习
博客http://www.cnblogs.com/ziyi--caolu/archive/2013/08/04/3236035.htmllightoj 1422int dp[105][105] , a[105];// dp[i][j] i 到 j 最小穿多少衣服int main(){ int text,h = 0; int T = in(); for(原创 2016-09-24 10:38:02 · 415 阅读 · 0 评论 -
Codeforces189 A. Cut Ribbon(DP)
给你一个数n,和三个数a,b,c;可以从a,b,c中任意取任意次,问最多能用多少个a,b,c组成n,一定有结果。直接搜索一发。#include #include #include #include #include #include #include #include #include #include #include #include #include #原创 2016-09-13 20:49:58 · 610 阅读 · 0 评论 -
Codeforces 489B BerSU Ball
直接贪心做法,匹配最小的#include#include#include#include#include#include#include#include#include#include#include#include#define inf 0x3f3f3f3f#define mem(a,x) memset(a,x,sizeof(a))#define F first原创 2016-08-31 17:51:34 · 674 阅读 · 0 评论 -
CodeForce 710E - Generate a String(dp)
有一个空字符串,有两种操作,可以向字符串添加一个‘a’,或者删除一个'a',这种操作花费x,第二种操作,将当前字符串翻倍,花费y问达到长度为n的字符串,最少花费。优先队列的搜索,TLE正解是DP如果当前是奇数,则可由dp[i-1] + x dp[i/2] + x + y ,dp[i/2+1]+x + y获得如果是偶数,则可以由dp[i-1] +x ,dp[i/2]原创 2016-08-27 16:52:23 · 590 阅读 · 0 评论 -
HDU 1574 RP问题(DP)
题目链接 :HDU 1574RP问题Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 925 Accepted Submission(s): 330Problem Description在人类社会中,任何原创 2015-11-03 10:41:48 · 924 阅读 · 0 评论 -
hdu 1257最少拦截系统(贪心)
又做了一遍,有新的感觉。。尽管有的导弹(例如导弹A)随着敌方导弹高度的下降,A导弹也会下降,但是当遇到更高的导弹时,不代表导弹A就没用了。我们把样例稍作修改,最后两组数据改为154,1558 389 207 155 300 299 170 154 155如样例的第一发导弹 ,初始高度 389 然后下降到 207 , 然后 155,接着遇到了300,这时需要新增加导弹B,看似导弹A没用了其实不然。导弹A可以打下倒数第二的154 , 然后导弹B打下来最后的155.因此题目就可以这样求解。原创 2015-04-28 08:01:14 · 998 阅读 · 0 评论 -
HDU 1176免费馅饼(Dp)
题目链接:HDU 1176免费馅饼免费馅饼Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34049 Accepted Submission(s): 11633Problem Descripti原创 2015-10-29 10:09:15 · 497 阅读 · 0 评论 -
最长公共子序列(LCS)
定义:最长公共子序列,英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。而最长公共子串(要求连续)和最长公共子序列是不同的例如 下面两个单词中颜色标记出来的 data 就是 didactical 和 advanta原创 2015-09-22 12:58:15 · 752 阅读 · 0 评论 -
HDU 2602 Bone Collector (01背包问题 基础)
题目链接:HDU 2602 Bone Collector题目描述:输入 T 代表 T组数据, 每组数据一共3行,第一行输入n 和 m ,分别代表可选择物品的数量和背包的大小接下来两行每行 n 个数字, 第一行数字代表每个物品的价值,第二行代表每个物品的体积。问,给定背包能装物品的最大价值是多少。Sample Input15 101 2原创 2015-10-07 16:23:43 · 925 阅读 · 0 评论 -
hdu1207 汉诺塔II (DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207Problem Description经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆原创 2015-05-21 21:43:19 · 923 阅读 · 0 评论 -
hdu 1087 Super Jumping! Jumping! Jumping!(简单dp)
Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25805 Accepted Submission(s): 11416题目链接:http://ac原创 2015-05-02 20:45:22 · 580 阅读 · 0 评论 -
hdu 1466 计算直线的交点数 动态规划第一题
计算直线的交点数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8578 Accepted Submission(s): 3857Problem Description平面上有n条直线,且无三线共点,问这些直线原创 2015-04-21 18:12:06 · 1129 阅读 · 0 评论 -
最大连续子串和(DP)
问题 E: Equator时间限制: 1 Sec 内存限制: 64 MB提交: 15 解决: 8[提交][状态][讨论版]题目描述In a galaxy far away, the planet Equator is under attack! The evil gang Galatic Criminal People Cooperation is planning原创 2016-10-06 21:18:00 · 923 阅读 · 0 评论