码迷,mamicode.com
首页 > 其他好文 > 详细

今晚的两道 bc

时间:2014-10-12 00:35:47      阅读:349      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   for   sp   

第一道题    Beautiful Palindrome Number

,简单组合计数问题,手算打表就好~【第一次 提交竟然 wa了一次 有一个小小的坑在那。。。。

bubuko.com,布布扣
 1 /*********************************
 2 Author: jusonalien
 3 Email : jusonalien@qq.com
 4 school: South China Normal University
 5 Origin:
 6 *********************************/
 7 #include <iostream>
 8 #include <cstdio>
 9 #include <map>
10 #include <cstring>
11 #include <string>
12 #include <set>
13 #include <queue>
14 #include <vector>
15 using namespace std;
16 int ans[7] = {1,9,18,54,90,174,258};
17 int T;
18 int main(){
19     cin>>T;
20     int k;
21     while(T--){
22         cin>>k;
23         printf("%d\n",ans[k]);
24     }
25     return 0;
26 }
View Code

第二道题,Operation the Sequence

一开始想到的就是 线段树啥的,尼玛一个人在那想啊想啊,想到蛋碎 都没想到究竟要怎么操作,突然间想到能不能到时反过来 递推过去?这么一想会不会很傻X?会不会T啊?尼玛 连具体方法都没想好,就担心T了,,简直太低能了,后来lpt好像也在做这个比赛,她在Q上吐槽道说她刚去图书馆水过第一题后图书馆就闭馆了,然后我和她讨论了一下第二题,聊着聊着就聊到了递推,然后就她说有个词叫做离线。。。哎原来这就是离线?然后 我就开始写 ,为了能够保证到时能够倒着推过去,就用stack咯,,结果还没写完就out of submit time了,没办法交了,,,rating就这么跑了囧rz

晚上出去散了一下步之后,回来接着写那道题目,第一次t了一次,,原来我天真地用了快速幂,其实不用快速幂更快,然后答案没有设为long long 又wa 了一发,然后 乱搞了几次后就ac了

bubuko.com,布布扣
 1 /*********************************
 2 Author: jusonalien
 3 Email : jusonalien@qq.com
 4 school: South China Normal University
 5 Origin:
 6 *********************************/
 7 #include <iostream>
 8 #include <cstdio>
 9 #include <map>
10 #include <cstring>
11 #include <string>
12 #include <set>
13 #include <queue>
14 #include <vector>
15 #include <stack>
16 using namespace std;
17 const int MOD = 1e9 + 7;
18 int n,m,pow;
19 stack<int> op;
20 inline int fun_1(int o){
21     if(n&1){//ÆæÊý
22         if(o <= (n+1)/2)
23             return o*2 - 1;
24         else
25             return (o - (n+1)/2)*2;
26     }else{//żÊý
27        if(o <= n/2)
28             return o*2 - 1;
29         else
30             return (o - n/2) * 2;
31     }
32 }
33 inline int fun_2(int o){
34     return n - o + 1;
35 }
36 inline int solve(int o,int q){
37     if(o == 1)
38         return fun_1(q);
39     else
40         return fun_2(q);
41 }
42 int query(int o){
43     stack<int> q = op;
44     while(!q.empty()){
45         o = solve(q.top(),o);
46         q.pop();
47     }
48     long long ans = o;
49     for(int i = 1;i <= pow;++i)
50         ans = (ans*ans)%MOD;
51     return ans;
52 }
53 int T;
54 int main(){
55     n = 5;
56     char ope[3];
57     int ope_;
58     cin>>T;
59     while(T--){
60         pow = 0;
61         while(!op.empty()) op.pop();
62         scanf("%d%d",&n,&m);
63     for(int i = 1;i <= m;++i){
64             scanf("%s %d",ope,&ope_);
65             if(ope[0] == O&&ope_ != 3)
66                     op.push(ope_);
67             else if(ope[0] == O&&ope_ == 3 )
68                     pow++;
69             else if(ope[0] == Q)
70                  cout<<query(ope_)<<endl;
71         }
72     }
73     return 0;
74 }
View Code

 

今晚的两道 bc

标签:style   blog   http   color   io   os   ar   for   sp   

原文地址:http://www.cnblogs.com/jusonalien/p/4019955.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!