NC51101 Lost Cows-天天快消息

  • 博客园
  • 2023-05-03 17:43:23

题目链接

题目

题目描述


(资料图片)

\(N (2 \leq N \leq 8,000)\) cows have unique brands in the range 1..N. In a spectacular display of poor judgment, they visited the neighborhood "watering hole" and drank a few too many beers before dinner. When it was time to line up for their evening meal, they did not line up in the required ascending numerical order of their brands.

Regrettably, FJ does not have a way to sort them. Furthermore, he"s not very good at observing problems. Instead of writing down each cow"s brand, he determined a rather silly statistic: For each cow in line, he knows the number of cows that precede that cow in line that do, in fact, have smaller brands than that cow.

Given this data, tell FJ the exact ordering of the cows.

输入描述

Line 1: A single integer, NLines 2..N: These N-1 lines describe the number of cows that precede a given cow in line and have brands smaller than that cow. Of course, no cows precede the first cow in line, so she is not listed. Line 2 of the input describes the number of preceding cows whose brands are smaller than the cow in slot #2; line 3 describes the number of preceding cows whose brands are smaller than the cow in slot #3; and so on.

输出描述

Lines 1..N: Each of the N lines of output tells the brand of a cow in line. Line #1 of the output tells the brand of the first cow in line; line 2 tells the brand of the second cow; and so on.

示例1

输入

51210

输出

24531
题解

知识点:树状数组,倍增,枚举。

首先需要一个事实,对于一个排列,要确定其中某个位置的数具体是多少,可以通过整个排列比它小的数字有多少个(或者比它大的数字有多少个)确定。现在这道题确定了各个位置的数的左边比它小的数的个数,我们只需要知道在它右边有多少个数比它小就行,因此我们从右往左枚举,依次确定数字。

