cug1699数组反转
来源:互联网 发布:linux查内存 编辑:程序博客网 时间:2024/06/05 18:31
题目大意:
题目描述:
input:
output:
思路:记录n次操作后每次的结果数组,因为k很小,可以存下。然后在q次询问时,每次查询a[l-1] 和a[r]的同一个数的相对位置即可。比赛的时候太慌,没有静心想
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <fstream>#include <algorithm>#include <cmath>#include <queue>#include <stack>#include <vector>#include <map>#include <set>#include <iomanip>using namespace std;//#pragma comment(linker, "/STACK:102400000,102400000")#define maxn 100050#define MOD 1000000007#define mem(a , b) memset(a , b , sizeof(a))#define LL long long#define ULL unsigned long longtypedef pair<int , int> pii;const long long INF= 0x3fffffff;int k , n , q , l , r;int a[maxn][22] , ans[22];int main(){ int t; scanf("%d" , &t); while(t--) { scanf("%d %d" , &k , &n); for(int i = 1 ; i <= k ; i ++) a[0][i] = i; for(int i = 1 ; i <= n ; i ++) { scanf("%d %d" , &l , &r); for(int j = 1 ; j <= k ; j ++) a[i][j] = a[i-1][j]; for(int j = l , s = r; j <= s ; j ++ , s -- ) { swap(a[i][j] , a[i][s]); } } scanf("%d" , &q); mem(ans , 0); long long res , tmp , cnt = 0; for(int i = 0 ; i < q ; i ++) { scanf("%d %d" , &l , &r); l--; //cout << l << for(int j = 1 ; j <= k ; j ++) { for(int s = 1 ; s <= k ; s ++) { if(a[l][j] == a[r][s]) { ans[s] = j; //cout << ans[s] << endl; break; } } } tmp = 23 , res = 0; for(int j = 1 ; j <= k ; j ++) { //cout << ans[j] << " "; res = (res + tmp * ans[j] % MOD) % MOD; tmp *= 23; tmp %= MOD; } //cout << endl; cnt += res; cnt %= MOD; // printf("%lld\n" , res); } printf("%lld\n" , cnt); } return 0 ;}
0 0
- cug1699数组反转
- 数组反转
- 数组反转
- 反转数组
- 反转数组
- 数组反转
- 数组反转
- 数组反转
- 数组 数组反转,排序
- 将数组进行反转
- 10.3.8反转数组
- 算法---反转数组
- 数组反转功能模拟
- 数组反转(上)
- 数组反转(中)
- 数组反转(下)
- javaSE 5.1 数组反转
- java 数组的反转
- java 前端及后台轮询方法总结
- poj 1703 Find them, Catch them
- 【C语言】动态内存分配alloca
- UVa 712 S-Trees(满二叉树数组保存与编号)
- g4l 备份还原linux系统
- cug1699数组反转
- PAT乙级1006:换个格式输出整数 (15)
- Stanford 机器学习 Dimensionality Reduction
- java性能优化之二 循环里面不使用hibernate创建对象
- solr占用CPU持续过高原因查询
- lintcode ----反转整数
- 20160511 GreenPlum9 索引
- Android 命名规范 (提高代码可以读性)
- Xcode快捷键