bzoj 2002 弹飞绵羊 分块
来源:互联网 发布:js css display 编辑:程序博客网 时间:2024/05/24 15:41
正解lct,然而本蒟蒻并不会....
分块思路很清晰,处理出每个点弹出所在块所需要的步数及出去后的第一个位置
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#define N 200005using namespace std;int n,m,nn,k[N],nxt[N],ned[N],be[N],tot;int opt,aa,bb,ans;void work(int x){int l=(x-1)*nn+1,r=x*nn;r=min(r,n);for(int i=r;i>=l;i--){if(i+k[i]>r){ned[i]=1;nxt[i]=i+k[i];}else{ned[i]=ned[i+k[i]]+1;nxt[i]=nxt[i+k[i]];}}}int main(){scanf("%d",&n);nn=sqrt(n); for(int i=1;i<=n;i++){scanf("%d",&k[i]); be[i]=(i-1)/nn+1;}tot=be[n];for(int i=1;i<=tot;i++) work(i);scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d%d",&opt,&aa);aa++;if(opt==1){ans=0;while(aa<=n){ans+=ned[aa];aa=nxt[aa];}printf("%d\n",ans);}else{scanf("%d",&bb);k[aa]=bb;work(be[aa]);}}return 0;}
阅读全文
0 0
- BZOJ 2002 HNOI2010 弹飞绵羊 分块
- BZOJ-2002-Bounce弹飞绵羊-分块
- 【BZOJ】2002 弹飞绵羊 分块
- BZOJ 2002 Hnoi2010 弹飞绵羊 分块
- bzoj 2002 弹飞绵羊 分块
- BZOJ 2002 Bounce 弹飞绵羊 [分块]
- bzoj 2002 弹飞绵羊 分块
- BZOJ 2002 弹飞绵羊 分块
- 弹飞绵羊 bzoj 2002 分块
- BZOJ 2002 Bounce 弹飞绵羊(分块|暴力|)(困难)
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊|分块
- BZOJ-2002 弹飞绵羊 Link-Cut-Tree (分块)
- bzoj 2002 弹飞绵羊 分块(水)
- bzoj 2002 [Hnoi2010]Bounce 弹飞绵羊 [分块][特殊处理]
- Bzoj 2002: [Hnoi2010]Bounce 弹飞绵羊(分块)
- BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊 分块
- [BZOJ 2002][Hnoi2010]Bounce 弹飞绵羊:分块|LCT
- [BZOJ]2002: [Hnoi2010]Bounce 弹飞绵羊 分块
- spring依赖注入单元测试:expected single matching bean but found 2
- wamp+phpstorm+xdebug配置教程以及vhost配置
- Linux将命令路径添加到PATH中
- W3C school
- ReactNative学习之旅(2)—对第一个Rn项目的初步调试
- bzoj 2002 弹飞绵羊 分块
- 2017.7.09模拟赛总结(JZ Summer Camp)
- bzoj1905: Soldier 士兵控制的棋盘
- 数据结构学习-线性表
- 在纪中的第四天,2017-7-10 总结:
- poj 1079 Ratio 模拟
- 学习Linux-4.12内核网路协议栈(1.6)——协议栈的初始化(inet_init实现过程)
- 【面经笔记】持久化数据结构,序列化与反序列化时机
- 主要推荐系统算法总结及Youtube深度学习推荐算法实例概括