随笔分类 - Dynamic Programming
摘要://两人取硬币游戏 hard coins gameint solve(){ int win[MAX]; //定义轮到自己,当剩下j个时为必胜OR必败态/****j=0时,必败。对于某个a[i], j-a[i]为(对手)必败态,则 j 个时自己可以有必胜态对于任意a[i], j-a[i]为...
阅读全文
摘要:DP中的树形DP,解决方法往往是记忆化搜索。显然,树上递推是很困难的。当然做得时候还是得把状态定义和转移方程写出来:dp[u][1/0]表示以u为根节点的树 涂(1) 或 不涂(0) 颜色的最少方案数。树上DP有两个经典问法:一条边两端至少有个一个端点涂色,问整个tree最少涂色次数;还有一种忘了。...
阅读全文
摘要:/***** 1->N个人坐成一个环,顺时针序号递增。 现要这些人坐成逆时针递增的环。相邻交换,最少需要交换多少次。 思考:设共6个人,要逆时针递增坐,则可以转化成两个子问题: 1到3人变逆序,4到6人变逆序……然后就把有环的问题转化成的直线数组问题。 这题最重要的思想是去环!******/ #i...
阅读全文

浙公网安备 33010602011771号