【解题报告】【】交谊舞
Title:交谊舞
Description
描述 明显……交谊舞是2个人跳的,而且一男一女 -__-||||。 由于交谊舞之前的节目安排,所有的表演者都站成了一排。这一排人的顺序满足2点:
- 对于一对舞伴男生站在女生的左边。
- 任何一对舞伴之间,要么没有人,要么就有若干对舞伴。
排得过于整齐导致那些要表演交谊舞的人都没办法看到自己的舞伴,怎么办类……. 所幸的是,SDFZ的女生比男生聪明得多。她们知道自己左边有几个男生。 现在就请你再告诉这些女生,她们的舞伴距离她们多远(即包括那个男生,一共有多少男生夹在他们之间)。
Input Format
输入格式
第一行为一个数n,表示参与跳交谊舞的女生个数。
第二行n个数,从左到右表示这n个女生左边分别有多少个男生。
Output Format
输出格式
一排n个数,行末无空格。表示n个女生与其舞伴的距离。
Sample Input
6 4 5 6 6 6 6
Sample Output
1 1 1 4 5 6
Hint
各个测试点1s
n<=1500,结果小于2^31-1
Analysis
Code
</pre></h2></div></div><div class="markdown" style="text-indent:2em"><pre name="code" class="cpp">//by king QZqz
#include<cstdio>
#include<algorithm>
#include<cstring>
const int N=1600;
struct data{int l,r,now;
}c[N];
int man[N],s[N],n,lastman,tot;
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d",&man[i]);s[i]=s[i-1]+1+man[i]-man[i-1];}//man[i]-man[i-1]是在i和i-1之间的男生,+s[i-1]+1,就是到i女生在所有人中的编号 man[0]=0;for (int i=1;i<=n;i++){if (man[i]>man[i-1])//多了可供选择的男生区间 {tot++;c[tot].l=man[i-1]+i;//左边界,男生+女生得到该区间男生的初始编号 c[tot].now=c[tot].r=c[tot].l+man[i]-man[i-1]-1;//右区间为左区间加上i和i-1之间的男生(新增男生人数)-1(扣去i女生本身) }while (c[tot].now<c[tot].l&&tot>=1) tot--;//找到一个可供选择c[tot].now(舞伴的编号)int j=1;while (s[j]<c[tot].now) j++;//用于计算c[tot].now(男)和i(女)之间的女生人数 printf("%d ",man[i]+i-c[tot].now-(i-j));//man[i]+i(总人数)-c[tot].now(男生编号)=这对舞伴之间的总人数(不算i)//(i-j)这对舞伴之间的女生人数(不算i),以上两项相减即为男生人数 c[tot].now--;while (c[tot].now<c[tot].l&&tot>=1) tot--;}return 0;
}
【解题报告】【】交谊舞相关推荐
- uscao 线段树成段更新操作及Lazy思想(POJ3468解题报告)
线段树成段更新操作及Lazy思想(POJ3468解题报告) 标签: treequerybuildn2cstruct 2011-11-03 20:37 5756人阅读 评论(0) 收藏 举报 分类: ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 【解题报告系列】超高质量题单 + 题解(ACM / OI)超高质量题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我新写的超高质量的题解和代码,题目难度不 ...
- 解题报告(三)多项式求值与插值(拉格朗日插值)(ACM / OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(十三)中国剩余定理(ACM / OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(四)生成函数(ACM/ OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(八) prufer 序列与 Cayley 公式(ACM / OI)超高质量题解
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 解题报告(一)E、(BZOJ4589)Hard Nim(博弈论 + FWT)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 解题报告(五)组合计数(ACM / OI)超高质量题解
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- 解题报告(二)E、(BZOJ3513) [MUTC2013] idiots(生成函数 + FFT + 组合计数)
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
最新文章
- “95后”曹原又双叒叕发Nature了!1个月2篇,已经第6篇了……
- tf.nn.l2_loss() 与 权重衰减(weight decay)
- python3.8自带matlop和numpy吗_Python enlop包_程序模块 - PyPI - Python中文网
- Java记录-SpringMVC整合Echarts画地图加散点图
- ThreadPoolExecutor源码解析(一)
- php 扩展 mysql_PHP链接MySQL的常用扩展函数
- 能拯救你的人也只能是自己
- redis的zset使用(java)——存取List< Object>
- 鸿蒙济判法讲义,2020-02-09《薛兆丰经济学讲义》读书笔记
- 11.25晚C语言答疑
- UNIX系统命令大全
- STM32—雨滴检测传感器
- 路由器WIFI密码忘记了怎么办
- 放硬币问题的解空间结构
- 有关微型计算机控制系统的论文,计算机控制系统 徐文尚
- 关于修改思科WLC SSID
- 爬虫之模拟强智系统登录
- 获取海拔高度. 实时气压
- SQL注入靶场:辛巴猫舍
- 哔哩哔哩 Web 首页重构——回首2021
热门文章
- 快速搭建一个简单的周报管理系统
- 深入分析:Onliner SpamBot7.11亿电邮账号泄露事件
- 《强化学习周刊》第27期:MIT研究表明通用LTL目标的强化学习很难实现
- python中矩阵乘以常数_在python(H.W)中单独乘以矩阵
- 线性代数|学习笔记|18.065MIT公开课 lecture05
- Effective Java读书笔记---二、创建和销毁对象
- 为什么说每个人适合的大数据培训课程都可能存在差异?
- 基于车路协同功能的路侧及车载智能设备研究
- 想提前躺平的程序员,这10个网站收好了!
- LeetCode 1710. 卡车上的最大单元数