NOI.AC-积木【堆】
正题
题目链接:http://noi.ac/contest/266/problem/794
题目大意
无限多个1∗21*21∗2的砖块交替着
一个砖块会掉落仅当下方两个砖块都掉落,现在抽出nnn个砖块,求掉落多少个砖块。
解题思路
开一个优先队列,若两个连在一起的就把上面那个加进去就好了,然后我们发现这样会TLETLETLE。
我们可以将连着的存在一块里就好了。
codecodecode
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define ll long long
using namespace std;
const ll N=3e5+10;
struct node{ll x,l,r;
}v[N];
bool operator<(const node &x,const node &y)
{return x.x==y.x?x.l>y.l:x.x>y.x;}
ll n,ans,cnt;
priority_queue<node> q;
int main()
{scanf("%lld",&n);for(ll i=1;i<=n;i++){ll x,y;scanf("%lld%lld",&x,&y);q.push((node){x,y,y+1});}while(!q.empty()){ll x=q.top().x;cnt=0;while(!q.empty()&&q.top().x==x)v[++cnt]=q.top(),q.pop();ll l=v[1].l,r=v[1].r;for(ll i=1;i<=cnt;i++){if(r+1>=v[i].l)r=max(v[i].r,r);else{if(l+1!=r)q.push((node){x+1,l+1,r-1});ans+=(r-l+1)/2;l=v[i].l;r=v[i].r;}}if(l+1!=r)q.push((node){x+1,l+1,r-1});ans+=(r-l+1)/2;}printf("%lld",ans);
}
NOI.AC-积木【堆】相关推荐
- 野鸡NOI.AC模拟赛【2019.10.26】
前言 截止至2019.10.2614:222019.10.26\ \ \ \ 14:222019.10.26 14:22 成绩 正题 T1:NOI.AC−T1:NOI.AC-T1:NOI.AC− ...
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- NOI.AC#2007-light【根号分治】
正题 题目链接:http://noi.ac/problem/2007 题目大意 nnn个格子排成一排,每个格子有一个0/10/10/1和一个颜色.开始每个格子都是000,qqq次操作取反一个颜色的所有 ...
- NOI.AC#2139-选择【斜率优化dp,树状数组】
正题 题目链接:http://noi.ac/problem/2139 题目大意 给出nnn个数字的序列aia_iai.然后选出一个不降子序列最大化子序列的aia_iai和减去没有任何一个数被选中的 ...
- NOI.AC#2144-子串【SAM,倍增】
正题 题目链接:http://noi.ac/problem/2144 题目大意 给出一个字符串sss和一个序列aaa.将字符串sss的所有本质不同子串降序排序后,求有多少个区间[l,r][l,r][l ...
- NOI.AC#2266-Bacteria【根号分治,倍增】
正题 题目链接:http://noi.ac/problem/2266 题目大意 给出nnn个点的一棵树,有一些边上有中转站(边长度为222,中间有一个中转站),否则就是边长为111. mmm次询问一个 ...
- noi.ac 405 bzoj 4403 序列统计 题解
博客观赏效果更佳 题意简述 noi.ac再次蒯题,实锤了- 请你求长度在 [ 1 , n ] [1,n] [1,n] 范围内,值域在 [ l , r ] [l,r] [l,r] 范围内的序列中,不下降 ...
- noi.ac #543 商店
我们考虑可并堆维护,从深到浅贪心选取. 用priority_queue启发式合并的话,是60pts: #include<iostream> #include<cstdio> # ...
- [NOI 1997] 积木游戏(dp)
·题目描述 一种积木游戏,游戏者有N块编号依次为1,2,-,N的长方体积木.第I块积木通过同一顶点三条边的长度分别为ai,bi,ci(i=1,2,-,N),如图1所示: 游戏规则如下: 1 从N块积木 ...
- noi.ac 邀请赛1 By cellur925
A. array 考场:上来就想暴力,首先第一个子任务肯定没问题,怎么搞都行.然后第二个子任务用个数组记下新修的值就行了.第三个子任务用一下等差数列求和公式帮助求解,每次都重新算(因为每次改变全部元素 ...
最新文章
- 微信朋友圈里的十五种类型,笑死了!
- word删除分节符后之前的格式乱了_毕业论文Word技巧小结
- 从《芈月传》看热门IP在互联网视频行业的“前世今生”
- android glide裁剪图片大小,Glide系列(二)------图片剪裁
- Java经典23结构模型的设计模式(三)------附加代理模式、适配器型号、Facade模式的差异...
- 数据挖掘常用聚类算法性能比较
- 启动vsftpd失败是什么原因_消防排烟风机不启动的原因是什么呢?
- 图解设计模式:空对象模式
- 会话描述协议-SDP
- Android在线电影播放器案例
- java 新手入门级项目(家庭收支记账软件)
- 手机直播平台开发的解析
- 光纤跳线接口_如何为SFP光模块搭配对应的光纤跳线?
- android mml是什么软件,MML 文件扩展名: 它是什么以及如何打开它?
- 什么是网页设计中的滚动设计?如何进行滚动设计?
- XDOJ 133-一元稀疏多项式计算器
- Python中list元素重复n次
- 一些程序员都关注的公众号!
- 01 A股10个月争取翻10倍实盘操作记录(前言)
- python 人体检测技术_tensorflow入门教程(四十三)人体姿态检测(一)
热门文章
- mfc 找到字符串中字符_[LeetCode] 467. 环绕字符串中唯一的子字符串
- 数据结构——二叉树的双序遍历
- leetcode279. 完全平方数
- [mybatis]Mapper XML Files_CUD
- [Java基础]线程同步之卖票案列分析
- [Java基础]标准输入输出流
- Shaolin HDU - 4585(map模板题)
- 方案计数(带修计数题/线段树)
- BZOJ4589. Hard Nim
- CF785D Anton and School - 2