[POI2007]TET-Tetris Attack
如果两个相同的数之间有x个未匹配的数,那么肯定要经过x次交换,所以与 [JLOI2013]删除物品类似,只要不做无效交换,交换数是一定的。
对于方案来讲,交换的位置是对于堆底的,所以当两个物品删除后,需要记录一个已被删去的物品的个数,输出位置时注意减去已被删去的物品的个数。
#include <bits/stdc++.h>
#define lowbit(x) x&(-x)
using namespace std;
const int N=1e6+5;
int n,dis,del,ans,tot;
int a[N],vis[N],c[N],sta[N];inline void change(int x,int v)
{while (x<=2*n){c[x]+=v;x+=lowbit(x);}
}
inline int query(int x)
{int res=0;while (x){res+=c[x];x-=lowbit(x);}return res;
}int main(){scanf("%d",&n);for (register int i=1; i<=2*n; ++i) scanf("%d",&a[i]);for (register int i=1; i<=2*n; ++i){if (!vis[a[i]]) vis[a[i]]=i,change(i,1);else {dis=query(i)-query(vis[a[i]]);ans+=dis;int now=i-1;while (dis) sta[++tot]=now-del,now--,dis--;del+=2;change(vis[a[i]],-1);}}printf("%d\n",ans);for (register int i=1; i<=tot; ++i) printf("%d\n",sta[i]);
return 0;
}
[POI2007]TET-Tetris Attack相关推荐
- 【POI 2007】Tetris Attack 正方体大作战(tet)
http://www.zybbs.org/JudgeOnline/problem.php?id=1106 http://main.edu.pl/en/archive/oi/14/tet 题目大意:诶呀 ...
- [BZOJ1106/POI2007]Tet立方体大作战
Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n个 ...
- 洛谷 P3460 [POI2007]TET-Tetris Attac
[POI2007]TET-Tetris Attack 题目描述 一种名为 Tetris Attack 的猜谜游戏风靡 Byteotia.游戏本身非常复杂,因此我们只介绍它的简化规则: 玩家拥有一个有 ...
- bzoj 1106: [POI2007]立方体大作战tet(贪心+树状数组)
1106: [POI2007]立方体大作战tet Time Limit: 10 Sec Memory Limit: 162 MB Submit: 785 Solved: 574 [Submit][ ...
- bzoj1106[POI2007]立方体大作战tet*
bzoj1106[POI2007]立方体大作战tet 题意: 给定玩家一个有2n个元素的栈,这些元素拥有n个不同的编号,每个编号正好有两个元素.玩家每次可以交换两个相邻的元素.如果在交换之后,两个相邻 ...
- 1106: [POI2007]立方体大作战tet
Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规 则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n ...
- BZOJ 1106: [POI2007]立方体大作战tet
Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规 则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n ...
- [POI2007]立方体大作战tet
Description 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介绍他的简单规 则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置.这些元素拥有n ...
- Pig变飞机?AI为什么这么蠢 | Adversarial Attack
整理 | Jane 责编 | Jane 出品 | AI科技大本营(公众号id:rgznai100) [编者按]这篇文章的起意有两点:一是由刚刚过去的 315 打假日,智能语音机器人在过去一年拨出的超 ...
最新文章
- mac 命令行 解压7z文件_Mac 有哪些好用的压缩软件?
- Django系列之启动入口源码分析
- pythoncharm快捷键_Pycharm最常用的快捷键及使用技巧
- HADOOP_MAPRED_ROOT_LOGGER has been replaced by HADOOP_ROOT_LOGGER
- Lua for Windows 开始学习Lua编程
- 华为云GaussDB(for MySQL)2.0全新升级,三大技术大揭秘
- 485通信实现自动收发功能
- visual studio 11开发Win8模板
- 20155324 《信息安全系统设计基础》课程总结
- 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树
- Netty 长连接服务
- jq ajax异步上传文件,jQuery Ajax上传文件
- 小程序开源框架选型及原理介绍
- 前端项目使用阿里图标
- IMU惯性测量单元是什么?
- html只能用鼠标进行各种操作,鼠标的基本操作有哪些?
- Springboot + Mybatis整合的小demo,火车订票系统
- php可以用中文的单引号吗,PHP中单双引号用法误区
- css实现流星划过动画
- selenium源码通读·5 |webdriver/common/action_chains.py-ActionChains类分析
热门文章
- NNDL 作业3:分别使用numpy和pytorch实现FNN例题
- Xgboost简单原理推导(手写图片)
- [Python爬虫] 三、数据抓取之Requests HTTP 库
- linux 脚本编写 -eq,关于shell脚本基础编程第四篇
- 16、什么是拟牛顿法(Quasi-Newton Methods)?
- EPICS -- autosave模块使用示例
- 速看!2022年8月编程语言排行榜出炉!第一名太牛啦
- javajavascript:void(‘h2‘)WEB(jsp基本语法表单提交)
- 5 爬虫 异步协程 梨视频
- Mac:Permission denied XXX