[九省联考2018]IIIDX
题目描述
#include<iostream>
#include<cstdio>
#include<algorithm>
#define N 500002
using namespace std;
int tr[N<<],la[N<<],num[N],n,size[N],ans[N],a[N];
double k;
bool tag[N];
inline int rd(){
int x=;char c=getchar();bool f=;
while(!isdigit(c)){if(c=='-')f=;c=getchar();}
while(isdigit(c)){x=(x<<)+(x<<)+(c^);c=getchar();}
return f?-x:x;
}
inline bool cmp(int a,int b){return a>b;}
inline void pushdown(int cnt){
tr[cnt<<]+=la[cnt];tr[cnt<<|]+=la[cnt];
la[cnt<<]+=la[cnt];la[cnt<<|]+=la[cnt];
la[cnt]=;
}
void build(int cnt,int l,int r){
if(l==r){tr[cnt]=l;return;}
int mid=(l+r)>>;
build(cnt<<,l,mid);build(cnt<<|,mid+,r);
tr[cnt]=min(tr[cnt<<],tr[cnt<<|]);
}
void upd(int cnt,int l,int r,int L,int R,int x){
if(l>=L&&r<=R){
tr[cnt]+=x;la[cnt]+=x;return;
}
int mid=(l+r)>>;
if(la[cnt])pushdown(cnt);
if(mid>=L)upd(cnt<<,l,mid,L,R,x);
if(mid<R)upd(cnt<<|,mid+,r,L,R,x);
tr[cnt]=min(tr[cnt<<],tr[cnt<<|]);
}
int _searsh(int cnt,int l,int r,int x){
if(l==r)return tr[cnt]>=x?l:l+;
int mid=(l+r)>>;
if(la[cnt])pushdown(cnt);
if(tr[cnt<<|]>=x)return _searsh(cnt<<,l,mid,x);
else return _searsh(cnt<<|,mid+,r,x);
}
int main(){
n=rd();scanf("%lf",&k);
for(int i=;i<=n;++i)a[i]=rd();
sort(a+,a+n+,cmp);
for(int i=n;i>=;--i)num[i]=a[i]==a[i+]?num[i+]+:;
build(,,n);
for(int i=n;i>=;--i){
size[i]++;
size[(int)(i/k)]+=size[i];
}
for(int i=;i<=n;++i){
int fa=int((double)i/k);
if(fa&&!tag[fa])upd(,,n,ans[fa],n,size[fa]-),tag[fa]=;
int x=_searsh(,,n,size[i]);
x+=num[x];num[x]++;x-=(num[x]-);
ans[i]=x;
upd(,,n,ans[i],n,-size[i]);
}
for(int i=;i<=n;++i)printf("%d ",a[ans[i]]);
return ;
}
[九省联考2018]IIIDX的更多相关文章
- [luogu] P4364 [九省联考2018]IIIDX(贪心)
P4364 [九省联考2018]IIIDX 题目背景 Osu 听过没?那是Konano 最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐游戏.现在,他在世界知名游戏公司KONMAI ...
- [BZOJ5249][九省联考2018]IIIDX(线段树)
5249: [2018多省省队联测]IIIDX Time Limit: 40 Sec Memory Limit: 512 MBSubmit: 32 Solved: 17[Submit][Statu ...
- 洛谷 4364 [九省联考2018]IIIDX——“预留”的思路
题目:https://www.luogu.org/problemnew/show/P4364 原来想了一个错误的思路,就是这样: solve( cr , l , r ) 表示 cr 为根的子树填 [ ...
- BZOJ5249:[九省联考2018]IIIDX——题解
https://www.luogu.org/problemnew/show/P4364#sub https://www.lydsy.com/JudgeOnline/problem.php?id=524 ...
- 洛谷P4364 [九省联考2018]IIIDX 【线段树】
题目 [题目背景] Osu听过没?那是Konano最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐游戏.现在 ,他在世界知名游戏公司KONMAI内工作,离他的梦想也越来越近了.这款 ...
- [luogu]P4364 [九省联考2018]IIIDX
题目背景 Osu 听过没?那是Konano 最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐游戏.现在,他在世界知名游戏公司KONMAI 内工作,离他的梦想也越来越近了. 这款音乐 ...
- BZOJ.5249.[九省联考2018]iiidx(贪心 线段树)
BZOJ LOJ 洛谷 \(d_i\)不同就不用说了,建出树来\(DFS\)一遍. 对于\(d_i\)不同的情况: Solution 1: xxy tql! 考虑如何把这些数依次填到树里. 首先对于已 ...
- 解题:九省联考2018 IIIDX
题面 我当时在考场上划水的时候好像乱搞搞了20pts,然后发现一堆同届的都写了55pts的贪心=.=??? 那就先说那55pts的贪心吧,这个现在看起来还是非常显然的,就是按题意来每一块是分属一个点的 ...
- [九省联考 2018]IIIDX
Description 题库链接 给你 \(n+1\) 个节点的一棵树,节点编号为 \(0\sim n\) , \(0\) 为根.边集为 \(\mathbb{E}=\left\{(u,v)\big|\ ...
随机推荐
- Windows7 WIN 7 64位 环境编译6sv2.1版本的大气传输模型
从来没见过Fortran...这次为了添加国产卫星光谱响应的支持,只能从零开始肯了. 6S模型主页:http://6s.ltdri.org/index.html. 下载最新的2015年更新的6SV2. ...
- win10的react native 开发环境搭建,使用Android模拟器
1.打开cmd的管理员模式,win+X,选择命令提示符(管理员)即可,运行如下命令: @"%SystemRoot%\System32\WindowsPowerShell\v1.0\power ...
- python实例七
https://www.cnblogs.com/evablogs/p/6791548.html 题目:将一个列表的数据复制到另一个列表中. 程序分析:打算利用for循环和append函数来复制到另一个 ...
- navicat 将自增长字段重置(重新从1开始)的方法
先说明,此语句会将你的表中数据全部删除. 很简单,运行如下sql语句: TRUNCATE TABLE 表名;
- Elixir 简介
概述 Elixir 是一种基于 Erlang 虚拟机的函数式,面向并行的通用语言, 它是一门通用语言,所以不仅可以用在擅长的高可用,高并发场景下,也可以用在 web 开发等场景下. Erlang 诞生 ...
- WPF中在MVVM模式下,后台绑定ListCollectionView事件触发问题
问题:WPF中MVVM模式下 ListView绑定ListCollectionView时,CurrentChanged无法触发 解决方案: 初期方案:利用ListView的SelectionChang ...
- .NET CORE学习笔记系列(2)——依赖注入[4]: 创建一个简易版的DI框架[上篇]
原文https://www.cnblogs.com/artech/p/net-core-di-04.html 本系列文章旨在剖析.NET Core的依赖注入框架的实现原理,到目前为止我们通过三篇文章从 ...
- @FeignClient
@FeignClient("APP-PROVIDER")public interface MyFeignClient { @RequestMapping(value = " ...
- 返回数组中指定的一列,将键值作为元素键名array_column
array_column() 函数 从记录集中取出 last_name 列: <?php // 表示由数据库返回的可能记录集的数组 $a = array( array( 'id' => 5 ...
- How to move lobsegment and lobindex to a different Tablespace
Hi, Assuming that I have table "TEST" in USERS TableSpace CREATE TABLE TEST ( TEST_ID NUMB ...