Given n, how many structurally unique BST's (binary search trees) that store values 1...n?
For example,
Given n = 3, there are a total of 5 unique BST's.
去网上搜n个二叉搜索树的递推公式或者Catalan数,可以由h(n)=C(2n,n)/(n+1)得到h(n)=[2n*(2n-1)*...(n+2)]/[n!]....
分类:
其他好文 时间:
2014-09-29 17:57:01
阅读次数:
171
题目地址:HDU 5056
我晕啊。。当时绝壁脑残了。。。当时想到的方法是完全正确的。。但是在脑算第二个样例的时候,居然一直把前三个abc当成了9种。。。于是后面的三个abc每个都要递增2,而不是我想的方法中的递增3。。。于是一直没写代码。。。
言归正传。。
这题的思路就是窗口滑动,两个指针,让指针内的始终保持每个字母的数量少于k个。然后递推过去。然后因为每次右指针往右移动一个的时候,就相当...
分类:
其他好文 时间:
2014-09-29 14:14:11
阅读次数:
187
题目意思很简单:求第n个Fibonacci数,如果超过八位输出前四位和后四位中间输出...,否则直接输出Fibonacci数是多少。
后四位很好求,直接矩阵加速递推对10000取余的结果就是。
前四位搜了一下:http://blog.csdn.net/xieqinghuang/article/details/7789908
Fibonacci的通项公式,对,fibonacci数是有通...
分类:
其他好文 时间:
2014-09-29 13:52:51
阅读次数:
301
方案数量
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
给出一个N*M的棋盘,左下角坐标是(0,0),右上角坐标是(N,M),规定每次只能向上或者向右走,问从左下角走到右上角,一共有多少种方案。上图是一个4*3的棋盘。
输入多组测试数据。
每组输入两个整数N,M(0≤N,M≤30)。
输入0,0时表示结束,不做任...
分类:
其他好文 时间:
2014-09-29 09:51:07
阅读次数:
207
“红色病毒”问题
时间限制:1000 ms | 内存限制:65535 KB
难度:4
描述
医学研究者最近发现了一种新病毒,因为其蔓延速度与曾经在Internet上传播的“红色代码”不相上下,故被称为“红色病毒”。
经研究发现,该病毒及其变种的DNA序列中,腺嘌呤(A)、胞嘧啶(C)均是成对出现的。LYH想知道在这种特征下,所有可能成为该病毒的DNA序列的个数。
输入
多组测试数据。...
分类:
其他好文 时间:
2014-09-29 09:19:07
阅读次数:
209
概要:在一些递推式中,我们发现好像不能在优化了(例如斐波那契数列普通递推是O(n)的),但是这个特殊的递推式我们可以用矩阵来实现O(logn)(忽略了矩阵自身计算的O(n^3))。而矩阵乘法运算是a[i, k]*b[k, j]=c[i, j],从这个式子可看出朴素是n^3的(当然那些神算法我不会),...
分类:
其他好文 时间:
2014-09-28 07:20:31
阅读次数:
161
http://acm.hdu.edu.cn/showproblem.php?pid=5047题目大意: 给n条样子像“m”的折线,求它们能把二维平面分成的面最多是多少。解题思路: 我们发现直线1条:2平面;2直线:4平面;3直线:7平面......因为第n条直线要与前面n-1条直线都相交,才能使分的...
分类:
其他好文 时间:
2014-09-28 05:02:50
阅读次数:
204
import java.util.Scanner;import java.math.BigInteger;public class Main { public static void main(String[] args) { Scanner cin=new Scanner(Sy...
分类:
编程语言 时间:
2014-09-27 23:04:30
阅读次数:
254
题意:
用x个大M 可以把平面分成至多几块。
就是折线切割平面的加强版。
一个简单的递推式 : F(x+1) = 16x+1+F(x)
然后转成通项公式,然后C++ 位压大数模拟
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int mod = 1...
分类:
编程语言 时间:
2014-09-27 20:13:50
阅读次数:
226
目录Java在ACM/ICPC中的特点在ACM/ICPC中使用Java需要注意的问题Java与高精度计算1.Java在ACM/ICPC中的特点Java的语法和C++几乎相同Java在执行计算密集任务的时候并不比C/C++慢多少,只是IO操作较慢而已Java 简单而功能强大,有些东西用Java实现起来...
分类:
编程语言 时间:
2014-09-27 02:45:59
阅读次数:
349