
DP
文章平均质量分 64
slicer
生命不息,奋斗不止
展开
-
Live Archive 6705 Little Tiger vs. Deep Monkey
Regional 2013::Asia - Changchun C Live Arc原创 2014-10-10 10:57:54 · 854 阅读 · 0 评论 -
code forces 399B Red&Blue Balls
code forces Marck.1.2014 B 我特别想说这像是个记忆话搜索DP,可是看它的难度,也就是个水题打表……题目大意:有两种球(蓝色Blue和红色Red),一个栈,定义一组操作如下,(1)while(栈顶的球是红色)pop();(2)把栈顶的蓝球换成红的;(3)push(蓝球)至n个;求这样的操作原创 2014-03-03 21:31:33 · 1038 阅读 · 0 评论 -
hdu 2041 超级楼梯
hdu 2041 超级楼梯 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2041题目分析:类完全背包水。code:#includeint main(){ int i,t,a[45]={0,1,1}; for(i=3;i<45;i++) { a原创 2014-03-05 16:06:16 · 900 阅读 · 0 评论 -
hdu 1085 Holding Bin-Laden Captive!
hdu 1085 Holding Bin-Laden Captive! 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1085题目大意:拉登玩数学游戏。有三种硬币,1分、2分和5分,每种硬币数量给出,问无法凑出的价值最小是多少。题目分析:很明显这是一道母函数的题,当然多重背包也可以。co原创 2014-02-17 15:34:13 · 707 阅读 · 0 评论 -
hdu 2844 Coins
hdu 2844 Coins 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2844题目大意:有n种硬币,给出价值上限m,给出这n中硬币的价值和数量,求价值上限内的价值组合数。题目分析:看起来像是个不设重量的多重背包,求组合数可以与母函数结合。code:#include#includeint m原创 2014-02-16 18:24:50 · 664 阅读 · 0 评论 -
hdu 1171 Big Event in HDU
hdu 1171 Big Event in HDU 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1171题目大意:分家,重型设备什么的没法一劈两半,所以要按价值来尽量分成相近的两堆(相等当然最好)。题目分析:多重背包,价值即重量。code:#include#includeint max(int原创 2014-02-17 11:38:39 · 673 阅读 · 0 评论 -
hdu 1267 下沙的沙子有几粒?
hdu 1267 下沙的沙子有几粒? 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1267题目分析:可以算是DP么?说是递推还差不多,不难。dp[i][j]表示有i个H和j个D时的解,只需要考虑当前是加了一个H还是D,如果是D,那么种数就是a[i][j-1],H的话就是a[i-1][j]。那么状态转移方程就是dp[i[原创 2014-02-27 01:55:11 · 1060 阅读 · 0 评论 -
hdu 3535 AreYouBusy
hdu 3535 AreYouBusy 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535 题目大意:小A要在一段时间内做一些工作,给出工作大类的数量n、总时间t。共有0、1、2三大类工作,0是老板要求至少做其中一项的、1是小A自己想做,但最多原创 2014-02-26 17:27:57 · 836 阅读 · 0 评论 -
hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包第一弹) 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191题目分析:多重背包入门无坑code:#include#includeint max(int a,int b){ return a>b?a:b原创 2014-02-13 09:00:07 · 842 阅读 · 0 评论 -
hdu 1114 && poj 1384 Piggy-Bank
hdu 1114 Piggy-Bank 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114 题目大意:储蓄罐里有一些硬币,硬币重量已知,所有硬币种类(重量、价值)给出,问这堆硬币最少价值是多少。题目分析:标准的完全背包,略有不同之处是求最少价值。原创 2014-02-12 15:34:20 · 1217 阅读 · 0 评论 -
hdu 1683 Colour sequence
hdu 1683 Colour sequence 题目链接:题目大意:给出一个字符串,有一些card排成一列,每一张card上正反两面各写有一个字母(或*),问能否通过翻转card的方式使给出的字符串成为card上字母组成的字符串的子序列。题目分析:看起来很像最长公共子序列LCS,所以我就写了一个LCS版代码;其实更好的是用简单模拟来做。code1(LCS)原创 2014-03-11 16:44:42 · 745 阅读 · 0 评论 -
【进阶的汉诺塔】code forces 392B Tower of Hanoi
汉诺塔变形用到了记忆化搜索、递归……原创 2014-03-06 21:13:01 · 1167 阅读 · 0 评论 -
topcoder SRM 348 Div.1 LostParentheses
Problem Statement We have an arithmetic expression made up of positive integers, the + and - operators and parentheses. All the parentheses, however, have been erased by the cleaning staf原创 2014-07-13 17:58:41 · 1129 阅读 · 0 评论 -
poj 1458 Common Subsequence
poj 1458 Common Subsequence 题目链接:http://poj.org/problem?id=1458DP LCS题目大意:求两串的最长公共子序列。题目分析:无坑不拐弯,一般方法即可解决。code:#include#include#includeusing namespace std;int max(in原创 2013-08-08 18:21:43 · 611 阅读 · 0 评论 -
codeforces 446A DZY Loves Sequences
codeforces 446A DZY Loves Sequences DP原创 2014-07-18 16:56:37 · 1135 阅读 · 0 评论 -
POJ&&HDU 1579 ZOJ 1168 Function Run Fun
POJ&&HDU 1579 ZOJ 1168 Function Run Fun 题目链接:原创 2014-07-21 22:37:12 · 1022 阅读 · 0 评论 -
code forces 402B Trees in a Row
code forces 402B Trees in a Row 题目链接:http://codeforces.com/problemset/problem/402/B题目大意:皇家园丁奉命给英国女王造园,要造出一种奇特的景观,公园里有一行树,树高已分别给出,先要修改树高,使其满足公差为k的等差数列(递增)。一次操作课将一棵树修改成任意高度(虽然这显然不科学),问最少的操作原创 2014-03-18 19:20:21 · 1440 阅读 · 0 评论 -
hdu 1059&&POJ 1014 Dividing
hdu 1059 Dividing 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1059题目大意:有六种石头,价值分别为1~6,给出每种石头的个数,问能否分成价值相等的两份。题目分析:多重背包水无坑。code:#include#includeint main(){ int i,j,k原创 2014-03-15 11:19:52 · 764 阅读 · 0 评论 -
hdu 2118 Mouse
hdu 2118 Mouse 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2118 题目大意:一只中毒的老鼠要到河边喝水解毒,开始老鼠在地图左上角(0,0),给它定义四个走向分别是向右一单位(0,1),向下一单位(1,0),向右下走日字(1,2)、(2,1原创 2014-03-09 15:51:58 · 1460 阅读 · 0 评论 -
hdu 1681 Frobenius
hdu 1681 Frobenius 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1681background knoledge:啥叫线性表示?就是 有一个给定的数列a1,a2,……,an,如果能够找出一组数w1,w2,……,wn,使得p=w1*a1+w2*a2+……+wn*an,那么就说p能被a1~an这一组数原创 2014-03-11 20:51:39 · 948 阅读 · 0 评论 -
hdu 2159 FATE
hdu 2159 FATE(完全背包第一弹) 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159题目分析:用背包的思想考虑此题,那么怪就是物品,杀掉它就是装入背包。与之前做的简单0-1背包不同的是,每种怪有无数个(完全背包)、限制条件(cost)有两个(杀怪数量上限s和忍耐度)原创 2014-02-12 10:17:12 · 712 阅读 · 0 评论 -
hdu 2602 Bone Collector
hdu 2602 Bone Collector 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602题目大意:拾骨者捡骨头。题目分析:经典0-1背包无坑。code:#include#includeint max(int a,int b){ return a>b?a:b;}i原创 2014-02-11 10:28:38 · 834 阅读 · 0 评论 -
poj 1088 滑雪(记忆化搜索/LIS)
poj 1088 滑雪 题目链接:http://poj.org/problem?id=1088DFS + 记忆化搜索题目分析:看起来很简单,但找起点不容易。最高点?如果被最低点封起来,那答案就只有2了;枚举?必T.L.E!所以用记忆化搜索来优化就好了。dp数组存下每个点的解。code:#include#includeint m,n,most,map[1原创 2013-07-31 15:27:01 · 786 阅读 · 0 评论 -
UVa 111 History Grading(LIS第一弹)
UVa 111 History Grading题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=47DP LIS题目大意:历史考试中常会碰到“将历史事件按发生时间排序”这样的题目,现有两种评分标准,1、第i件事排在i号位上,得分;2、原创 2013-10-12 21:10:45 · 993 阅读 · 2 评论 -
sdjzuoj 1132 最长公共子序列
sdjzuoj 1132 最长公共子序列题目链接:http://sdjzu.acmclub.com/index.php?app=problem_title&id=147&problem_id=1132题目分析:RT,无坑,秒水过code:#include#include#includeusing namespace std;int max(int x,int y){原创 2013-09-06 23:58:50 · 634 阅读 · 0 评论 -
uva 10010 Longest Match
uva 10010 Longest Match题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=13&page=show_problem&problem=1041DP LCS题目大意:解密需求最大匹配长度题目分析:DP解LCS问题要从LCS的三个性质入手。若A[i原创 2013-08-07 21:10:28 · 788 阅读 · 0 评论 -
hdu 2084 数塔
hdu 2084 数塔 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084DP 水题目分析:经典数字三角形,前面做过一道poj1163,完全一样。code:#includemain(){ int i,j,t,n,a[105][105]; scanf("%d",&t); while(t原创 2013-08-06 20:49:35 · 594 阅读 · 0 评论 -
hdu2047阿牛的EOF牛肉串
hdu2047阿牛的EOF牛肉串 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2047这个题递归的思路没改出来,一直T.L.E,经高人指点,得用DP,思路简洁,且一条过。以下是代码:#include using namespace std; int main() { int n;原创 2013-01-26 16:26:00 · 829 阅读 · 0 评论 -
poj 1163 The Triangle
poj 1163 The Triangle 题目链接:http://poj.org/problem?id=1163简单DP题目大意:经典数字三角形题目分析:状态转移方程 a[ i ] [ j ]+=a[ i+1 ] [ j ]>a[ i+1 ] [ j+1 ]?a[ i+1 ] [ j ]:a[ i+1 ] [ j+1 ](i 递减,j从0递增)为核心算法。以下是代码:原创 2013-03-23 15:56:31 · 673 阅读 · 0 评论 -
hdu 1003 Max Sum
hdu 1003 Max Sum 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003dp 最大字段和(一维)题目大意:求数列的最大字段和。题目分析:注意一点,0个元素不算子段。还有,存在多个最大子段和时取起点靠前的。#include#include原创 2013-05-03 19:19:37 · 776 阅读 · 0 评论 -
poj 1141 Brackets Sequence(DP第一弹)
poj 1141 Brackets Sequence 题目链接:http://poj.org/problem?id=1141DP题目大意:一个字符串只有方括号和圆括号四种字符,规定合法序列,要求将输入序列修改成最短合法序列输出。合法序列定义: (1)空序列是一个合法的序列。 (2)如果S是一个合法序列,那么(S)和[原创 2013-07-22 19:55:35 · 749 阅读 · 0 评论 -
SDUTOJ 1130 拔河
SDUTOJ 1130 拔河 题目链接:http://sdjzu.acmclub.com/index.php?app=problem_title&id=147&problem_id=1130题目分析:将一个数组内元素拆成两个数组,使其差值尽量小,可以转化为01背包问题。总数已知,那么求出较小的,较大的也就自己出来了。较小的(或相等)的那个上界是总原创 2013-12-04 11:25:31 · 1021 阅读 · 1 评论 -
hdu 2955 Robberies
hdu 2955 Robberies 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955题目大意:劫匪Roy the Robber打算大干一票然后安度晚年,估计了n个银行的储备金总数,及其被抓概率(抢一次必然就全抢走,然后就要承担在这个银行被抓的危险了)。其母有些担心,给规定了个最大被抓概率忍受上限,我们要原创 2013-12-06 20:53:03 · 697 阅读 · 0 评论 -
UVa 10534 Wavio Sequence
UVa 10534 Wavio Sequence 题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=17&problem=1475&mosmsg=Submission+received+with+ID+13120764原创 2014-02-11 09:29:36 · 833 阅读 · 0 评论 -
hdu 1159 Common Subsequence
hdu 1159 Common Subsequence 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159DP LCS题目大意:最长公共子序列。题目分析:状态转移方程dp[i][j]=s[i-1]==s[j-1]?dp[i-1][j-1]+1:max(dp[i-1][j],dp[i][j-1]);。原创 2014-01-21 10:02:12 · 755 阅读 · 0 评论 -
hdu 1176 免费馅饼
hdu 1176 免费馅饼 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1176dp(类数字三角形)题目分析:将所有状态存下来,存成一个二维数组(一维时间,另一维是馅饼的位置),然后问题就转换成数字三角形的经典模式了。code:#include#includeint a[100001][12];int max原创 2014-01-20 21:28:52 · 652 阅读 · 0 评论 -
hdu 1087 Super Jumping! Jumping! Jumping!(LIS)
hdu 1087 Super Jumping! Jumping! Jumping!(LIS) 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087LIS题目大意:背景是一种特殊的跳棋,棋盘就是棋子就是一个数列,严格增序的元素之间可跳,求一个子列,使其和最大。题目分析:这似乎不能叫做LI原创 2014-01-20 14:54:20 · 828 阅读 · 0 评论 -
hdu 1231 最大连续子序列(最大子段和)
hdu 1231 最大连续子序列 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231简单dp题目分析:这个题是求最大子段和的加强版,要求输出段头尾元素,所以要设变量来记。大概思路就是向后遍历,求和,如果比历史最大和还要大,就记下来,如果和变成负的了,就从下一个元素重新计和。对头尾指针的操作大概是这样,如原创 2014-01-19 17:09:03 · 974 阅读 · 0 评论 -
SDUTOJ 1299 最长上升子序列
SDUTOJ 1299 最长上升子序列 http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1299DP LIS题目分析:直白LIS无坑code:#include#includeint main(){ int n,i,j,a[1009],dp[1009]=原创 2013-10-23 11:07:53 · 856 阅读 · 0 评论 -
sdutoj 1299 最长上升子序列
sdutoj 1299 最长上升子序列 题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1299DP LIS O(nlogn)第二遍做了,优化到nlogn了。code:#includeint main(){ int n,i,j,a[1010],dp[1原创 2014-01-22 21:31:34 · 998 阅读 · 0 评论