51nod 1422 沙拉酱前缀
来源:互联网 发布:人类不会毁于人工智能 编辑:程序博客网 时间:2024/05/01 16:24
记录所有操作以及操作结束后的数列长度。对于每个询问,二分查找对应的操作。如果查找到的操作种类为2,则继续向前二分查找,直到查找到的操作种类为1为止。
时间复杂度O(N*log(N)*log(N))
#include<bits/stdc++.h>using namespace std;const int MAXN=100100;long long op[MAXN],pos[MAXN],l[MAXN],c[MAXN],x[MAXN];int main(){long long m,n,q,index,i;while(scanf("%lld",&m)!=EOF){pos[0]=0;for(i=1;i<=m;i++){scanf("%lld",&op[i]);if(op[i]==1){scanf("%lld",&x[i]);pos[i]=pos[i-1]+1;} else{scanf("%lld%lld",&l[i],&c[i]);pos[i]=pos[i-1]+l[i]*c[i];}}scanf("%lld",&n);while(n--){scanf("%lld",&q);index=lower_bound(pos,pos+m+1,q)-pos;while(op[index]!=1){q=(q-pos[index-1])%l[index];if(q==0)q=l[index];index=lower_bound(pos,pos+m+1,q)-pos;}printf("%lld ",x[index]);}printf("\n");}}
0 0
- 51nod 1422:沙拉酱前缀
- 51nod 1422 沙拉酱前缀
- 51nod-1422 沙拉酱前缀
- 51nod-1422:沙拉酱前缀
- 51Nod 1422 沙拉酱前缀
- 51Nod-1422-沙拉酱前缀
- 51Nod 1422 沙拉酱前缀 二分查找
- 51nod-沙拉酱前缀(二分+打表)
- 1422 沙拉酱前缀
- 1422 沙拉酱前缀 (二分+离散化)@
- 51nod 1344 【前缀和】
- 51nod 1280 前缀后缀集合
- 51nod-1280 前缀后缀集合
- 51nod 1572 宝岛地图(前缀和)
- 51nod 1087 前缀和 STL lower_bound
- 51nod 1280 前缀后缀集合(set)
- 51nod 1280 前缀后缀集合
- 51 nod 1682 中位数计数(前缀和)
- 这是测试
- ViewPager 详解(四)----自主实现滑动指示条
- Web前端优化常用规则
- 20161114
- 如何自学Android
- 51nod 1422 沙拉酱前缀
- 区块链开发(七)truffle使用入门汇总
- POJ 3114 Countries in War
- 将博客搬至CSDN
- 从 MyEclipse 到 IntelliJ IDEA
- powerdesign1.5 使用jdbc连接远程oracle数据库
- 关于myeclipse(2015S2.0)校验一些文件出错
- 玲珑 1050 array
- JS的基本输入和输出: