03 2012 档案
摘要:题目:将1,2,3,4,5……n-1,n分成和相等的两个子集,有多少种分法#include<stdio.h>#include<math.h>#include<assert.h>int main(){ FILE *fin,*fout; fin=fopen("1.txt","r"); fout=fopen("2.txt","w"); assert(fin); assert(fout); int N,dp[40][800]={0}; fscanf(fin,"%d",
阅读全文
摘要:今天我写了最快的算法#include<fstream>using namespace std;int main(){ ifstream fin("numtri.in"); ofstream fout("numtri.out"); int h,tr[1000000],l=0; fin>>h; while(fin>>tr[++l]);//从tr[1]开始存放 l=2; for(int i=1;i<h;i++)//层次 for(int j=0;j<=i;j++)//每层从第零个到最后一个 { if(j==0) .
阅读全文
摘要:View Code 1 int N,M,lastlength; 2 fin>>N>>M; 3 int i,total=0,s=2*M*M+1,s2=s/3*2; 4 bool *bi=new bool[s]; 5 for(int i=0;i<=s;i++) bi[i]=0; 6 // 7 for(int p=0;p<=M;p++) 8 for(int q=p;q<=M;q++) 9 bi[p*p+q*q]=true; 10 //11 fo...
阅读全文
摘要:今天写个程序,用一个数组存下从0到M的任意两个数的平方和,我以为我用的是最快的方法。我的方法是利用他的结构利用合并排序void Merge(int left,int mid,int right)//合并有序数组 { int i=left,j=mid+1,l=0,s=0; while(i<=mid&&j<=right) { if(b[i]<b[j]) p[l++]=b[i++]; else if(b[i]>b[j]) p[l++]=b[j++]; else {p[l++]=b[i++];j++;s++...
阅读全文

浙公网安备 33010602011771号