随笔分类 - 数据结构
摘要:原理就是 perm(abc)= a + perm(bc) a和a换,然后计算子问题,计算完了还原 + b + perm(ac) a和b换,同上 + c + perm(ba) a和c换,同上 子问题依此类推。 三个组合起来用for循环来处理。 for循环 是 把 多个 递归 累加起来的。
阅读全文
摘要:Catalan数的理解 f(0)=1 f(1)=1 f(2)=2 f(3)=5 f(4)=14 f(5)=42 f(2)=f(1)+f(1) f(3)=f(2)+f(1)*f(1)*f(2) f(4)=f(3)+f(2)*f(1)+f(1)*f(2)+f(3) 通项公式:f(n)= f(n-1) +
阅读全文
摘要:#include #include #include #include #include using namespace std; typedef int ElemType ; typedef int KeyType; const int MAX_SIZE_ST=10; bool cmp( ElemType a,ElemType b ) { return a0&&nST.elem...
阅读全文
摘要:#include #include #include #include #define ElemType char//元素类型 #define STACK_INIT_SIZE 100 #define _br_ printf("\n") typedef char TElemType; /* * \param 二叉树 * \author Silent_Amour */ typedef s...
阅读全文
摘要:Knuth-Morris-Pratt Algorithm 当初写这个博客之后一年多,再次看发现当初并不是完全弄明白了。这里为了“避免重复制造轮子”,引用大神博客。 http://blog.csdn.net/v_july_v/article/details/7041827 特殊的 next[ ] 数组
阅读全文
摘要:01背包问题 题目 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。 基本思路 这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。 用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最
阅读全文
摘要:A hard puzzle Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 24457 Accepted Submission(s): 8676
阅读全文
摘要:Count TheCarries Time Limit: 4000/2000 MS(Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 207 Accepted Submission(s): 97 P
阅读全文
摘要:A. Numbers time limit per test 1 second memory limit per test 64 megabytes input standard input output standard output A. Numbers time limit per test
阅读全文
摘要:A. Letter time limit per test 1 second memory limit per test 64 megabytes input standard input output standard output A. Letter time limit per test 1
阅读全文
摘要:#include #include #include #define Max 2000 void multiply(char *a,char *b,char *c) { int i,j,lena,lenb,*s; lena=strlen(a); lenb=strlen(b); s=(int*)malloc(sizeof(int)*(lena+lenb)); ...
阅读全文
摘要:#include "stdio.h" #include "string.h" /* name:大数加法 author:YouRmyDream */ void sup_addition(char a[],char b[],char c[]) { int c1=strlen(a); int c2=strlen(b); int d,k=0,w=0; int i=c1-1,j=c2-1; whi...
阅读全文
摘要:#include #include using namespace std; int reverse(int x) { int i=0,f=0;char str[100]; if(x>0) { f=1; }else { f=0;x=-x;} if (x==0) return 0; while(x>0) { str[i]=x%10+'0'; x/=10; i++; } str[i]='\0'...
阅读全文
摘要:#include #include #include using namespace std; const int maxn=7400; int f[maxn]; int main() { int i,j,n; while( cin>>n) { int q=0; memset(f,0,sizeof(f)); f[0]=1; for(i=2; i=0; j--) ...
阅读全文
摘要:skew二进制 Time Limit 1000ms Memory Limit 65536K Time Limit 1000ms Memory Limit 65536K description input output sample_input sample_output
阅读全文
摘要:Similar Word description It was a crummy day for Lur. He failed to pass to the CET-6 (College English Test Band-6). Looking back on how it was in last
阅读全文