摘要: 每组测试数据的第一行是两个整数n,m,分别表示行数和列数(1<=n<=20,10<=m<=1000);悔不该看错题,WA了无数遍把m,n的范围看反了。。。。狂WA= =#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;__int64 m,n;__int64 a[22][1010];__int64 d[22][1010];int main(){ __ 阅读全文
posted @ 2012-08-10 22:01 willzhang 阅读(220) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int n;long a[1010];long d[1010];//int main(){ while(scanf("%d",&n),n) { int i,j; for(i=0;i<n;i++) { scanf("%ld",&a[i]); d[i]=a[i]; 阅读全文
posted @ 2012-08-10 18:49 willzhang 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一开始狂WA,后来随机了100个数据全过,无语了。。。后来把ch改成ch[10]过了。。。这题的数据太黑了= =必须得用%s过滤#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;int m,n;int d[1010][1010];int left[1010];int right[1010];int main(){ int total; scanf("%d&quo 阅读全文
posted @ 2012-08-10 15:34 willzhang 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 对每个数用动态规划找到最左边的大于等于它的数,找到最右边的大于等于它的数,最后做一次循环得到答案代码如下#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<algorithm>using namespace std;__int64 a[100010];__int64 n;struct T{ __int64 left; __int64 right; __int64 height;}d[100010];int main(){ while 阅读全文
posted @ 2012-08-10 10:26 willzhang 阅读(170) 评论(0) 推荐(0) 编辑