嗯这道辣鸡题,当时我队友写了错误的代码,我稍微改动了,思路基本上是对了,但是就是超时,我第一直觉是我这个算法思路是没有任何问题的,但是就是TLE,我感觉这个算法已经优化的不能再优化了啊。。。后面就怀疑我们自己的算法有问题,于是改算法,想很多莫名奇妙的,却无法实现的东西,最后导致我另外一个队友那边卡题无法进行,最后三题滚粗,这道题我从来没有想到过,会因为map超时,因为这是从来没有出现过的事情。。。后来确实是map超时,赛后补题二维map依旧超内存,后来看网上的代码,的确用vis[]标记出现次数,如果某个语执行次数超过256,我们知道这个语句一定有值的重复,因为一个语句最多对应256个数字,这样不需要用二维map,只需要vis就行

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
using namespace std;
struct node
{
char word[];
int v,k,r;
} a[];
int vis[];
int main()
{
int t;
int n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
memset(vis,,sizeof(vis));
for (int i=; i<=n; i++)
{ scanf("%s",a[i].word);
if (a[i].word[]=='a' && a[i].word[]=='d')
{
scanf("%d",&a[i].r);
}
else
{
scanf("%d%d",&a[i].v,&a[i].k);
}
}
int time=n*;
int f=;
int ip=;
int r;
r=;
while(time>= && ip<=n)
{
if (vis[ip]>)
{
break;
}
vis[ip]++;
if (a[ip].word[]=='a' && a[ip].word[]=='d')
{
r=(r+a[ip].r)%;
ip++;
}
else if (a[ip].word[]=='b' && a[ip].word[]=='e')
{
if (a[ip].v==r)
{
ip=a[ip].k;
}
else
{
ip++;
}
}
else if (a[ip].word[]=='b' && a[ip].word[]=='n')
{
if (a[ip].v!=r)
{
ip=a[ip].k;
}
else
{
ip++;
}
}
else if (a[ip].word[]=='b' && a[ip].word[]=='l')
{
if (a[ip].v>r)
{
ip=a[ip].k;
}
else
{
ip++;
}
}
else if (a[ip].word[]=='b' && a[ip].word[]=='g')
{
if (a[ip].v<r)
{
ip=a[ip].k;
}
else
{
ip++;
}
}
time--;
}
if (ip>n)printf("Yes\n");
else printf("No\n");
}
return ;
}

ICPC青岛站网络赛-C-高效模拟的更多相关文章

  1. HDU 5884 Sort -2016 ICPC 青岛赛区网络赛

    题目链接 #include <iostream> #include <math.h> #include <stdio.h> #include<algorith ...

  2. HDU 5881 Tea -2016 ICPC 青岛赛区网络赛

    题目链接 题意:有一壶水, 体积在 L和 R之间, 有两个杯子, 你要把水倒到两个杯子里面, 使得杯子水体积几乎相同(体积的差值小于等于1), 并且使得壶里剩下水体积不大于1. 你无法测量壶里剩下水的 ...

  3. HDU 5878 I Count Two Three (打表+二分查找) -2016 ICPC 青岛赛区网络赛

    题目链接 题意:给定一个数n,求大于n的第一个只包含2357四个因子的数(但是不能不包含其中任意一种),求这个数. 题解:打表+二分即可. #include <iostream> #inc ...

  4. HDU 5879 Cure -2016 ICPC 青岛赛区网络赛

    题目链接 题意:给定一个数n,求1到n中的每一项的平方分之一的累加和. 题解:题目没有给数据范围,而实际上n很大很大超过long long.因为题目只要求输出五位小数,我们发现当数大到一定程度时值是固 ...

  5. hdu 5874 Friends and Enemies icpc大连站网络赛 1007 数学

    #include<stdio.h> #include<iostream> #include<algorithm> #include<math.h> #i ...

  6. hdu 5876 Sparse Graph icpc大连站网络赛 1009 补图最短路

    BFS+链表 代码改自某博客 #include<stdio.h> #include<iostream> #include<algorithm> #include&l ...

  7. 2016 ACM-ICPC 青岛站网络赛G题 题解

    [参考博客][https://blog.csdn.net/Tawn0000/article/details/82255682] 题意: 将n个数按照每k个一组来合并,合并需要花费的cost是两个数的长 ...

  8. 2019 ICPC南京站网络赛 H题 Holy Grail(BF算法最短路)

    计蒜客题目链接:https://nanti.jisuanke.com/t/41305 给定的起点是S,终点是T,反向跑一下就可以了,注意判负环以及每次查询需要添加边 AC代码: #include< ...

  9. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

随机推荐

  1. Python的变量以及类型

    1.程序是用来处理数据的,变量就是用来存储数据的  num1 = 100 2.为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型 3.怎样知道一个变量的类型呢? 3.1 在python ...

  2. Python: datetime 转换

    Directive Meaning Example Notes %a Weekday as locale’s abbreviated name. Sun, Mon, …, Sat (en_US); S ...

  3. JavaSE: SuppressWarnings[转]

    在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings(“XXXX”) 来解决 例如:@S ...

  4. RPM包的版本号比较

    版本号表示格式为 epoch:version-release,例如 1:2-3 第一条原则是 rpm 属性优先级 epoch > version > release        两个 r ...

  5. LeetCode算法题-Range Sum Query Immutable(Java实现)

    这是悦乐书的第204次更新,第214篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第70题(顺位题号是303).给定整数数组nums,找到索引i和j(i≤j)之间的元素之 ...

  6. JavaScript对象原型写法详解

        体现对象原型分步式写法 //原型分步式写法 //构造函数 function Person(){} //对象原型 Person.prototype.name = 'Avensatr'; Pers ...

  7. C. Queen Codeforces Round #549 (Div. 2) dfs

    C. Queen time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

  8. dubbo远程方法调用的基本原理

    1 dubbo是远程服务调用rpc框架 2 dubbo缺省协议采用单一长连接和NIO通讯 1client端生成一个唯一的id,封装方法调用信息obj(接口名,方法名,参数,处理结果的回调对象),在全局 ...

  9. redis在.net架构中的应用(1)--使用servicestack连接redis

    引言:作为少有的.net架构下的大型网站,stackoverflow曾发表了一篇文章,介绍了其技术体系,原文链接http://highscalability.com/blog/2011/3/3/sta ...

  10. vue组件详解——使用props传递数据

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 在 Vue 中,父子组件的关系可以总结为 props向下传递,事件向上传递.父组件通过 ...