动态规划
acInfinity
CS
展开
-
华中农业大学第四届程序设计大赛网络同步赛 D题 Robbing Red Packets
看了题解才做的,一定程度上参考了标程。概率dp,dp[i][j]记录第i个人抢到j元钱的概率,all[i][j]记录前i个人共抢到j元的概率。转移方程dp[i][j] = sigma( all[i - 1][k] * 1.0 / (i + m - n - k) );(此处k仅为下标,不是题目中的k),1.0/(i+m-n-k)表示在前i-1个人抢到k元的情况下,第i个人抢到j元的概率。原创 2016-05-16 22:28:11 · 606 阅读 · 0 评论 -
31届宁波市中小学生程序设计竞赛复赛(初中组)
第4题-猴子上树来源于宁波市程序设计竞赛复赛(初中组) n≤5000,m≤n,显然O(n^3)的复杂度不能接受,那么考虑O(n^2)或者O(n^2*lg(n))的解法。最少需要消耗多少能量,看起来是一个好像具有最优子结构的问题,那么尝试是否能用动态规划来求解。 仔细分析,可以发现最后一只猴子最优情况下肯定是爬上最后一棵树,那么这样就存在了重复子问题,动态规划无疑了。 考虑状态的表示,我们用原创 2017-02-22 13:28:08 · 1343 阅读 · 1 评论 -
九度 1497
九度 1497 面积最大全1子矩阵先预处理出每行连续1的个数,sum[i][j]表示第i行中到第j列为止的连续1的个数。for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) if(a[i][j]) sum[i][j]=sum[i][j-1]+a[i][j]; else s原创 2017-02-25 14:21:29 · 249 阅读 · 0 评论 -
LA 4489
LA 4489题意是女朋友生日到了,你要去给她买礼物(写题也被虐,气)。每个礼物有价格,和女友得到礼物的快乐值。其中有一些礼物是必须买的,否则女朋友会不高兴。 你手上有两张代金券,面值分别为V1,V2,除此,你还有一次免费挑选礼物的机会。对于代金券,你可以拿不价格总和超过面值的礼物,但两张券只能使用,即你必须拿两次,一次不超过V1,一次不超过V2,而不能说一次性拿不超过V1+V2的礼物。 求女朋原创 2017-03-14 23:32:16 · 274 阅读 · 0 评论 -
插头dp
最近学习了基于连通性的动态规划,也就是插头dp,刷了一些入门题。 插头dp主要解决的问题是,给定矩阵,矩阵中有些点不能到达,有些点可以到达,问经过所有可达到的点,且每个点只经过一次的回路有多少种。 学习资料有很多,相关的博客也不少,罗列一些: cdq论文 cyendra博客 个人认为上面那篇博客讲的十分详细,值得一看。——————————————-分割线—————————————————原创 2017-07-03 22:03:54 · 820 阅读 · 0 评论 -
hdu 6078(1012)
1012(hdu 6078) Wavel Sequence题意:给出两个序列,找出所有公共子序列,并使得该公共子序列呈波浪状,即a1a3a5 分析:很显然是个dp的题,类似最长公共子序列的感觉。定义fi,j,k 定为以a[i],b[j]结尾的子序列,且峰谷状态为k,k=0表示谷态,k=1表示峰态。fi,j,k=Σf1~i-1,1~j-1,1-k定义gi,j原创 2017-08-04 10:47:37 · 541 阅读 · 0 评论