首先用树状数组维护右侧出现的数字,随后需要二分一个 \(x\) 通过比较 \(x - cnt_{

当然,这个二分条件其实还可以更简单,我们反过来记录右侧没出现的数字,那么 \(cnt_{

另外,二分套树状数组查询的复杂度是对数平方的,并不是最优的。我们可以直接使用树状数组本身的倍增性质进行二分,是最优的对数复杂度。我封装了两个常用的函数,大于等于 lower_bound和大于 upper_bound

这道题查询 \(cnt_{lower_bound查询即可。

时间复杂度 \(O(n \log n)\)

空间复杂度 \(O(n)\)

代码
#include using namespace std;using ll = long long;template class Fenwick {    int n;    vector node;public:    Fenwick(int _n = 0) { init(_n); }    void init(int _n) {        n = _n;        node.assign(n + 1, T());    }    void update(int x, T val) { for (int i = x;i <= n;i += i & -i) node[i] += val; }    T query(int x) {        T ans = T();        for (int i = x;i >= 1;i -= i & -i) ans += node[i];        return ans;    }    T query(int l, int r) { return query(r) - query(l - 1); }    int lower_bound(T val) {        int pos = 0;        for (int i = 1 << __lg(n); i; i >>= 1) {            if (pos + i <= n && node[pos + i] < val) {                pos += i;                val -= node[pos];            }        }        return pos + 1;    }    int upper_bound(T val) {        int pos = 0;        for (int i = 1 << __lg(n); i; i >>= 1) {            if (pos + i <= n && node[pos + i] <= val) {                pos += i;                val -= node[pos];            }        }        return pos + 1;    }};int a[8007];int main() {    std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);    int n;    cin >> n;    for (int i = 2;i <= n;i++) cin >> a[i];    Fenwick fw(n);    for (int i = 1;i <= n;i++) fw.update(i, 1);    vector ans(n + 1);    for (int i = n;i >= 1;i--) {        ans[i] = fw.lower_bound(a[i] + 1);        fw.update(ans[i], -1);    }    for (int i = 1;i <= n;i++) cout << ans[i] << "\n";    return 0;}

标签:

分享到:

NC51101 Lost Cows-天天快消息

题目链接题目题目描述$N(2 leqN leq8,000)$cowshaveuniquebrandsintherange1 N Inaspectaculardisplayofpoorjudgment,theyvisitedtheneighbor

  2023-05-03 17:43:23

停车31小时收费640元?旅游城市要算大账 当前观察

游客张先生(化名)这个五一小长假从江苏驱车来广东珠海游玩。5月1日,他在网络发布一则收费截图信息,并称

  2023-05-03 16:55:11

世界时讯:山东聊城鲁西化工爆炸已致9死1伤1失联

5月1日中午12时20分,中化集团鲁西化工双氧水生产区爆炸着火事故火情全部扑灭后,经专业力量现场搜救,陆续

  2023-05-03 17:05:00

怎么在excel中画斜线后编辑(怎么在excel中画斜线) 全球热闻

Excel经常被大家使用,excel表格经常被应用于各种表格的打印,比如员工的签到表格,各种存储表格 其中,每

  2023-05-03 16:56:46

港4月所有种类楼宇买卖合约共5,755份 按年上升18.6%|世界聚看点

观点香港网讯。5月3日,据香港土地注册处公布,4月送交土地注册处注册的所有种类楼宇买卖合约共5,755份,按

  2023-05-03 17:01:17

当前热点-车龄过期三个月怎么办

年检过期三个月,当事人带齐下列材料去车辆检测站验车即可:其一、行驶证原件;其二、交强险副本;其三、身

  2023-05-03 16:40:13

观察:郑州荣登五一最强周边游“吸金力”前十名榜单

今年五一假期是疫情后的首个小长假,国内游客旅行热情高涨。5月3日,携程发布的《2023年五一出游数据报告》

  2023-05-03 16:13:16

热门看点:“五一”假期,郑东消防守护不停歇,让安全不打烊!

“小朋友,你认识这个疏散指示标志吗?”“五一”假期的河南省科技馆人潮涌动,一个蓝色身影在人群中穿梭,

  2023-05-03 15:52:42

【速看料】日本抗议韩议员登上争议岛屿,韩国:无法接受

资料图新华社 美联中新网5月3日电综合报道,当地时间5月2日,一名韩国国会议员登上了日韩争议岛屿(日称“竹

  2023-05-03 15:53:41

环球滚动:陕西西安一架直升机坠落,3人遇难

5月2日14时许,陕西龙翼通用航空有限公司一架小型民用直升机在西安市灞桥区狄寨原附近坠落,机上三人不幸遇

  2023-05-03 15:52:28

今天预计发送旅客85.1万人!国铁集团郑州局管内呈现返程客流高峰-天天微头条

记者从中国铁路郑州局集团有限公司(以下简称国铁集团郑州局)获悉,今天(5月3日),国铁集团郑州局预计发

  2023-05-03 15:57:48

全球快报:卫龙休闲t恤(卫龙休闲食品)

成立于1999年,是麻辣休闲食品行业的知名品牌。是一家集研发、生产、销售为一体的现代化休闲食品企业。d、

  2023-05-03 16:12:53

在淄博,渴望“被看见”的寻亲父母

5月1日,山东淄博,来自山东泰安的乔芬(右一)和其他寻亲的父母在街头宣传。他们所在位置的旁边就是淄博热

  2023-05-03 16:00:41

美国12州报告沙门氏菌感染病例 与一品牌面粉有关 世界热文

5月3日电据美国有线电视新闻网(CNN)报道,美国疾病控制和预防中心(CDC)当地时间5月1日表示,美国近期有12个

  2023-05-03 15:53:47

沈阳故宫百年戏台上演传统戏曲

5月3日电(记者韩宏)拥有逾200年历史的沈阳故宫戏台,3日上演了传统评剧《打金枝》,观众沉浸式体验了一场跨

  2023-05-03 16:12:27

打造大湾区“后花园” 江西赣州等地“五一”假期吸引湾区旅客_天天快报

5月3日电题:打造大湾区后花园江西赣州等地五一假期吸引湾区旅客  作者朱莹  五一假期,在粤港居民饮用

  2023-05-03 15:50:47

陕西西安一架直升机坠落 3人遇难

2023年5月2日14时许,陕西龙翼通用航空有限公司一架小型民用直升机在西安市灞桥区狄寨原附近坠落,机上三人

  2023-05-03 16:06:03

二手9座商务车大全图片_二手9座商务车大全

1、9座的不叫面包车微客相比之间金杯海狮性价比要高一点同价位的还可以考虑福田风景东南得利卡。本文分享完

  2023-05-03 16:02:05

世界资讯:土耳其防长:黑海港口农产品外运协议谈判将在伊斯坦布尔举行

据央视新闻,土耳其国防部长阿卡尔当地时间5月3日表示,土耳其、俄罗斯和乌克兰的国防部副部长预计将于5月5

  2023-05-03 14:58:40

私拆承重墙,谁该担责?该担何责?-环球热推荐

近日,有网友发文称,黑龙江哈尔滨一栋居民楼的承重墙被砸,导致全楼住户无法回家。据了解,约有200户左右

  2023-05-03 15:00:24

焦点简讯:欧盟禁止乌克兰向五国出口部分粮食

欧盟委员会当地时间5月2日发表声明称,从即日起到6月5日,禁止乌克兰的小麦、玉米、油菜籽和葵花籽,出口到

  2023-05-03 15:06:02

世界热议:word设置页面纸张大小怎么设置(word设置页面纸张大小16开)

word设置页面纸张大小16开方法:1 打开文档,依次点击“页面布局”和“纸张大小”。2 在下拉框中选择“16开

  2023-05-03 15:01:04

巩固房地产市场企稳回升势头|每日热讯

一季度,房地产市场各方信心加快恢复,出现积极变化,交易活跃性上升,多项指标与去年四季度相比出现边际好

  2023-05-03 14:55:19

港房屋局何永贤:目前环境毋须调整住宅物业需求管理措施 环球信息

观点香港网讯。5月3日,对于市场「减辣」呼声,香港房屋局局长何永贤发言指,在目前环境下,毋须调整住宅物

  2023-05-03 15:06:11

“五一”假期出行报告:机票、火车票、酒店数据加速回温

中新社北京5月3日电 (记者 刘亮)今年“五一”假期收官在即。中国在线旅游平台去哪儿3日披露的出行报告

  2023-05-03 14:00:20

云南隆阳5.2级地震已造成10人受伤

截至5月3日13时,云南隆阳5 2级地震已造成10人轻伤,其中9人已出院、1人留院观察。灾区群众已全部被转移安

  2023-05-03 14:02:27

全球速读:回收站的文件删除了怎么恢复啊(回收站的文件删除了怎么恢复)

1、删除回收站后如何恢复文件?没有简单的方法可以实现。根据一些已知的技巧,我来教你如何恢复回收站里被

  2023-05-03 13:55:56

休渔期到了 你想要的“海鲜自由”能实现吗?

5月1日12时起我国渤海、黄海、东海及北纬12度以北的南海含北部湾海域全面进入为期三个月到四个半月的伏季休

  2023-05-03 13:10:08

全球速读:今晚,郑州地铁部分线路延长运营服务时间→

为保障乘客安全、顺畅返程,5月3日,1号线、2号线、3号线、5号线将延长运营时间至24:00,延长运营服务时间

  2023-05-03 13:12:43

冷空气+降水,未来5天河南气温波动较大 天天快看点

五一假期最后一天返程高峰和大范围降水“碰了个正着”!河南省气象台今天上午9时发布暴雨蓝色预警↓↓↓暴

  2023-05-03 13:12:29

热门资讯

联系邮箱:291 32 36@qq.com

京ICP备12018864号-33未经授权不得镜像、转载、摘抄本站内容,违者必究!Copyright 2022  www.213.com.cn. All Rights Reserved

213网 版权所有