摘要:
题意:给你一颗树,每个节点上面都有一个值,每一次可以进行一次操作,一次操作包含以下两步1)选择一颗包含 1 节点的子树。2)对这颗子树进行加一或者减一的操作。问你最后使得这颗树 所有点上面的值全部变为 0 的操作数为多少。解题思路:dp[i][0/1] 表示 到了这个点 加 和 减的最大值。解题代码... 阅读全文
摘要:
题意:比赛 至少 要晋级n×m 个人 ,使用题目数C 可以晋级 n 个人 使用题目1d 可以晋级1个人 问最少需要多少题目解题思路:完全背包。解题代码: 1 // File Name: 417c.cpp 2 // Author: darkdream 3 // Created Time: 2015... 阅读全文
摘要:
题意:给你a[2] - a[n], 一个初始x = 1,初始y = 0 ,执行下面步骤1) x +=a[x] ,y += a[x]2) x -= a[x] ,y += a[x]3)重复1-2步骤。只要中间x n 就跳出。输出y的值问你a[1] 从 [1,n-1]分别的值为多少。解题思路:dfs 求... 阅读全文
摘要:
题意:给你一个序列和m个询问,问你序列中 值想等距离最近的长度为多少。解题思路:线段树+扫描线 +map(上一次出现的位置).解题代码: 1 // File Name: 522d.cpp 2 // Author: darkdream 3 // Created Time: 2015年03月12日... 阅读全文
摘要:
题意:给你一个完全图,给你删点顺序,问你这些点删除前 整个图的最短路的和。解题思路:这其实是floyd-warshall 算法的 一个应用。我们可以从最后一个点开始 ,对他的顺序进行映射,题意就正好符合floyd 的定义。解题代码: 1 // File Name: 295b.cpp 2 // Aut... 阅读全文