\(\mathrm{Sleepy Cow Sorting}\)

问题描述

LG5200

题解

树状数组。

设\(c[i]\)代表\([1,i]\)中归位数。

显然最终的目的是将整个序列排序为一个上升序列,于是倒序枚举,先把最后有序的插入。

剩下来前面无序的就是要操作的,于是直接输出操作次数。

接下来方案很容易构造。

\(\mathrm{Code}\)

#include<bits/stdc++.h>
using namespace std;void read(int &x){x=0;char ch=1;int fh;while(ch!='-'&&(ch>'9'||ch<'0')) ch=getchar();if(ch=='-') ch=getchar(),fh=-1;else fh=1;while(ch>='0'&&ch<='9') x=(x<<1)+(x<<3)+ch-'0',ch=getchar();x*=fh;
}const int maxn=100000+7;
#define lowbit(pos) (pos&(-pos))int c[maxn],n,a[maxn];void change(int pos,int k){while(pos<=n){c[pos]+=k;pos+=lowbit(pos);}
}int query(int pos){int ret=0;while(pos){ret+=c[pos];pos-=lowbit(pos);}return ret;
}int ans,cnt;int main(){freopen("sleepy.in","r",stdin);freopen("sleepy.out","w",stdout);read(n);for(int i=1;i<=n;i++) read(a[i]);for(int i=n;i>=1;i--){ans++;--cnt;change(a[i],1);if(a[i-1]>a[i]) break;}cnt+=n;printf("%d\n",cnt);for(int i=1;i<=n-ans;i++){--cnt;printf("%d ",query(a[i])+cnt);change(a[i],1);}fclose(stdin);fclose(stdout);return 0;
}

转载于:https://www.cnblogs.com/liubainian/p/11566510.html

LG5200 「USACO2019JAN」Sleepy Cow Sorting 树状数组相关推荐

  1. 「模拟赛20180307」三元组 exclaim 枚举+树状数组

    题目描述 给定 \(n,k\) ,求有多少个三元组 \((a,b,c)\) 满足 \(1≤a≤b≤c≤n\)且\(a + b^2 ≡ c^3\ (mod\ k)\). 输入 多组数据,第一行数据组数\ ...

  2. P5200 [USACO19JAN]Sleepy Cow Sorting

    P5200 [USACO19JAN]Sleepy Cow Sorting 题目描述 Farmer John正在尝试将他的N头奶牛(1≤N≤10^5),方便起见编号为1-N,在她们前往牧草地吃早餐之前排 ...

  3. loj #535. 「LibreOJ Round #6」花火 树状数组求逆序对+主席树二维数点+整体二分...

    $ \color{#0066ff}{ 题目描述 }$ 「Hanabi, hanabi--」 一听说祭典上没有烟火,Karen 一脸沮丧. 「有的哦-- 虽然比不上大型烟花就是了.」 还好 Shinob ...

  4. HDU 2838 Cow Sorting(双树状数组+求逆序数)

    Problem Description Sherlock's N (1 ≤ N ≤ 100,000) cows are lined up to be milked in the evening. Ea ...

  5. 「雅礼集训 2017 Day7」事情的相似度(后缀自动机+LCT+树状数组)

    description 点击查看题目内容 solution Step1 无脑建SAMSAMSAM 两个前缀的最长公共后缀就是parent−treeparent-treeparent−tree上两点的l ...

  6. 「模拟赛20180306」回忆树 memory LCA+KMP+AC自动机+树状数组

    题目描述 回忆树是一棵树,树边上有小写字母. 一次回忆是这样的:你想起过往,触及心底--唔,不对,我们要说题目. 这题中我们认为回忆是这样的:给定 \(2\) 个点 \(u,v\) (\(u\) 可能 ...

  7. 2023牛客寒假算法基础集训营4_20230130「向上取整」「夹逼dp」「lowbit科学+树状数组性质」「搜索」「倍增跳表」「莫队」

    6/13 教育场是有被教育到.(预计会鸽几题. 已过非太水的题们 //B //https://ac.nowcoder.com/acm/contest/46812/B//小构造小数学#include & ...

  8. P5200 [USACO19JAN]Sleepy Cow Sorting G

    题目描述 Farmer John正在尝试将他的 NN 头奶牛(1\le N\le 10^51≤N≤105),方便起见编号为 1\ldots N1-N,在她们前往牧草地吃早餐之前排好顺序. 当前,这些奶 ...

  9. 树状数组(二)——#10115. 「一本通 4.1 例 3」校门外的树

    题目链接:https://loj.ac/problem/10115 解题思路 一开始误会了重复种树的意思,以为是线段树染色QAQ,后来知道了重复种树是指该位置可以种无限棵树,用树状数组就能解决.我们用 ...

最新文章

  1. Deep Learning部署TVM Golang运行时Runtime
  2. usaco Cow Tours 牛的旅行
  3. Jpeglib读取jpg文件
  4. cocoa 坑爹的委托
  5. Delphi读写二进制文件
  6. linux下常用FTP命令
  7. 线程Thread类的start()方法和run()方法
  8. 牧马人鼠标g13鼠标宏_达尔优第五代牧马人EM915游戏鼠标评测
  9. 相聚“金巴蜀”、付诸笑谈中
  10. arcobjects java开发_ArcGIS Engine SDK for Java 最小示例学习
  11. 工业相机SDK二次开发
  12. 背景透明及引发的文字透明问题
  13. App Store Connect 如何删除应用App
  14. 冬天别忘晒太阳[整理]
  15. 图像情感识别研究方向
  16. C语言编程规范 学习笔记
  17. Dive_into_Deep_Learning
  18. 如何检索、写作和顺利发表一篇SCI论文?
  19. EXCEL干货(1-1): 基本表格操作
  20. 无忧计算机二级试题题库,计算机等级考试题库,二级Web试题

热门文章

  1. Selenium自动化测试框架基础操作
  2. 利用Filezilla在局域网内搭建自己的FTP服务器
  3. Redis简介及优势
  4. java国际化转换_java 实现国际化 中英文语言切换
  5. TestCenter测试管理工具功能详解七(L)
  6. TestCenter测试管理平台,如何快速创建项目?
  7. u盘有图标计算机显示没有,电脑没插u盘却显示u盘图标是怎么回事?
  8. 电商中spu和sku是什么?怎么去设计表结构?
  9. Java常用类,这一次帮你总结好!
  10. 北京大学暑期学校总结