随笔分类 -  dp和背包问题

动态规划千变万化,都可以考虑一些思路,写出转移方程,方可掌权大局
摘要:题意:有一队人排队,每个人焦虑因数di,每个等前面(k-1)个人的焦虑度为di*(k-1),问给你重新排序,最小焦虑度为多少。 思路:区间dp 该状态转移方程还是令人焦灼的,假设把所有人分成俩区间,一个[i+1,k],一个[k+1,j](i+1≤k<j) 如果d[i]先进去,则后面的焦灼度增加量为d 阅读全文
posted @ 2020-04-11 16:08 ch_hui 阅读(151) 评论(0) 推荐(0)
摘要:题意:给出一个的只有'(',')','[',']'四种括号组成的字符串,求最长长度多少,end结束 思路:区间dp,dp[i][j]表示区间[i,j]符合要求的长度 #include<iostream> #include<algorithm> #include<cstring> #include<s 阅读全文
posted @ 2020-04-11 14:57 ch_hui 阅读(123) 评论(0) 推荐(0)
摘要:#include<iostream> #include<algorithm> #include<cstring> #include<stack> #include<cmath> #include<queue> using namespace std; #define ll long long #de 阅读全文
posted @ 2020-04-11 14:27 ch_hui 阅读(112) 评论(0) 推荐(0)
摘要:题意:给你t和n,和n个ai,问你用最少的ai去装满t背包,如果有多个答案,输出最早出现的 思路:01背包问题,装与不装的问题,从t时间开始遍历下去,很容易得出答案 他的转移方程为: dp[j] = dp[j - c[i]] + w[i];//表示在j-c[i]时间所得到的的贡献最大值 #inclu 阅读全文
posted @ 2020-04-04 12:01 ch_hui 阅读(158) 评论(0) 推荐(0)