Description

  一个叫做立方体大作战的游戏风靡整个Byteotia。这个游戏的规则是相当复杂的,所以我们只介绍他的简单规
则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置。这些元素拥有n个不同的编号,每个编号正好有两个
元素。玩家每次可以交换两个相邻的元素。如果在交换之后,两个相邻的元素编号相同,则将他们都从栈中移除,
所有在他们上面的元素都会掉落下来并且可以导致连锁反应。玩家的目标是用最少的步数将方块全部消除。

Input

  第一行包含一个正整数n(1<=n<=50000)。接下来2n行每行一个数ai,从上到下描述整个栈,保证每个数出现且
仅只出现两次(1<=ai<=n)。初始时,没有两个相同元素相邻。并且保证所有数据都能在1000000步以内出解。

Output

  第一行包含一个数m,表示最少的步数。

Sample Input

样例输入1
5
5
2
3
1
4
1
4
3
5
2
样例输入2
3
1
2
3
1
2
3

Sample Output

样例输出1
2
样例输出2
3

HINT

 

贪心一下。。。似乎从下面消比较好。。。然后就过了。。。
似乎是因为如果这样消,就是从内往外消,然后这样显然是最优的。。。

 1 #include<iostream>
 2 #include<cstdlib>
 3 #include<cmath>
 4 #include<cstring>
 5 #include<cstdio>
 6 #include<algorithm>
 7 #include<string>
 8 #include<map>
 9 #include<queue>
10 #include<vector>
11 #include<set>
12 #define inf 1000000000
13 #define maxn 100000+5
14 #define maxm 10000+5
15 #define eps 1e-10
16 #define ll long long
17 #define for0(i,n) for(int i=0;i<=(n);i++)
18 #define for1(i,n) for(int i=1;i<=(n);i++)
19 #define for2(i,x,y) for(int i=(x);i<=(y);i++)
20 #define for3(i,x,y) for(int i=(x);i>=(y);i--)
21 #define for4(i,x) for(int i=head[x],y=e[i].go;i;i=e[i].next,y=e[i].go)
22 using namespace std;
23 int t[maxn],s[maxn],top,ans;
24 int read(){
25     int x=0,f=1;char ch=getchar();
26     while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
27     while(ch>='0'&&ch<='9'){x=10*x+ch-'0';ch=getchar();}
28     return x*f;
29 }
30 int main(){
31     //freopen("input.txt","r",stdin);
32     //freopen("output.txt","w",stdout);
33     int n=read();
34     for1(i,2*n){
35         int x=read();
36         if(t[x]){
37             int j;
38             for(j=top;j;j--)
39                 if(s[j]==x)break;
40             ans+=top-j;
41             while(j<top){
42                 s[j]=s[j+1];
43                 j++;
44             }
45             top--;
46         }
47         else{
48             t[x]=1;
49             s[++top]=x;
50         }
51     }
52     printf("%d",ans);
53     return 0;
54 }

View Code

转载于:https://www.cnblogs.com/htwx/articles/5541108.html

1106: [POI2007]立方体大作战tet相关推荐

  1. bzoj 1106: [POI2007]立方体大作战tet(贪心+树状数组)

    1106: [POI2007]立方体大作战tet Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 785  Solved: 574 [Submit][ ...

  2. BZOJ 1106: [POI2007]立方体大作战tet

    Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规 则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n ...

  3. bzoj1106[POI2007]立方体大作战tet*

    bzoj1106[POI2007]立方体大作战tet 题意: 给定玩家一个有2n个元素的栈,这些元素拥有n个不同的编号,每个编号正好有两个元素.玩家每次可以交换两个相邻的元素.如果在交换之后,两个相邻 ...

  4. [POI2007]立方体大作战tet

    Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规 则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n ...

  5. [BZOJ1106/POI2007]Tet立方体大作战

    Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n个 ...

  6. 【POI 2007】Tetris Attack 正方体大作战(tet)

    http://www.zybbs.org/JudgeOnline/problem.php?id=1106 http://main.edu.pl/en/archive/oi/14/tet 题目大意:诶呀 ...

  7. [颓废史]蒟蒻的刷题记录

    QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...

  8. SLAM第12讲 建图实践部分

    1 实践:单目稠密重建 1.1 我们需要下载示例程序所需要的数据集http://rpg.ifi.uzh.ch/datasets/remode_test_data.zip.它提供了一架无人机采集到的单目 ...

  9. 论文翻译 | 多鱼眼相机的全景SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 提出了一种基于特征的全景图像序列同时定位和建图系统,该系统是在宽基线移动建图系统中从多鱼眼相 ...

最新文章

  1. C语言求3x3数组对角线元素之和
  2. Hadoop 资源列表
  3. 初学Java Web(2)——搭建Java Web开发环境
  4. gitlab 目录tag_【环境搭建】gitlab-ci(持续集成)
  5. 发送消息时,设定TTL
  6. 洛谷2296 寻找道路
  7. 分页查询的SQL语句
  8. 一元稀疏多项式加法运算
  9. Zotero文献管理软件使用指南——入门篇
  10. VS2010 0xC000041D:用户回调期间遇到未经处理的异常
  11. python的encode()和decode()的用法及实例
  12. lighttpd和php关系,Lighttpd是什么
  13. Laravel Guzzle封装
  14. 线性代数中满足乘法交换律的运算-行列式与迹
  15. Air202掉坑日记(2)——连接阿里云成功后自动掉线(AT版本)
  16. 大麦路由器dw22d不拆机刷breed和openwrt
  17. LaTex - PPT 模板-1 (亲测可用)
  18. tddl+diamond(一)
  19. 基于FME实现等高线的计曲线连接工具,快速连接计曲线在计曲线注记点断开处的缺口,计曲线批量连接,等高线批量连接
  20. 脚本循环ping所有网段

热门文章

  1. 利用Catmull-Rom算法画人脸轮廓
  2. Shapely 扩展包功能札记
  3. 大数据分析师与大数据工程师职位,孰轻孰重?(个人角度)
  4. [AHK]设置快捷键快速呼出隐藏XYplorer
  5. 讯飞语音转文字 PHP demo
  6. 赌徒破产理论(Gambler's Ruin)
  7. Grafana使用双Y坐标轴详解
  8. 解决win10系统点击飞行模式后找不到WiFi连接问题
  9. 低温工作笔记本计算机,电脑低温自动关机
  10. iPhone无法联网问题