决斗[雅礼集训 2017 Day10]
SOL:我们可以证明,设Sum[x]代表1到X编号的矮人被sum[x]个精灵挑为对手,则Sum[x]-x min的位置和其后一个是没有任何关系的(没有精灵会从这个矮人走向下一个矮人)。
那么我们就把其拆成了单链。贪心就好。
#pragma GCC optimize("O2") #include<bits/stdc++.h> #define sight(c) ('0'<=c&&c<='9') #define N 500031 #define eho(x) for(int j=head[x];j;j=net[j]) inline void read(int &x){static char c;for (c=getchar();!sight(c);c=getchar());for (x=0;sight(c);c=getchar())x=x*10+c-48; } using namespace std; void write(int x) {if (x<10) {putchar('0'+x);return;} write(x/10); putchar('0'+x%10);} inline void writeln(int x) {if (x<0) putchar('-'),x*=-1; write(x); putchar('\n');} int a[N],c[N],d[N],g[N],n,t,ans,mn,head[N],net[N],fall[N],tot,sum,k; inline void add(int x,int y) {fall[++tot]=y; net[tot]=head[x];head[x]=tot;} bool b[N]; set<int> S; set<int> ::iterator it; int main () { // freopen("b.in","r",stdin);read(n); mn=1e9;for (int i=1;i<=n;i++) read(a[i]),g[a[i]]++,add(a[i],i);for (int i=1;i<=n;i++) read(c[i]);for (int i=1;i<=n;i++) read(d[i]);for (int i=1;i<=n;i++) { sum=sum+g[i]; if (mn>sum-i) mn=sum-i,k=i;}for (int i=1;i<=n;i++) {if (++k>n) k=1;eho(k) S.insert(d[fall[j]]);it=S.upper_bound(c[k]);if (it==S.end()) S.erase(*S.begin());else ans++,S.erase(*it);}writeln(ans); }
转载于:https://www.cnblogs.com/rrsb/p/8215157.html
决斗[雅礼集训 2017 Day10]相关推荐
- LOJ#6048. 「雅礼集训 2017 Day10」数列(线段树)
题面 传送门 题解 我的做法似乎非常复杂啊-- 首先最长上升子序列长度就等于把它反过来再接到前面求一遍,比方说把\(2134\)变成\(43122134\),实际上变化之后的求一个最长上升子序列和方案 ...
- 「雅礼集训 2017 Day10」拍苍蝇
传送门 Description 有一天,小 A 的母亲对他家里的卫生状况非常不满意,他的房间里有非常多的苍蝇.在母亲的威逼利诱下,小 A 拿起了苍蝇拍去消灭家里的苍蝇.然而,小 A 以前从来没有亲手消 ...
- 数据结构二之线段树Ⅱ——KiKi‘s K-Number,ball,The Child and Sequence,「雅礼集训 2017 Day1」市场,Atlantis
值域线段树+势能线段树+扫描线 KiKi's K-Number ball The Child and Sequence 「雅礼集训 2017 Day1」市场 Atlantis KiKi's K-Num ...
- [LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相(树的重心+贪心)
[LOJ 6042]「雅礼集训 2017 Day7」跳蚤王国的宰相 description solution 一个到所有节点距离和最小的节点 ⇔\Leftrightarrow⇔ 树的重心(满足最重的儿 ...
- #6029. 「雅礼集训 2017 Day1」市场(势能,区间除)
#6029. 「雅礼集训 2017 Day1」市场 用线段树维护数列,区间上维护最大最小值,区间和还有标记,修改时,区间加直接做,而区间除时,递归到线段树上某一区间,如果这一操作等价于区间加(也就是最 ...
- #6034. 「雅礼集训 2017 Day2」线段游戏 李超树
#6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:Special Judge 上传者: 匿名 提交提交记录统 ...
- loj #6046. 「雅礼集训 2017 Day8」爷
#6046. 「雅礼集训 2017 Day8」爷 题目描述 如果你对山口丁和 G&P 没有兴趣,可以无视题目背景,因为你估计看不懂 -- 在第 63 回战车道全国高中生大赛中,军神西住美穗带领 ...
- LibreOJ 6514. 「雅礼集训 2018 Day10」文明【虚树+LCA】
6514. 「雅礼集训 2018 Day10」文明 [题目描述] 传送门 [题解] 考虑笨蛋的写法,可以用LCA求出1号和其他点的中点,然后DFS搜索Size大小即可,但是,复杂度显然要炸,但是我们会 ...
- LOJ#6044. 「雅礼集训 2017 Day8」共(Prufer序列)
题面 传送门 题解 答案就是\(S(n-k,k)\times {n-1\choose k-1}\) 其中\(S(n,m)\)表示左边\(n\)个点,右边\(m\)个点的完全二分图的生成树个数,它的值为 ...
最新文章
- 基于点线特征避免单目视觉SLAM的退化
- 退出python命令行-退出python命令
- Duilib vlc c++ 字符编码
- [云炬创业基础笔记]第二章创业者测试20
- 学习Spring Boot:(六) 集成Swagger2
- b树c语言,B树——思路、及C语言代码的实现
- HDU4706 Children's Day
- 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
- Jenkins持久化集成使用
- 高级程序员不写代码?
- 安装用友U8的常见错误
- 【网络】把路由器用作交换机的方案
- 逆向工程实验Lab7
- 收集的一些google搜索引擎技巧
- Navicat有什么用?如何安装?【C++培训】
- 当代偷车贼分两种,剪电线的和用智能设备的
- EBS HRMS数据表
- R以逻辑回归为例介绍制作列线图(nomogram)的过程
- 我对软件分层设计的思考
- Java项目-博客管理系统介绍
热门文章
- wordpress-技术博客主题推荐
- 在教育培训行业如何获得精准名单?大数据精准获客
- arm-linux qt交叉编译,qt arm交叉编译命令
- mpg如何转成mp4格式?四种简单快捷的方法分享
- 设计模式解读之一: 策略模式——鸭子游戏
- 快播王欣即将出狱 还有机会吗?
- 如何使用特征码找“武林外传”Call地址
- Error:(226, 38) java: 找不到符号。。。程序无错的解决方法
- 走进Linux的世界,看这篇文章就够了
- #systemverilog# “类”翱翔在systemverilog的天空(2)常用类型举例