讲解见http://www.cnblogs.com/IMGavin/p/5621370.html, 4 可重组合 dfs枚举子树的节点个数,相乘再累加  1 #include<iostream>  2 #include<cstdio>  3 #include<cstring>  4 #include<cstdlib>  5 #include<algorithm>  6 using namespace std;  7 typedef long lo…
http://www.cnblogs.com/keam37/p/3639294.html keam所有 转载请注明出处 Problem Description Give you two definitions tree and rooted tree. An undirected connected graph without cycles is called a tree. A tree is called rooted if it has a distinguished vertex r c…
1201 整数划分  基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种.由于数据较大,输出Mod 10^9 + 7的结果即可.   Input 输入1个数N(1 <= N <= 50000). Output 输出划分的数量Mod 10^9 + 7. Input示例 6 Output示例 4 dp[i][j] 数i 可以有…
题目:传送门 题目描述 This is a very simple problem, just like previous one. You are given a postive integer n, and you need to divide this integer into m pieces. Then multiply the m pieces together. There are many way to do this. But shadow95 want to know the…
这不是将一个数以一来划分,而是把一个整数以位来划分 题目描述 如何把一个正整数N(N长度<20)划分为M(M>1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式. 输入格式 第一行一个正整数T(T<=10000),表示有T组数据. 接下来T行每行两个正整数N,M. 输出格式 对于每组数据 第一行输出最大值. 第二行输出划分方案,将N按顺序分成M个数输出,两个数之间用空格格开. 样例 样例输入 1 199 2 样例输出 171 19 9这是递归思想,动态规划是正…
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 题意不多说了. dp[i][j]表示i这个数划分成j个数的情况数. dp[i][j] = dp[i - 1][j] + dp[i - 1][j - 1] 前者表示将i - 1划分为j个数,然后j个数都+1 还是不重复 后者表示将i - 1划分为j - 1个数,然后j - 1个数都+1,再加上1这个数 普通的dp是n^2的,但是可以发现1 + 2 + ..…
题目大意:求有n个节点的树有几种? 题解:http://www.cnblogs.com/keam37/p/3639294.html #include <iostream> typedef long long LL; using namespace std; LL f[41]; int cnt[41],n; LL C(LL n,LL m){ m=m<(n-m)?m:(n-m); LL ans=1; for(int i=1;i<=m;i++)ans=ans*(n-i+1)/i; ret…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3612 因为力矩的缘故,变成了整数划分. 学习到了整数划分.就是那个图一样的套路.https://blog.csdn.net/Vmurder/article/details/42551603 注意各种边界. 注意输出换行. #include<iostream> #include<cstdio> #include<cstring> using namespace st…
整数划分(四) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 暑假来了,hrdv 又要留学校在参加ACM集训了,集训的生活非常Happy(ps:你懂得),可是他最近遇到了一个难题,让他百思不得其解,他非常郁闷..亲爱的你能帮帮他吗? 问题是我们经常见到的整数划分,给出两个整数 n , m ,要求在 n 中加入m - 1 个乘号,将n分成m段,求出这m段的最大乘积   输入 第一行是一个整数T,表示有T组测试数据接下来T行,每行有两个正整数 n,m ( 1<=…
1201 整数划分 基准时间限制:1 秒 空间限制:131072 KB   收藏  关注 将N分为若干个不同整数的和,有多少种不同的划分方式,例如:n = 6,{6} {1,5} {2,4} {1,2,3},共4种.由于数据较大,输出Mod 10^9 + 7的结果即可.   Input 输入1个数N(1 <= N <= 50000). Output 输出划分的数量Mod 10^9 + 7. Input示例 6 Output示例 4 思路:dp[i][j]表示i分成j个数的方案: dp[i][j…