2018.12.28-bzoj-2006-[NOI2010]超级钢琴
题目描述:
算法标签:st表
思路:
以下代码:
#include<bits/stdc++.h> #define il inline #define _(d) while(d(isdigit(ch=getchar()))) using namespace std; const int N=5e5+5; struct node{int x,l,r,pos,v;friend bool operator<(node t1,node t2) {return t1.v<t2.v;}}; int n,k,L,R,sum[N],mx[N][20],Log[N];long long ans;priority_queue<node> q; il int read(){int x,f=1;char ch;_(!)ch=='-'?f=-1:f;x=ch^48;_()x=(x<<1)+(x<<3)+(ch^48);return f*x;} il int Max(int x,int y){return sum[x]<sum[y]?y:x;} il int query(int l,int r){int k=Log[r-l+1];return Max(mx[l][k],mx[r-(1<<k)+1][k]);} int main() {n=read();k=read();L=read();R=read();for(int i=1;i<=n;i++)sum[i]=sum[i-1]+read(),mx[i][0]=i;for(int i=2;i<=n;i++)Log[i]=Log[i>>1]+1;for(int j=1;j<=Log[n];j++)for(int i=1;i+(1<<j-1)<=n;i++)mx[i][j]=Max(mx[i][j-1],mx[i+(1<<(j-1))][j-1]);for(int i=1;i+L-1<=n;i++){int pos=query(i+L-1,min(i+R-1,n));q.push((node){i,i+L-1,min(i+R-1,n),pos,sum[pos]-sum[i-1]});}while(k--){node now=q.top();q.pop();ans+=now.v;int p;if(now.l<now.pos)p=query(now.l,now.pos-1),q.push((node){now.x,now.l,now.pos-1,p,sum[p]-sum[now.x-1]});if(now.pos<now.r)p=query(now.pos+1,now.r),q.push((node){now.x,now.pos+1,now.r,p,sum[p]-sum[now.x-1]});}printf("%lld\n",ans);return 0; }
View Code
转载于:https://www.cnblogs.com/Jessie-/p/10193653.html
2018.12.28-bzoj-2006-[NOI2010]超级钢琴相关推荐
- bzoj 2006 [NOI2010]超级钢琴 rmq+堆
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec Memory Limit: 512 MB Submit: 3708 Solved: 1846 [Submit][Sta ...
- BZOJ2006 [NOI2010]超级钢琴 【堆 + RMQ】
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec Memory Limit: 552 MB Submit: 3446 Solved: 1692 [Submit][Sta ...
- [NOI2010]超级钢琴 主席树
[NOI2010]超级钢琴 链接 luogu 思路 和12省联考的异或粽子一样. 堆维护n个左端点,每次取出来再放回去次 代码 #include <bits/stdc++.h> #defi ...
- NOI2010超级钢琴
**NOI2010 超级钢琴** **Description** 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出 ...
- P2048 [NOI2010] 超级钢琴(ST表 + 优先队列优化)
P2048 [NOI2010] 超级钢琴 题目 小 Z 是一个小有名气的钢琴家,最近 C 博士送给了小 Z 一架超级钢琴,小 Z 希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出 ...
- 贪心(数据结构):COGS 468. [NOI2010]超级钢琴
★★★☆ 输入文件:piano.in 输出文件:piano.out 简单对比 时间限制:2 s 内存限制:512 MB 超级钢琴 [问题描述] 小Z是一个小有名气的钢琴家,最近C博士送 ...
- 日常作业2018.12.28
作业 1.赌博游戏 package com.job12_1;import java.util.Scanner; /*** 赌博游戏* @author Administrator* 2018.12.26 ...
- 【一周头条盘点】中国软件网(2018.12.24~2018.12.28)
每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 一周热点 网信办:金融信息服务提供者不得散布虚假金融信息 近日,国家网信办发布金融信息服务管理规定,规定明确,金融信息服务提 ...
- 洛谷 P2048 [NOI2010]超级钢琴(优先队列,RMQ)
传送门 我们定义$(p,l,r)=max\{sum[t]-sum[p-1],p+l-1\leq t\leq p+r-1 \}$ 那么因为对每一个$p$来说$sum[p-1]$是一个定值,所以我们只要在 ...
- 2018.12.28
关于细胞分化轨迹学习小笔记 学习工具 相关学习文章 学习框架 1.降维 2.轨迹算法 文章解读 一.Monocle2 1.流程 2. 方法 2.1 反转图嵌入 2.1.1定义 2.1.2优化公式 2. ...
最新文章
- Broadcast应用场景分析
- 2010 求后序遍历
- HTTPD(三)--HTTP2.4.9编译安装
- HTML网页模版/DTD有三种类型
- 27款经典网站设计必备的CSS框架
- phpcms v9 在当前栏目下获取父栏目与当前栏目的名称与连接
- SAP License:CO07利润中心必输
- C语言实现顺序表(数据结构)
- iPhone使用教程
- Yocto系列讲解[实战篇]44 - bb文件中函数实操演示(2)
- iptables设置映射通过外网端口代理ssh登录内网服务器
- StatusBar浅析
- Adobe Photoshop 自动化 脚本
- 3月16日---3月20日课程表
- Google 规避账户关联
- 撤消git stash pop导致合并冲突
- 微信小程序云开发-树洞小程序Treehole(评论帖子/发布话题实现)
- 计算机音乐制作专业大纲,电脑音乐制作教学大纲.doc
- Mac运行越来越慢的解决办法
- 在外国影响深远的家族,381年后回到中国认祖归宗,族谱:我是中国人
热门文章
- AI智能体学会动物进化法则:李飞飞等提出深度进化RL
- ​台媒:台积电2nm制程获重大突破
- 深度解析:国产化软硬件全景梳理
- 麦肯锡:企业数字化转型不要被技术“绑架”
- 传感器融合:自动驾驶领域的另一个突围方向
- 报告解读 | 智能技术“核聚变”催生智能经济,将拉动十万亿市场
- NLP 解决方案是如何被深度学习改写的?
- 拼多多程序员:因为看到同事被抬上救护车,我被开除了!
- 单行文字垂直/水平跑马灯效果
- Chapter 7. Testing and Debugging