![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 87
莫比乌斯灯泡
力争把题解写的好懂,错误之处请评论。
展开
-
HDU3692--least common multiple(数论优化+分组背包);DP--数论
CCPC网络赛开始报名了~ 欢迎参加——阿里云“智慧航空AI大赛”(报名中...) Least common multipleTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 825 Acce原创 2017-08-11 19:06:49 · 325 阅读 · 0 评论 -
UVA10891(区间DP)
题意:给一个数链,每个人只能从一端取连续多个,并且每个人都想让自己最后的值相对较大,两个人采取最优策略,求最后的差值是多少。思路:定义状态为目前的子串为i到j时,当前玩家可取得的最优价值,dp[i][j]=sum[i][j]-min(dp[i][k],dp[k][j]);#includeusing namespace std;#define maxn 110#define inf 0原创 2017-10-25 22:28:04 · 241 阅读 · 0 评论 -
POJ - 2184 (01背包变形)
"Fat and docile, big and dumb, they look so stupid, they aren't much fun..." - Cows with Guns by Dana Lyons The cows want to prove to the public that they are both smart and fun. In order to d原创 2017-10-13 19:20:28 · 272 阅读 · 0 评论 -
T - Space Elevator poj-2392(多重背包)
点击打开链接题意:给n个三元组,每个由三个数组成,第一个是每个积木高度,第二个是当前层以下积木高度允许的最大值,第三个是积木数目,求搭建的最大高度。思路:让最小的允许高度处在最低处,依次向上搭建。use数组表示这种积木已经用了多少块,dp[j]表示:当高度为j时,有没有符合条件的搭建情况,dp[j-a[i].h]其实表示上一块积木有没有被用到,那么最终答案就是,最大的j了。#inc原创 2017-10-12 21:47:04 · 196 阅读 · 0 评论 -
CodeForces 580D (状压DP) Kefa and Dishes
点击打开链接题意:有n盘菜,从里面选m盘可以品尝,每盘菜有一个满意值,另外有k种关系,先吃某盘菜后吃某盘的话可以增加ai满意度。思路:约束条件有当前吃的哪盘菜,在吃这盘菜之前吃了哪几盘菜,所以定义状态是dp[i][j],表示当前让第i盘菜作为吃的最后一盘时,已经吃了菜的集合为j,获得的最大满意度;用n位2进制表示状态,1表示吃过了这盘菜,0表示没吃,状态转移方程:dp[i][j]=ma原创 2017-10-21 09:41:54 · 236 阅读 · 0 评论 -
Cheapest Palindrome POJ - 3280 (区间DP)
点击打开链题意:给出一个字符串,字符串的长度为m,字符串中不同的字符有n种,并且给出添加或删除每个这n种字符的花费,让你求出让这个字符串成为回文串的最小花费。思路:定义状态为dp[i][j]表示从i到j的字符串成为回文串的最小代价,那么最终要求的答案就是dp[0][n-1],这个大区间自然要通过小区间转移而来,重叠的子问题与该问题相同,每个大区间都由小区间转移而来,所以我们自下往上原创 2017-10-02 15:44:20 · 172 阅读 · 0 评论 -
poj 1065 Wooden Sticks (求最长非降子序列的个数)
点击打开链接题意:n根木材长l_i重w_i,前一根木材大于后一根的话要浪费一分钟准备机器,求最省方案?思路:首先会想到求得是最长非降子序列的个数,那么如何实现,似乎没有足够巧妙地方案,细心观察数据就能得出这样的结论:先对l按从小到大的顺序 排序,然后得到的序列中w的最长递减子序列的长度就是答案。 #include#include#include#include#inclu原创 2017-10-08 09:41:55 · 279 阅读 · 0 评论 -
poj 3181 P - Dollar Dayz
点击打开链接题意:农夫约翰有N元钱,他花光所有的钱去买东西,市场上有价值1.....k的商品无限多个,求约翰所有的购买方案。思路:dp[i][j]表示前i件物品放进价值为j的背包的情况数是多少,dp[i]j[j]=sigma(dp[i-1][j-k*i]) ,其中k from 0 to j/i;如果j%i==0;那么说明dp[i][j]=dp[0][0]+1;也就是可以全部由第i件物原创 2017-10-07 11:04:38 · 172 阅读 · 0 评论 -
ACM/ICPC 沈阳网络赛 1004 (nlogn最长上升子序列)
array array arrayTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 612 Accepted Submission(s): 354Problem DescriptionOne day, K原创 2017-09-12 21:45:37 · 225 阅读 · 0 评论 -
O - Ant Counting(DP,滚动数组)poj 3046
点击打开链接题意:蚂蚁分为T种家族,一共有A个蚂蚁,问你从S到B个元素的集合会有多少个。思路:dp[i][j]表示前i种家族的蚂蚁,组成成员为j的集合会有多少个;dp[i][j]=dp[i-1][j-k](k from 0 to flag[i],j from k to sigma(0,flaag[i]))//表示去掉k个第i种家族的蚂蚁的集合也就是dp[i][j]表示的集合数;原创 2017-10-06 20:21:46 · 216 阅读 · 0 评论 -
CodeForces - 811C Vladik and Memorable Trip (普通DP)
Vladik often travels by trains. He remembered some of his trips especially well and I would like to tell you about one of these trips:Vladik is at initial train station, and now n people (including原创 2017-09-09 18:37:28 · 273 阅读 · 1 评论 -
POJ - 1080 Human Gene Functions (DP)
Human Gene FunctionsIt is well known that a human gene can be considered as a sequence, consisting of four nucleotides, which are simply denoted by four letters, A, C, G, and T. Biologists have原创 2017-08-24 09:32:47 · 174 阅读 · 0 评论 -
梦里什么都有(状压DP)
梦里什么都有时间限制: 1000ms 内存限制: 524288KB通过次数: 3 总提交次数: 25问题描述Air_H 和灰哥身为两个老大(dalao), 经常派给小弟 zbt 很多任务, zbt 也不堪重负。 一天, 两个大哥又要 zbt 去广纳中北贤士为将来进入 icpc world final 做准备。zbt 当然很苦恼啦,他不知道怎样出考题了原创 2017-12-12 21:34:11 · 372 阅读 · 2 评论