摘要:
SGU130,用k条弦将一个圆分成k+1份的方法数。#include #include #include #include #include #include using namespace std;long long dp[35];long long f(int k) { if (dp[k]) { return dp[k]; } if (k <= 1) { return 1; } long long ans = 0; for (int i = 0; i < k; i++) { ans += f(i) * f(k -... 阅读全文
posted @ 2013-07-29 20:05
litstrong
阅读(134)
评论(0)
推荐(0)
摘要:
这两天再看这题HDU4603,我可能会用到将一颗树中的每个节点的子树权重进行排序,因此就出现了这么个复杂度分析的问题,已知sum{n_i}=n,求解sum{n_i * log(n_i)}的复杂度,先手试了几个拆解,将n拆成1份,n份,或是n/2,n/4,n/8...这样拆解下去,最后的复杂度都是低于nlogn的,记sum{n_i * log(n_i)}为S,可得到exp(S)=mul{exp{n_i * log(n_i)}}=mul{n_i ^ n_i}<=mul{n ^ n_i}=n ^ sum{n_i}=n^n,两边再同取log,可得到S=nlogn,因此可得到上面这种排序操作的复杂 阅读全文
posted @ 2013-07-29 17:24
litstrong
阅读(133)
评论(0)
推荐(0)

浙公网安备 33010602011771号