摘要:
点击打开链接 思路: 区间dp,类似于石子合并的问题,每次枚举合并的点就好了 代码: 阅读全文
摘要:
点击打开链接 RE了一辈子... 思路:树上dp,直接dfs找到每个点v的子节点有多少, 那么对答案的贡献是 w*abs((n-size[v])-size[v]); RE代码: 阅读全文
摘要:
点击打开链接 题意: 有两排数,AB依次拿,每次只能从第一/二排最左边和最右边拿 问你A拿的和是多少,假设两个人都是很聪明的 思路: http://blog.csdn.net/shuangde800/article/details/10277697 出现聪明这个词的时候,这种题不是博弈论就是dp吧 阅读全文
摘要:
点击打开链接 思路:01背包,跑容量为m-5,物品为n-1件的01背包。贪心:用剩下的5元买最贵的 转移:dp[i][j] = max(dp[i-1][j],dp[i-1][j-c[i]]+c[i],滚动优化一下就好了 代码: 阅读全文
摘要:
点击打开链接 思路: lis的变形,唯一不同的是条件a[i] - i > a[j] - j + 1,i>j。因为要确保这两个元素之间能插入i - j + 1个元素 阅读全文
摘要:
点击打开链接 思路:树上dp,每个点的权值为d[i]+G[i].size(),然后选择最小的删除就好 代码: 阅读全文
摘要:
点击打开链接 题意:给定一张有坏点的网格图,求左上角走到右下角的两条不相交路径的方案数 思路: 考虑如果只有一条路该怎么做 显然 DP 就行了 那么我们定义 Calc ( x 1 , y 1 , x 2 , y 2 ) 为从 ( x 1 , y 1 ) 走到 ( x 2 , y 2 ) 的方案数 如 阅读全文
摘要:
点击打开链接 题意: 游戏园里有N个区域,有M条边连接这N个区域,有K个要访问的景点。对于每个景点告诉你这个景点所在的区域,要访问这个景点需要等待一定时间,如果没有FastPass,等待时间有Ti,否则等待时间为FTi,接下来的Ni,表示有Ni个区域可以得到这个景点的FastPass,问从区域1出发 阅读全文
摘要:
点击打开链接 题意:有n个程序员,第i个程序员每行会有ai个bug,然后让你按着顺序安排程序员,问你有多少种安排方法,可以使得写m行的bug最多b个 思路: dp[i][j]表示写i行bug数有j个的方法数 转移方程和背包问题类似 最后扫一遍统计一下就好 代码: 阅读全文
摘要:
点击打开链接 题意: 一个评估蛋的硬度方法是测量蛋从多高摔下来会碎。现在佳佳想以楼层高度作为考量依据评估蛋的 硬度。如果蛋从i楼上掉下来会碎,而i-1不会,那么蛋的硬度为i。高为n层的实验楼里面有蛋卖,一个X元。佳佳开始没有蛋,并且他只能随身携带一个蛋, 不带蛋进楼需要Y元,带蛋需要Z元,做完试验之 阅读全文