摘要:
此文章为http://blog.csdn.net/joylnwang/article/details/6859677的博客最大子串和问题(Maximum Subarray)又一个经典问题,对于一个包含负值的数字串array[1...n],要找到他的一个子串array[i...j](0array[p...q],否array[j+1...n]>array[p...q],无论谁大,我们都可以找到比array[p...q]和更大的子串,这与我们的假设矛盾,所以满足条件的array[p...q]不可能跨越两个子串。对于跨越更多子串的情况,由于各子串的和均为负值,所以同样可以证明存在和更大的非跨越子 阅读全文
摘要:
1 #include 2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 int t,n,i,a[200010]; 8 scanf("%d",&t); 9 while(t--)10 {11 scanf("%d",&n);12 for(i=0;inum)23 {24 num=ti;25 flag1=flag;26 ... 阅读全文
摘要:
1 #include 2 #include 3 int a[110]; 4 int main() 5 { 6 int SS(int t); 7 int i,n; 8 while(scanf("%d",&n),n) 9 {10 memset(a,0,sizeof(a));11 for(i=0;is)//当面积大时 覆盖16 s=SS(i);17 printf("%d\n",s);18 }19 return 0;20 }21 22 int SS(int t)//用函数... 阅读全文
摘要:
1 #include 2 #include 3 int main() 4 { 5 int i,n,t,a[50]={1,2,3}; 6 for(i=3;i<50;i++) 7 a[i]=a[i-1]+a[i-2]; 8 scanf("%d",&n); 9 while(n--)10 {11 scanf("%d",&t);12 printf("%d\n",a[t]);13 }14 return 0;15 }此题是推导题 第i位的情况只能是1或0 为1时 第i-1位一定是0 第i-2位不确定... 阅读全文
摘要:
#include#includeusing namespace std;int main(){ double x[5],y[5]; while(scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&x[1],&y[1],&x[2],&y[2],&x[3],&y[3],&x[4],&y[4])!=EOF) { if(x[2]=x[3]&&x[2]=y[3]&&y[2]x[4]&&y[1]y[4])//2在1内 printf("%.2lf\n& 阅读全文
摘要:
1 #include 2 #include 3 using namespace std; 4 int main() 5 { 6 int n,i,t,a,b; 7 while(scanf("%d",&n)!=EOF) 8 { 9 scanf("%d",&t);10 int flag=1;11 for(i=0;i<n;i++)12 {13 scanf("%d%d",&a,&b);14 if(a==t||b==t||a==7-t||b==7-t)15 ... 阅读全文
摘要:
1 #include 2 #include 3 using namespace std; 4 bool cmp(int a,int b) 5 { 6 return a>b; 7 } 8 int main() 9 {10 int n,i,j,m,a[110],b[110];11 while(scanf("%d%d",&n,&m)!=EOF)12 {13 for(i=0;it)32 break;33 if(b[j]==t)34 sum++;35 ... 阅读全文
摘要:
1 #include 2 #include 3 int main() 4 { 5 char a[6][6]; 6 int BH(char a[]);//对输入的英文进行判定转换成数字 7 while(scanf("%s %s",a[0],a[1])!=EOF) 8 { 9 int left=0,right=0;10 if(a[1][0]!='+')11 {12 scanf("%s",&a[2]);13 left=BH(a[0])*10+BH(a[1]);14 ... 阅读全文