设为首页 加入收藏

TOP

HDU 5063 Operation the Sequence(暴力)
2015-07-20 17:30:18 来源: 作者: 【 】 浏览:2
Tags:HDU 5063 Operation the Sequence 暴力

HDU 5063 Operation the Sequence

题目链接

把操作存下来,由于只有50个操作,所以每次把操作逆回去运行一遍,就能求出在原来的数列中的位置,输出即可

代码:

#include 
  
   
#include 
   
     #include 
    
      using namespace std; typedef long long ll; const int N = 100005; const ll MOD = 1000000007; int t, n, m, c; ll a[N]; int op[N], on; char str[3]; ll pow_mod(ll x, ll k) { ll ans = 1; while (k) { if (k&1) ans = ans * x % MOD; x = x * x % MOD; k >>= 1; } return ans; } ll solve(int c) { ll mul = 1; for (int i = on - 1; i >= 0; i--) { if (op[i] == 1) { if (c > (n + 1) / 2) c = (c - (n + 1) / 2) * 2; else c = (c - 1) * 2 + 1; } else if (op[i] == 2) c = n - c + 1; else mul = mul * 2 % (MOD - 1); } return pow_mod(a[c], mul); } int main() { scanf("%d", &t); while (t--) { on = 0; scanf("%d%d", &n, &m); for (int i = 1; i <= n; i++) a[i] = i; while (m--) { scanf("%s%d", str, &c); if (str[0] == 'O') op[on++] = c; else printf("%lld\n", solve(c)); } } return 0; }
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj2155 Matrix 二维数组数组 下一篇Codeforces 327B-Hungry Sequence..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·每日一道面试题-多线 (2025-12-26 06:20:17)
·java项目中哪些地方 (2025-12-26 06:20:14)
·Java真的是要没落了 (2025-12-26 06:20:12)
·C++ Lambda表达式保 (2025-12-26 05:49:45)
·C++ Lambda表达式的 (2025-12-26 05:49:42)