- 博客(6)
- 收藏
- 关注
原创 加分二叉树
【问题描述】 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数 若某个子树为空,规定其
2015-07-18 21:08:05 234
原创 高精度
const int base = 10000;// 压4位struct BigInt{ int c[1000], len, sign; BigInt(){ memset(c, 0, sizeof(c)); len = 1; sign = 0; } void Zero(){ while(len > 1 && c[len] == 0) l
2015-07-18 19:39:26 202
原创 组合数
comb.c/cpp/pas 1s/128M 【题目描述】 最近老师教了小明怎么算组合数,小明又想到了一个问题。。。 小明定义C(N,K)表示从N个元素中不重复地选取K个元素的方案数。 小明想知道的是C(N,K)的奇偶性。 当然,这个整天都老是用竖式算123456789*987654321=?的人不会让你那么让自己那么轻松,它说:“N和K都可能相当大。” 但是小明也犯难了,所以
2015-07-18 16:57:03 489
原创 MZOI-7.18
1.Hanoi双塔问题 hanoi.c/cpp/pas 1s/128M 【题目描述】 给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求: (1)每次只能移动一个圆盘; (2)A、B、C三根细柱上的圆盘都要保持上
2015-07-18 16:12:45 266
翻译 排序
1.冒泡排序void bubble_sort(int s[],int n){ int i,j; for(i=n-1;i>0;i--){ for(j=0;j<i;j++){ if(s[j]<s[j+1])swap(s[j],s[j+1]); } }}2.插入排序void insertion_sort(int s[]
2015-07-18 16:02:17 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人