![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dp
文章平均质量分 61
lhfl911
这个作者很懒,什么都没留下…
展开
-
hdu 5656 CA Loves GCD
CA Loves GCDTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Problem Description CA is a fine comrade who loves the party and people; inevitably she loves GCD (gr原创 2016-04-04 14:48:42 · 463 阅读 · 0 评论 -
POJ1155 TELE【树形dp(背包)】
Apple TreeTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 10035Accepted: 3338DescriptionWshxzt is a lovely girl. She likes apple very much. One day HX takes her to an apple tree. There are N n原创 2016-10-08 15:13:45 · 348 阅读 · 0 评论 -
POJ2486 Apple Tree【树形dp】
Apple TreeTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 10035Accepted: 3338DescriptionWshxzt is a lovely girl. She likes apple very much. One day HX takes her to an apple tree. There are N n原创 2016-10-07 21:08:55 · 306 阅读 · 0 评论 -
poj1185炮兵阵地【状压dp】
poj1185炮兵阵地 题意: n*m的地图(n<=100, m<=10),有H山地、P平原两种地形,平原上可以部署炮兵。炮兵伤害范围为横竖范围2格并且无视地形,问在保证互不伤害的情况下最多部署几个炮兵。老套路按行转移,炮兵伤害2格,当前行会受到前两行的影响,因此要用到三维,但三维时间空间都炸了。 考虑到炮兵互不伤害,2102^{10}中有很多非法状态,没必要开这么大,预处理出一行的原创 2016-10-06 16:51:33 · 354 阅读 · 0 评论 -
lightoj1021 Painful Bases【数位dp】
传送门:lightoj 1021题意: t组数据,每组给定进制base(2<=k<=16)、正整数k(1<=k<=20)和一个合法base进制数n,n中不含重复数字,求n的全排列中能被k整除的数的个数。数位dp, 注意状态表示#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using原创 2016-09-08 11:28:45 · 313 阅读 · 0 评论 -
hdu5816 多校7 Hearthstone【组合计数+dp】
题目链接:Hearthstone题目大意: 牌堆有n张奥术牌,奥术牌可以再从牌堆摸两张牌, m张伤害牌,伤害各为xix_i,初始从牌堆摸一张,问能不能本回合击杀给定hp的对手。(n+m<=20)如果n < m, 回合中能抽取的牌数为k-1张奥术牌, k张伤害牌, 枚举所有的伤害牌组合,如果 k张伤害和>= hp且k-1<=n,说明这种牌组能被抽到并且能击杀对手,计算出这种伤害组合的所有牌序组合数原创 2016-08-09 21:17:11 · 898 阅读 · 0 评论 -
hdu3555 Bomb 【数位dp+记忆化dfs】
题目链接:hdu3555 Bomb题意: t组样例,给正整数n(n<=263−1)(n<=2^{63}-1),输出[1, n]中包含”49”的数的个数。数位dp第一发; dp预处理出[0,10],[0,100]...[0,1020][0,10],[0,100]...[0,10^{20}] 的答案,根据n每位的值按情况累加即可; 注意n包括49的情况, 例如n=234950这种情况, 49之后不原创 2016-08-17 15:46:03 · 508 阅读 · 0 评论 -
hdu5781 多校5 ATM Mechine【概率dp】
题目链接: hdu5781题意: 有不超过k元钱,若取钱大于剩余,atm会报错,问在不超过w次报错下,取出所有钱的最小期望。题解: 设当前状态dp[i][j],i为最大钱数,j为剩余报错数, 若i > 0、 j > 0, 则dp[i][j] = minik=1(i−k+1i+1∗dp[i−k][j]+ki+1∗dp[k−1][j−1]+1)min^i_{k=1}(\frac{i-k+1}{i原创 2016-08-03 14:50:54 · 1052 阅读 · 0 评论 -
hdu5763 多校4 Another Meaning【kmp+dp】
题意: 给一个字符串和一个单词,问单词在串中的组合数。思路: 看到题想到了dp+kmp,推了一个别扭的转移方程,结果因为脑抽没过。。。 回头看了题解,比自己推得简单好多,而且发现不用kmp优化也不会超时。dp[i] 表示0-i串的组合数, dp[0] = 1, dp[i] = dp[i-1], (i-len+1, i)串匹配时 dp[i] += dp[i-len];题目传送门#incl原创 2016-07-29 14:53:05 · 253 阅读 · 0 评论 -
codeforces 580D Kefa and Dishes【状态压缩+dp】
题目大意: n个菜中选m个菜吃,每个菜有一个满意度aia_i,此外有k种情况:先吃xix_i再吃yiy_i会额外增加cic_i满意度。问最大满意度。思路: 数组dp[1<<<<n][n]第一维表示吃的菜,第二维表示最后吃的一个菜, 状态转移方程为:dp[i][j] = max(dp[i][j], dp[u][k] + map[k][j] + a[j]); 其中u为i去除第j个菜,k为u中最后原创 2016-05-06 19:34:27 · 292 阅读 · 0 评论 -
hdu 1520 Anniversary party 树形dp入门
题目大意: n个人参加聚会,编号1-n,上下属关系构成一棵树,其中每个人和直接上属不能同时参加,每人有个高兴度,问参加聚会的最大高兴度。思路: 树形dp即树上的dp, 根据孩子的状态推出父结点状态; dp[root][0]表示root作为祖节点的子树中root不参加的最大高兴度,dp[root][1]表示root参加的最大高兴度。则有 dp[root][0] = SUM max(dp原创 2016-05-12 17:50:17 · 276 阅读 · 0 评论 -
约瑟夫环【dp】
N个人坐成一个圆环(编号为1 - N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N =3,K = 2。2号先出列,然后是1号,最后剩下的是3号。思路: 简单想法可以直接摸拟,时间复杂度O(nk),数据规模大时会超时。运用递推思想。1~n循环,简化为0~n-1,处理更方便。第一次出列时,剩余k,k+1,…,n-1,0,1,…,k-2,原创 2016-04-04 16:41:07 · 1272 阅读 · 0 评论 -
hdu 5115 Dire Wolf【区间dp】
题目大意: n只狼排成直线,第i只狼基础攻击力为ai,辅助攻击力bi,杀死第i只狼会损耗a(i)+b(i-1)+b(i+1)点体力,问最少多少体力可以把狼全部杀死。思路: dp[i][j]表示杀死第i到第j只狼最少消耗,枚举k表示最后杀死的狼, 则有:dp[i][j] = min(dp[i][j], dp[i][k-1]+dp[k+1][j]+a[k]+b[i-1]+b[j+1])。 处理下原创 2016-04-16 17:04:41 · 380 阅读 · 0 评论 -
最大字段和问题
一、最大子段和 题目描述: N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。 例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。思路: 1.简单枚举,时间复杂度为O(n^3),优化一下可以到O(n^2)。 2.分治,复杂度为O(nlogn)。原创 2016-03-31 16:31:46 · 1879 阅读 · 0 评论 -
dp入门
dp原创 2016-03-30 17:32:05 · 972 阅读 · 0 评论