正题

题目链接: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-积木【堆】相关推荐

  1. 野鸡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− ...

  2. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  3. NOI.AC#2007-light【根号分治】

    正题 题目链接:http://noi.ac/problem/2007 题目大意 nnn个格子排成一排,每个格子有一个0/10/10/1和一个颜色.开始每个格子都是000,qqq次操作取反一个颜色的所有 ...

  4. NOI.AC#2139-选择【斜率优化dp,树状数组】

    正题 题目链接:http://noi.ac/problem/2139 题目大意 给出nnn个数字的序列aia_iai​.然后选出一个不降子序列最大化子序列的aia_iai​和减去没有任何一个数被选中的 ...

  5. NOI.AC#2144-子串【SAM,倍增】

    正题 题目链接:http://noi.ac/problem/2144 题目大意 给出一个字符串sss和一个序列aaa.将字符串sss的所有本质不同子串降序排序后,求有多少个区间[l,r][l,r][l ...

  6. NOI.AC#2266-Bacteria【根号分治,倍增】

    正题 题目链接:http://noi.ac/problem/2266 题目大意 给出nnn个点的一棵树,有一些边上有中转站(边长度为222,中间有一个中转站),否则就是边长为111. mmm次询问一个 ...

  7. noi.ac 405 bzoj 4403 序列统计 题解

    博客观赏效果更佳 题意简述 noi.ac再次蒯题,实锤了- 请你求长度在 [ 1 , n ] [1,n] [1,n] 范围内,值域在 [ l , r ] [l,r] [l,r] 范围内的序列中,不下降 ...

  8. noi.ac #543 商店

    我们考虑可并堆维护,从深到浅贪心选取. 用priority_queue启发式合并的话,是60pts: #include<iostream> #include<cstdio> # ...

  9. [NOI 1997] 积木游戏(dp)

    ·题目描述 一种积木游戏,游戏者有N块编号依次为1,2,-,N的长方体积木.第I块积木通过同一顶点三条边的长度分别为ai,bi,ci(i=1,2,-,N),如图1所示: 游戏规则如下: 1 从N块积木 ...

  10. noi.ac 邀请赛1 By cellur925

    A. array 考场:上来就想暴力,首先第一个子任务肯定没问题,怎么搞都行.然后第二个子任务用个数组记下新修的值就行了.第三个子任务用一下等差数列求和公式帮助求解,每次都重新算(因为每次改变全部元素 ...

最新文章

  1. 微信朋友圈里的十五种类型,笑死了!
  2. word删除分节符后之前的格式乱了_毕业论文Word技巧小结
  3. 从《芈月传》看热门IP在互联网视频行业的“前世今生”
  4. android glide裁剪图片大小,Glide系列(二)------图片剪裁
  5. Java经典23结构模型的设计模式(三)------附加代理模式、适配器型号、Facade模式的差异...
  6. 数据挖掘常用聚类算法性能比较
  7. 启动vsftpd失败是什么原因_消防排烟风机不启动的原因是什么呢?
  8. 图解设计模式:空对象模式
  9. 会话描述协议-SDP
  10. Android在线电影播放器案例
  11. java 新手入门级项目(家庭收支记账软件)
  12. 手机直播平台开发的解析
  13. 光纤跳线接口_如何为SFP光模块搭配对应的光纤跳线?
  14. android mml是什么软件,MML 文件扩展名: 它是什么以及如何打开它?
  15. 什么是网页设计中的滚动设计?如何进行滚动设计?
  16. XDOJ 133-一元稀疏多项式计算器
  17. Python中list元素重复n次
  18. 一些程序员都关注的公众号!
  19. 01 A股10个月争取翻10倍实盘操作记录(前言)
  20. python 人体检测技术_tensorflow入门教程(四十三)人体姿态检测(一)

热门文章

  1. mfc 找到字符串中字符_[LeetCode] 467. 环绕字符串中唯一的子字符串
  2. 数据结构——二叉树的双序遍历
  3. leetcode279. 完全平方数
  4. [mybatis]Mapper XML Files_CUD
  5. [Java基础]线程同步之卖票案列分析
  6. [Java基础]标准输入输出流
  7. Shaolin HDU - 4585(map模板题)
  8. 方案计数(带修计数题/线段树)
  9. BZOJ4589. Hard Nim
  10. CF785D Anton and School - 2