
动态规划
文章平均质量分 76
czqqqaq
咸鱼 不女装
展开
-
CEOI2017 D1T3 mousetrap 树形dp+二分答案
题意一棵树,每条边上都没有标记,现在有一个人要从S走到T,每次你先选择一条有标记的边,并且给这条边的标记消除,或者把一个没标记的边打上永久标记(你无法再次修改使其消除),然后这个人会走随机一条标记为0的边(相当于回合制),并把这条边的标记设为1,问最坏情况下,你至少要改变多少次边的标记才可以使这个人从S走到T。数据范围n,s,t≤106n,s,t\le10^6解法这个题,有一个部分分是S与T有直接连原创 2017-10-17 09:11:47 · 372 阅读 · 0 评论 -
TopCoder SRM 548 1000分 dp+组合数
题意给出n,m,kn,m,k,求出具有nn个点、mm条边、且前kk个点的点度恰好为2的无向连通图个数,答案对109+710^9+7取模。数据范围n,m≤50,k≤2n,m\le50,k\le2解法首先简化题目,我们考虑k=0的时候,那么有一个很经典的做法是DP。我们用dp[i][j]dp[i][j]表示i个点m条边的连通图个数,那么答案明显是dp[n][m]dp[n][m]。 接下来的转移我们考虑原创 2017-10-15 20:50:55 · 357 阅读 · 0 评论 -
TopCoder SRM 147 1000分 DP+矩阵乘法
原来字符串转数字可以 sscanf(string_name,interger_type,interger_name); 原来把带空格的字符串转成一系列数字可以直接插入到输入流中 我还是太Naive了 istringstream in(string); 不过为什么这是千分题啊 首先把答案为1 2的判掉 然后矩阵乘法加速 如果每次矩阵内的答案数量相同 那可以O(1)O(1)求 否则肯定长度原创 2017-09-06 20:11:18 · 399 阅读 · 0 评论