首页 > 其他 > 详细

BestCoder Round #64 (div.2)

时间:2015-12-03 02:02:43      阅读:295      评论:0      收藏:0      [点我收藏+]

---恢复内容开始---

1001判断大数是2,3,5的整数倍(水题)

技术分享
 1 /*
 2 */
 3 #include<stdio.h>
 4 #include<math.h>
 5 #include<string.h>
 6 #include<stdlib.h>
 7 #include<ctype.h>
 8 #include <map>
 9 #include <set>
10 #include <cmath>
11 #include <deque>
12 #include <queue>
13 #include <stack>
14 #include <cstdio>
15 #include <cctype>
16 #include <string>
17 #include <vector>
18 #include <cstdlib>
19 #include <cstring>
20 #include <iostream>
21 #include <algorithm>
22 #define LL long long
23 #define INF 0x7fffffff
24 using namespace std;
25 #define N 405
26  
27 int main()
28 {
29     int n=35;
30     char a[n];
31     while(scanf("%s",a)!=EOF)
32     {
33         int flag=0;
34         int t=strlen(a);
35         //cout<<t<<endl;
36         switch(a[t-1]){
37             //cout<<a[t-1]<<endl;
38             case 0:
39             case 2:
40             case 4:
41             case 5:
42             case 6:
43             case 8:
44                 {
45                     flag=1;
46                     break;
47                 }
48             default:break;
49         }
50         //cout<<flag<<endl;
51         if(flag==0){
52             int res=0;
53             for(int i=0;i<t;i++)
54             {
55                 res+=a[i]-0;
56             }
57             if(res%3==0){
58                 flag=1;
59             }
60         }
61         if(flag==0){
62             cout<<"NO"<<endl;
63         }
64         else 
65         cout<<"YES"<<endl;
66     }
67     return 0;
68 }
View Code

1002求最大连续子序列

表示依然没有形成DP的思想,这么简单的还是想错了。

当前面对当前位置的累积和pos>0时,对于后面的数都是有增加的意义的;

若pos<0则 从0开始计数,pos再进行累加。

每次pos操作之后,都要对最大值max进行比较更新。

技术分享
 1 /*
 2 */
 3 #include<stdio.h>
 4 #include<math.h>
 5 #include<string.h>
 6 #include<stdlib.h>
 7 #include<ctype.h>
 8 #include <map>
 9 #include <set>
10 #include <cmath>
11 #include <deque>
12 #include <queue>
13 #include <stack>
14 #include <cstdio>
15 #include <cctype>
16 #include <string>
17 #include <vector>
18 #include <cstdlib>
19 #include <cstring>
20 #include <iostream>
21 #include <algorithm>
22 #define LL long long
23 #define INF 0x7fffffff
24 using namespace std;
25 #define N 405
26  
27 int main()
28 {
29     int n;
30     int a[100005],b[100005];
31     while(cin>>n)
32     {
33         long long res=0;
34         for(int i=0;i<n;i++){
35             scanf("%d",&a[i]);
36             res+=a[i];
37             b[i]=(1890*a[i]+143)%10007;
38 //            cout<<b[i]<<"qqqqqqqq";
39             b[i]=b[i]-a[i];
40         }
41         
42 //        for(int i=0;i<n;i++){
43 //            cout<<a[i]<<" "<<b[i]<<endl;
44 //        }
45         int j=0;
46         long long dis=0,pos=0;
47         while(j<n)
48         {
49 //            cout<<pos<<endl;
50 //        
51             pos+=b[j];
52             dis=max(dis,pos);
53             if(pos<0)
54             {
55                 pos=0;
56             }
57             j++;
58         }
59 //        cout<<res<<"sss"<<dis<<endl;
60         res+=dis;
61         cout<<res<<endl;
62     }
63     return 0;
64 }
View Code

1003

 待补

BestCoder Round #64 (div.2)

原文:http://www.cnblogs.com/sunshiniing/p/5014877.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!