第一眼看到这题,woc,这不是主席树!?旁边HZ也表示同意,然后cGh队长就慢悠悠的过来:“想什么,USACO会有主席树!?”

↓打脸不解释,大家可以去%ta的博客(这样ta就不会D飞我了~)http://blog.csdn.net/cgh_andy/article/details/53012348

既然师兄都说链表了,如果用主席树(就是可持久化线段树啦)水,不是很不给面子......

所以就学了一发,果然又快又短~其实代码很好理解的(强行引用)

我们设c[i]为i位置最近买的牛 f[i]表示上一个状态是哪个位置

对于三个操作 买:c[i]=x f[i]=i-1

卖:c[i]=c[ f[i-1] ] f[i]=f[ f[i-1] ]

跳:c[i]=c[k-1]  f[i]=f[k-1]

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int f[],c[];
char ss[];
int main()
{
freopen("ttravel.in","r",stdin);
freopen("ttravel.out","w",stdout);
int n,x;
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%s",ss+);
if(ss[]=='a')
scanf("%d",&x), f[i]=i-, c[i]=x;
else if(ss[]=='s')
f[i]=f[f[i-]], c[i]=c[f[i-]];
else
scanf("%d",&x), f[i]=f[x-], c[i]=c[x-];
if(c[i]!=)printf("%d\n",c[i]);
else printf("-1\n");
}
return ;
}

最新文章

  1. WPF&#39;s Style BasedOn
  2. 去年做了什么?OA。
  3. 20145218&amp;20145240 《信息安全系统设计基础》实验三 实时系统的移植
  4. jquery插件-表单验证插件-validator对象
  5. 电话连线(codevs 1003)
  6. ECS 安装redis 及安装PHPredis的扩展
  7. 如何配置DNS服务器(局域网——域名指向某个IP地址)
  8. [html5] 学习笔记-bootstrap介绍
  9. C# Async/await 异步多线程编程
  10. typeof关键字的作用
  11. 剑指Offer——腾讯+360+搜狗校招笔试题+知识点总结
  12. SQL Server中将多行数据拼接为一行数据(一个字符串)
  13. uCos-II中任务的同步与通信
  14. 【.NET Core项目实战-统一认证平台】第十章 授权篇-客户端授权
  15. Git错误merge怎么办?
  16. eventproxy 介绍这款好用的工具,前端事件式编程的思维
  17. 创建servlet程序知识点详解---servlet-day03
  18. c++中运算符重载
  19. C#7.2——编写安全高效的C#代码
  20. Java之使用HttpClient发送GET请求

热门文章

  1. java基础之switch
  2. sql的case when用法
  3. python004 Python3 解释器
  4. Leetcode 222.完全二叉树的节点个数
  5. HDU-3746Cyclic Nacklace,next数组简单应用。
  6. NYOJ660逃离地球——只为最大存活率~
  7. Linux基础之vi编辑器(二)
  8. JavaBean映射工具dozer学习
  9. android修改系统时系统黑屏时不进入休眠状态
  10. 转 蓝桥杯 历届试题 波动数列 [ dp ]