首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
51nod 1412
】的更多相关文章
51nod 1412 AVL树的种类(dp)
题目链接:51nod 1412 AVL树的种类 开始做的时候把深度开得过小了结果一直WA,是我天真了.. #include<cstdio> #include<cstring> #include<algorithm> #include<queue> using namespace std; typedef long long ll; ; ; ll dp[N][];//dp[i][k] i:节点数, k:深度 void solve(){ int i, j, k;…
51nod 1412 AVL树的种类(经典dp)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1412 题意: 思路: 经典dp!!!可惜我想不到!! $dp[i][k]$表示i个结点,最大深度为k的形态数. 它的转移方程就是: dp[i][k] += dp[i - - j][k - ] * dp[j][k - ] dp[i][k] += * dp[i - - j][k - ] * dp[j][k - ] j是右子树结点个数,如果除去根结点,是不是可以分为左右两棵子…
ACM学习历程—51NOD 1412 AVL树的种类(递推)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1770 这是这次BSG白山极客挑战赛的B题.设p(i, j)表示节点个数为i,高度为j的AVL树的个数. 那么,对于1 <= k <= i-1 p[i][j] += p[k][j-1]*p[i-1-k][j-1]%MOD; p[i][j] += p[k][j-2]*p[i-1-k][j-1]%MOD; p[i][j] += p[k][j-1]*p[i-1-k][j-2]…
51nod 1412 AVL树的种类
非常简单的一道题,一眼题 枚举左儿子大小,再枚举深度即可 复杂度$O(n^2 log n)$ #include <cstdio> #include <cstring> #include <iostream> using namespace std; #define ri register int #define sid 2005 #define mod 1000000007 int n, ans; ]; inline void inc(int &a, int b…
51nod 1412 AVL数的种类(DP
题意给了n个节点 问AVL树的种类 卧槽 真的好傻 又忘记这种题可以打表了 就算n^3 也可以接受的 树的深度不大 那么转移方程很明显了 dp[i][j] 代表的是节点为n深度为j的树的种类 k为左子树的节点个数 //dp[i][j+1] += dp[k][j]*dp[i-k-1][j];//dp[i][j+1] += 2*dp[k][j-1]*dp[i-k-1][j]; #include <stdio.h> #include <iostream> #include <…
51nod 1412
考虑到只与深度和点的个数有关$f[n][d]$ 表示 $n$ 个点,深度为 $d$ 的 $AVL$ 树有多少种 枚举左子树大小为 $i$, 进行转移并且深度为 $logn$ 级别 $f[n][d] = f[i][d - 1] * f[n - i - 1][d - 1] + f[i][d - 1] * f[n - i - 1][d -2] + f[i][d - 2] * f[n - i - 1][d - 1]$ #include <bits/stdc++.h> , Mod = 1e9 + ; ]…
51nod水题记
妈呀51nod已经刷不动了又开始跟bzoj一样总是得看题解了...那么发一下总结吧... 1051:最大子矩阵 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> using namespace std; #define rep(i,s,t) for(int i=s;i<=t;i++) #define dwn(i,s,t) for(int i=s;i>=t…
【51Nod 1244】莫比乌斯函数之和
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1244 模板题... 杜教筛和基于质因子分解的筛法都写了一下模板. 杜教筛 用杜教筛求积性函数\(f(n)\)的前缀和\(S(n)=\sum\limits_{i=1}^nf(i)\),需要构造一个\(g(n)\)使得\(\sum\limits_{d|n}f(d)g(\frac nd)\)和\(\sum\limits_{i=1}^ng(i)\)都可以快速求出.因为我们有公式…
51Nod 1268 和为K的组合
51Nod 1268 和为K的组合 1268 和为K的组合 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 给出N个正整数组成的数组A,求能否从中选出若干个,使他们的和为K.如果可以,输出:"Yes",否则输出"No". Input 第1行:2个数N, K, N为数组的长度, K为需要判断的和(2 <= N <= 20,1 <= K <= 10^9) 第2 - N + 1行:每行1个数,对应数组的元素A…
51Nod 1428 活动安排问题
51Nod 1428 活动安排问题 Link: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428 1428 活动安排问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 有若干个活动,第i个开始时间和结束时间是[Si,fi),同一个教室安排的活动之间不能交叠,求要安排所有活动,最少需要几个教室? Input 第一行一个正整数n (n <= 10000)代表活动的个数.…