zoukankan      html  css  js  c++  java
  • 【HDOJ】5063 Operation the Sequence

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <cstdlib>
     4 
     5 #define MAXN 100005
     6 #define MOD 1000000007
     7 int que[MAXN], front = 0, rear = 0;
     8 int n;
     9 
    10 void query(int index) {
    11     int r = rear;
    12     int square = 0;
    13     int half = (n+1)>>1;
    14 
    15     while (r-- > front) {
    16         if (que[r] == 3) {
    17             ++square;
    18         } else if (que[r] == 2) {
    19             index = n+1-index;
    20         } else {
    21             if (index > half) {
    22                 index = (index - half)*2;
    23             } else {
    24                 index = 2*index - 1;
    25             }
    26         }
    27     }
    28     __int64 ret = index%MOD;
    29     for (int i=0; i<square; ++i) {
    30         ret = ret*ret%MOD;
    31     }
    32     printf("%I64d
    ", ret);
    33 }
    34 
    35 int main() {
    36     int t, m;
    37     int x;
    38     char cmd[3];
    39 
    40     scanf("%d", &t);
    41     while (t--) {
    42         rear = 0;
    43         scanf("%d%d", &n, &m);
    44         while (m--) {
    45             scanf("%s %d", cmd, &x);
    46             if (cmd[0] == 'Q') {
    47                 query(x);
    48             } else {
    49                 que[rear++] = x;
    50             }
    51         }
    52     }
    53     return 0;
    54 }
  • 相关阅读:
    Luogu 1514 引水入城
    HDU 2196 Computer
    CF460C Present
    初等数论整理
    2019UMS培训day6解题报告
    2019UMS培训day5解题报告
    2019UMS培训day3解题报告
    Luogu 1731 生日蛋糕
    JavaWeb之ServletContext域对象
    c3p0连接池
  • 原文地址:https://www.cnblogs.com/bombe1013/p/4019877.html
Copyright © 2011-2022 走看看