随笔分类 -  动态规划-背包dp

摘要:题目链接 "BZOJ5314" 题解 设f[i][j][0|1][0|1]表示i为根的子树,用了j个监测器,i节点是否被控制,i节点是否放置的方案数 然后转移即可 O(nk2)?? 用上子树大小来优化就是O(nk)的 对于子树大小都超过k的子树,转移O(k2) 阅读全文
posted @ 2018-06-17 08:47 Mychael 阅读(157) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1025" 题解 题意就是问一个1....n的排列在同一个置换不断重复下回到1...n可能需要的次数的个数 和置换群也没太大关系 我们只需知道同一个置换不断重复,实际上就是每个循环节的元素不断在循环节上旋转,所需次数就是所有循环节长度的lcm 这一点很显然 而循环节数 阅读全文
posted @ 2018-05-11 20:50 Mychael 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1004" 题解 burnside定理 在m个置换下本质不同的染色方案数,等于每种置换下不变的方案数的平均数 记L为本质不同的染色方案数,m为置换数,f(i)为置换i下不变的方案数,那么 $$L = \frac{1}{m}\sum\limits_{i = 1} 阅读全文
posted @ 2018-05-11 20:02 Mychael 阅读(173) 评论(0) 推荐(0) 编辑
摘要:题目链接 "POJ" 题解 背包树形dp板题 就是读入有点无聊,浪费了很多青春 C++ include include include include include include include define LL long long int define REP(i,n) for (int i 阅读全文
posted @ 2018-05-10 16:48 Mychael 阅读(283) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1017" 题解 orz "hzwer" 树形dp神题 设f[i][j][k]表示i号物品恰好花费k金币,并将j个物品贡献给父亲的合成时的最大收益 计算f[i][j][k]时,我们先枚举合成了x个i号物品,计算出此时的花费各种金币下最大收益 然后就可以枚举 阅读全文
posted @ 2018-05-09 14:40 Mychael 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题目 输入格式 第一行,两个正整数 S 和 q,q 表示询问数量。 接下来 q 行,每行一个正整数 n。 输出格式 输出共 q 行,分别为每个询问的答案。 输入样例 30 3 9 29 1000000000000000000 输出样例 0 9 450000036 提示 对于100%的数据,2 inc 阅读全文
posted @ 2018-05-01 14:34 Mychael 阅读(320) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示