URAL 1915 Titan Ruins: Reconstruction of Bygones(思路)
搞这个题差不多是从比赛开始到结束。
从自信慢慢的看题一直到wrong到死。
这个题目可以说成是思路题,以为我们只要明白一点,这道题就成了纯暴力的水题,
那就是当操作数不足栈中数字数目的时候,我们就没有必要复制了。
注意数组要开足,如果是一路复制的话,2^20就可以到10^6次方级了,在cur<n的情况下,cur的范围是有可能超10^6的,所以,我们至少要开到2*10^6大小。
代码如下:
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <stack>
#include <map>
#include <vector>
#include <algorithm> #define M 1000005 using namespace std; int st[2*M]; int main ()
{
int n, x, cur;
while(~scanf("%d",&n))
{
cur = 0;
while(n--)
{
scanf("%d",&x);
if(x==0)
{
if(cur<n)
{
for(int i = 0; i < cur; ++i)
st[cur+i] = st[i];
cur += cur;
}
}
else if(x==-1)
{
cur-=1;
printf("%d\n",st[cur]);
}
else
{
st[cur] = x;
++cur;
}
}
}
return 0;
}
URAL 1915 Titan Ruins: Reconstruction of Bygones(思路)的更多相关文章
- URAL - 1920 Titan Ruins: the Infinite Power of Magic(乱搞)
搞死人的题目,,, 就是在n*n的方格中找路径长度为L的回路. 开始的思路值适合n为偶数的情况,而忽视了奇数的case,所以wa了一次. 然后找奇数case的策略,代码从70多行变成了100多,然后改 ...
- URAL - 1917 Titan Ruins: Deadly Accuracy(水题)
水题一个,代码挫了一下: 题意不好理解. 你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来. 每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来. ...
- URAL 1920 Titan Ruins: the Infinite Power of Magic
大意: 有一张N*N的网格,你每次可以走一步,每格只能走一次,有没有一种方法让走了L步后回到一个距原点1步远的格子? 没有输出Unsuitable device,否则输出Overwhelming p ...
- 【URAL 1917】Titan Ruins: Deadly Accuracy(DP)
题目 #include<cstdio> #include<algorithm> using namespace std; #define N 1005 int n, m, cn ...
- LeetCode---Sort && Segment Tree && Greedy
307. Range Sum Query - Mutable 思路:利用线段树,注意数据结构的设计以及建树过程利用线段树,注意数据结构的设计以及建树过程 public class NumArray { ...
- LeetCode_406. Queue Reconstruction by Height解题思路
题目如下: Suppose you have a random list of people standing in a queue. Each person is described by a pa ...
- 牛客国庆集训派对Day1.B.Attack on Titan(思路 最短路Dijkstra)
题目链接 \(Description\) 给定\(n,m,C\)及大小为\((n+1)(m+1)\)的矩阵\(c[i][j]\).平面上有\((n+1)(m+1)\)个点,从\((0,0)\)编号到\ ...
- URAL 1040 Airline Company 构造,思路 难度:2
http://acm.timus.ru/problem.aspx?space=1&num=1040 题目要求在一个联通无向图中找出一种方法给边标号使得任意一个有多条边的点,边的号码的最大公约数 ...
- URAL 1830 Help in the RNOS 思路,读题 难度:1
http://acm.timus.ru/problem.aspx?space=1&num=1830 这道题需要理解题目操作的意思, 要更改第i位的状态,第i-1位必须激活为1,0-i-2位必须 ...
随机推荐
- winform客户端向web地址传参,怎样去接收参数。
在web端定义js方法去接收客户端传递过来的参数,具体就是获取地址中?后的数据,各个参数用&分割,存储于数组中,获取. 具体如下: //定义获取地址中参数的方法 function GetReq ...
- 第23章 排序算法(包括merge等)
第23章 排序算法 Sorting:1 sort Sort elements in range (function template)2 stable_sort Sort elements pr ...
- mybatis like的用法
oracle数据库: SELECT * FROM user WHERE name like CONCAT('%',#{name},'%') 或 SELECT * FROM user WHERE nam ...
- css颜色大全-转载
FFFFFF #DDDDDD #AAAAAA #888888 #666666 #444444 #000000 #FFB7DD #FF88C2 #FF44AA #FF0088 #C10066 #A ...
- word 批量删除书签
打开word 按住alt+F11 进入vba 界面 Sub test() Dim MyBk As Bookmark For Each MyBk In ActiveDocument.Bookmar ...
- Echarts 合并版本
1) Echarts x轴显示不全 解决办法:x轴加上如下代码. axisLabel:{ interval:0 } 2) tooltip文字没有左对齐 解决办法:tooltip加入如下代码. text ...
- removeClass() 方法
删除元素的class类别用removeClass() 方法,与addClass()方法对应.具体使用如下: 如果要删除 p 标记是 cls0 的类别,可以使用如下的代码: $("p" ...
- 调用xml文件的bean
AcTest.class package com.zyz.db; import com.zyz.dao.PersonDao; import org.springframework.context.Ap ...
- linux c libcurl的简单使用(转)
curl是Linux下一个非常著名的下载库,通过这个库,可以很简单的实现文件的下载等操作.看一个简单的例子: #include <curl/curl.h> #include <std ...
- rhel7网络管理
实验-禁用网卡命名规则: 在GRUB_CMDLINE_Linux=“rd.lvm.lv=rhel/root vconsole.keymap=us vconsole.font=latarcyheb-s ...