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

hdu 5063 Operation the Sequence

时间:2015-02-07 17:18:03      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

http://acm.hdu.edu.cn/showproblem.php?pid=5063

思路:因为3查询最多50,所以可以在查询的时候逆操作找到原来的位置,然后再求查询的值。

技术分享
 1 #include <cstdio>
 2 #include <iostream>
 3 #include <cstring>
 4 #include <algorithm>
 5 #define ll long long
 6 using namespace std;
 7 const int mod=1000000007;
 8 
 9 int n,m;
10 char str[1000];
11 int a[100010];
12 
13 ll pow_mod(ll a,ll p,ll n)
14 {
15     if(p==0) return 1;
16     ll ans=pow_mod(a,p/2,n);
17     ans=ans*ans%n;
18     if(p%2==1) ans=ans*a%n;
19     return ans;
20 }
21 
22 
23 int main()
24 {
25     int t;
26     scanf("%d",&t);
27     while(t--)
28     {
29         memset(a,0,sizeof(a));
30         scanf("%d%d",&n,&m);
31         getchar();
32         char op;
33         int cnt=0;
34         int pos=0;
35         int mid=(n+1)/2;
36         int x;
37         for(int i=1; i<=m; i++)
38         {
39             scanf("%c",&op);
40             if(op==O)
41             {
42                 scanf("%d",&x);
43                 a[i]=x;
44             }
45             else if(op==Q)
46             {
47                 scanf("%d",&x);
48                 pos=x;
49                 int c=1;
50                 for(int j=i-1; j>=1; j--)
51                 {
52                     if(a[j]==1)
53                     {
54                         if(pos<=mid)
55                             pos=pos*2-1;
56                         else
57                             pos=(pos-mid)*2;
58                     }
59                     else if(a[j]==2)
60                     {
61                         pos=n-pos+1;
62                     }
63                     else if(a[j]==3)
64                     {
65                        c=(c+c)%(mod-1);
66                     }
67                 }
68                 printf("%d\n",pow_mod(pos,c,mod));
69             }
70             getchar();
71         }
72     }
73     return 0;
74 }
View Code

 

hdu 5063 Operation the Sequence

标签:

原文地址:http://www.cnblogs.com/fanminghui/p/4278934.html

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