随笔分类 - 基本算法————DP
HDU 5119 Happy Matt Friends(DP || 高斯消元)
摘要:题目链接题意 : 给你n个数,让你从中挑K个数(K 2 #include 3 #include 4 #define LL long long 5 using namespace std ; 6 int a[41] ; 7 LL dp[41][1 = m)30 {3...
阅读全文
ZOJ 3829 Known Notation(贪心)
摘要:题目链接题意 :给你一个字符串,但是空格丢失,问你需要多少次操作能够让这个字符串可以看成合法的逆波兰式,例如12*3*4不是合法的逆波兰式,但是12*34*可以看成1 2*34*是正确的逆波兰式。思路 :当数字的个数比操作符的个数多的时候显然交换所用的操作次数少,只要把操作符往最后换即可。题目中隐含...
阅读全文
HDU 4803 Poor Warehouse Keeper(贪心)
摘要:题目链接题意 :屏幕可以显示两个值,一个是数量x,一个是总价y。有两种操作,一种是加一次总价,变成x,1+y;一种是加一个数量,这要的话总价也会相应加上一个的价钱,变成x+1,y+y/x。总价显示的为取整后的整数,小数部分忽略。给定一个目标x,y,初始状态为1,1,求最少需要多少次可以目标状态,不可...
阅读全文
URAL 1183 Brackets Sequence(DP)
摘要:题目链接题意 : 给你一串由括号组成的串,让你添加最少的括号使该串匹配。思路 : 黑书上的DP。dp[i][j] = min{dp[i+1][j-1] (sh[i] == sh[j]),dp[i][k]+dp[k+1][j](i 2 #include 3 #include 4 5 using ...
阅读全文
POJ 1947 Rebuilding Roads(树形DP)
摘要:题目链接题意 : 给你一棵树,问你至少断掉几条边能够得到有p个点的子树。思路 : dp[i][j]代表的是以i为根的子树有j个节点。dp[u][i] =dp[u][j]+dp[son][i-j]-1,son是u的儿子节点。初始是将所有的儿子都断开,然后-1代表的是这个儿子我需要了,不断了。 1 #i...
阅读全文
URAL 1152. False Mirrors (记忆化搜索 状压DP)
摘要:题目链接题意 :每一颗子弹破坏了三个邻近的阳台。(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害。思路 : 状压,数据不是很大,可以爆一爆,或者DFS下去就行,枚举每一种状态。 1 //1152 2 #include 3 #...
阅读全文
Codeforces Round #263 (Div. 2) D. Appleman and Tree(树形DP)
摘要:题目链接D. Appleman and Treetime limit per test :2 secondsmemory limit per test:256 megabytesinput :standard inputoutput:standard outputAppleman has a tre...
阅读全文
POJ 1185 炮兵阵地 (状压DP)
摘要:题目链接题意 : 中文题不详述。思路 :状压DP,1表示该位置放炮弹,0表示不放。dp[i][j][k],代表第 i 行的状态为k时第i-1行的状态为 j 时放置的最大炮弹数。只是注意判断的时候不要互相攻击到就可以了,还要与地形相适应。 1 #include 2 #include 3 #incl...
阅读全文
URAL 1586 Threeprime Numbers(DP)
摘要:题目链接题意 :定义Threeprime为它的任意连续3位上的数字,都构成一个3位的质数。 求对于一个n位数,存在多少个Threeprime数。思路 :记录[100, 999]范围内所有素数(标记的是该素数的每一位x1,x2,x3)。然后从n = 4往后,定义dp[i][x2][x3], i 表示到...
阅读全文
URAL 1167. Bicolored Horses (DP)
摘要:题目链接题意 :农夫每天都会放马出去,然后晚上把马赶入马厩,于是让马排成一行入马厩,但是不想马走更多的路,所以让前p1匹入第一个马厩,p2匹马入第二个马厩…………但是他不想让他的任何一个马厩空着,所有的马都必须入马厩。有两种颜色的马,如果 i 匹黑马与 j 匹白马同在一个马厩,不愉快系数是 i * ...
阅读全文
2014多校第七场1005 || HDU 4939 Stupid Tower Defense (DP)
摘要:题目链接题意 :长度n单位,从头走到尾,经过每个单位长度需要花费t秒,有三种塔:红塔 :经过该塔所在单位时,每秒会受到x点伤害。绿塔 : 经过该塔所在单位之后的每个单位长度时每秒都会经受y点伤害。蓝塔 : 经过该塔所在单位之后,再走每个单位长度的时候时间会变成t+z。思路 : 官方题解 : 1 #i...
阅读全文
Codeforces Round #260 (Div. 2) A~C
摘要:题目链接A. Laptopstime limit per test:1 secondmemory limit per test:256 megabytesinput:standard inputoutput:standard outputOne day Dima and Alex had an ar...
阅读全文
POJ 3254 Corn Fields(状压DP)
摘要:题目链接题意 : 一个m*n的矩形,1代表有草,0代表没有草,将牛放在有草的地方,牛与牛之间不能相邻。问有多少种方法。思路 : 状态压缩,从上往下枚举,如果第一行的确定了,那第二行中所有与第一行有草的地方相邻的格子便不能再用,以此类推,只要求出每行可用的方法数,dp[i][j] += dp[i-1]...
阅读全文
2014多校第四场1005 || HDU 4901 The Romantic Hero (DP)
摘要:题目链接题意 :给你一个数列,让你从中挑选一些数组成集合S,挑另外一些数组成集合T,要求是S中的每一个数在原序列中的下标要小于T中每一个数在原序列中下标。S中所有数按位异或后的值要与T中所有的数按位与的值相同,问能找出多少符合要求的组合。思路 :比赛的时候有点没有头绪,后来二师兄想出了状态转移方程,...
阅读全文
2014多校第二场1011 || HDU 4882 ZCC Loves Codefires (贪心)
摘要:题目链接题意 :给出n个问题,每个问题有两个参数,一个ei(所要耗费的时间),一个ki(能得到的score)。每道问题需要耗费:(当前耗费的时间)*ki,问怎样组合问题的处理顺序可以使得耗费达到最少。思路 : 如果有两个样例,e1=10,e2 = 20,k1 = 1 ,k2 = 3 ;先解决第一个问...
阅读全文
POJ 3034 Whac-a-Mole(DP)
摘要:题目链接题意 : 在一个二维直角坐标系中,有n×n个洞,每个洞的坐标为(x,y),0 ≤x,y 3 #include 4 #include 5 #include 6 #include 7 8 using namespace std ; 9 10 int mapp[30][30][20] ;...
阅读全文
POJ 1925 Spiderman(DP)
摘要:题目链接题意 :Spiderman从最左边的楼通过将蛛丝粘到后边的某座楼顶,然后荡过去,接着发射蛛丝荡过去,直到到达最后的楼。问最少发射几次蛛丝。思路 :从横坐标 j 能跳过建筑物 i 需满足: (p[i].x - j)*(p[i].x - j) 3 #include 4 #include 5 ...
阅读全文
2014多校第一场 E 题 || HDU 4865 Peter's Hobby (DP)
摘要:题目链接题意 : 给你两个表格,第一个表格是三种天气下出现四种湿度的可能性。第二个表格是,昨天出现的三种天气下,今天出现三种天气的可能性。然后给你这几天的湿度,告诉你第一天出现三种天气的可能性,让你求出最可能出现的天气序列 。思路 :定义第 i 天叶子湿度为hum[i]。第 i 天,天气为 j的最大...
阅读全文
2014多校第一场D题 || HDU 4864 Task (贪心)
摘要:题目链接题意 : 用N台机器,M个任务,每台机器都有一个最大工作时间和等级,每个任务有一个需要工作时间和一个等级。如果机器完成一个任务要求是:机器的工作时间要大于等于任务的时间,机器的等级要大于等于任务的等级。一台机器只能完成一个任务,一个任务只能被一台机器完成。每个机器完成一个任务公司能够获得50...
阅读全文
2014多校第一场J题 || HDU 4870 Rating(DP || 高斯消元)
摘要:题目链接题意 :小女孩注册了两个比赛的帐号,初始分值都为0,每做一次比赛如果排名在前两百名,rating涨50,否则降100,告诉你她每次比赛在前两百名的概率p,如果她每次做题都用两个账号中分数低的那个去做,问她最终有一个账号达到1000分需要做的比赛的次数的期望值。思路 :可以直接用公式推出来用D...
阅读全文