摘要:
注意 题意输入的循序不能变 还有就是设置一个变量数组 记忆优化#include <stdio.h>#define INF 10000000int rem[INF]={0},max,sum;int main(){ int n,a,b,i,f,s,o; rem[1]=1; while(scanf("%d%d",&a,&b)!=EOF) { max=-1; s=a; o=b; if(a>b) { a=o; b=s; } for(i=a;i<=b;i++) { n=i; sum=1; //printf("fz:%d %d %d %d 阅读全文
摘要:
越来越感觉算法就是一种方法,一个解决一类问题的公式,当然公式有变形,题也有变形但只要深刻理解它,变形只是一种顺理而成,只要类比公式,推理一下,将代码变形一下#include <stdio.h>#include <string.h>#define MAX 50005struct trea{ int l,r; int summ;}trees[MAX*3];int num[MAX],n,t;void biuld(int i,int l,int r){ trees[i].l=l; trees[i].r=r; if(l==r) { trees[i].summ=num[l-1]; 阅读全文
摘要:
真的很气愤,这题的限制条件有严格控制,代码中体现,我都无语了#include <stdio.h>#include <stdlib.h>int a[260][101],b[260][101];//第二维数组为硬币数 int main(){ int i,j,k,l,n,sum; int c[5]={1,5,10,25,50}; for(i=0;i<=260;i++) for(j=0;j<=101;j++) { a[i][j]=0;b[i][j]=0; } for(i=0;i<=100;i++)//用面值为1的硬币组成价值为i(不超过100) { b[i][ 阅读全文
摘要:
递推式的时候一定要注意+号m+=m+n,左边的加号加不加我查了半天啊#include<stdio.h> #include<iostream> #include<string.h> #include<stdlib.h> #include<queue> #include<set> #include<stack>#include <fstream> using namespace std;#define max 8000003struct node{ char state[3][3]; int x,y; 阅读全文