CF1329F题解
能发现:
1.输出序列与掉落顺序没有任何关系(因为单调性不会被改变)。
2.输出的序列 \(h_i\) 最多有一组 \(h_i=h_{i+1}\)。
对 2 的证明:
当 \(h_{i+1}\) 与 \(h_{i}\) 奇偶性相同时 ,\(h_{i+1}\) 向 \(h_i\) 的数次掉落会使 \(h_i=h_{i+1}\) 。
当 \(h_{i+1}\) 与 \(h_i\) 奇偶性不同时,\(h_{i+1}\) 向\(h_i\) 的数次掉落会使 \(h_i+1=h_{i+1}\) ,此时由于原先奇偶性不同,所以此时的 \(h_i\) 与 \(h_{i-1}\) 奇偶性相同 ,执行2。
对于会掉落的 \(h_i\) ,其掉落的本质是:
- 如果 \(i=1\) 或者 \(h_{i+1}<h_i+2\) ,停止 。
- 否则 \(h_i\gets h_i+1\) ,\(h_{i+1} \gets h_{i+1}-1\) ,\(i \gets i-1\) 。
那么
如果 \(h_i\) 左边的数互不相等,那么掉落会一直到 \(i=1\) ,过程中一定会使得 \(h_i=h_{i+1}\) 。
否则,若存在\(h_i=h_{i+1}\),则掉落会在\(h_{i+1}\)处停止,此时相等的个数减少\(1\)个或不变(连续三个同奇偶时不变) 。
那么从\(h_n\)开始掉落,无论是过程中还是最后都不可能存在\(1\)对以上的相等 。
设\(sum=\sum h_i\)
由于上面的结论,所以只有唯一一个序列满足:
其差分序列中均为 \(0\) 或 \(1\) 且 \(0\) 至多有一个 。
长度为 \(n\) 且和为 \(sum\) 。
那么
$ 2sum=n(2h_1+n-1) $ ,可以求出 \(h_1\) ,通过序列 \({1,2,3......n}\) 开始构造这个序列,直到其总和为 \(\sum h_i\) 。
#include<bits/stdc++.h>
main()
{
int n;
scanf("%d",&n);
long long h,s=-n*((long long)n-1)/2;
for(int i=0;i<n;++i)
scanf("%lld",&h),s+=h;
for(int i=0;i<n;++i)
printf("%lld ",i+s/n+(i<s%n));
}
CF1329F题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
随机推荐
- 字符识别OCR原理及应用实现
字符识别OCR原理及应用实现 文本是人类最重要的信息来源之一,自然场景中充满了形形色色的文字符号.光学字符识别(OCR)相信大家都不陌生,就是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过 ...
- 分布式 redis 延时任务 基于 springboot 示例
Lilishop 技术栈 官方公众号 & 开源不易,如有帮助请点Star 介绍 官网:https://pickmall.cn Lilishop 是一款Java开发,基于SpringBoot研发 ...
- Python小白的数学建模课-07 选址问题
选址问题是要选择设施位置使目标达到最优,是数模竞赛中的常见题型. 小白不一定要掌握所有的选址问题,但要能判断是哪一类问题,用哪个模型. 进一步学习 PuLP工具包中处理复杂问题的字典格式快捷建模方法. ...
- 给小米路由R1D增加WebDAV服务
我的R1D是14年买的,原装的硬盘已经不能用了,换了一块从笔记本上退役下来的500G硬盘后继续愉快的使用了-- 当初买这款路由器的原因之一是看中了它的内置硬盘,可以用来备份手机相册.存储智能摄像机录像 ...
- MySQL索引简介(转)
一.为什么用索引例:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要写的sql是 SELECT * FROM award WHERE ni ...
- Java IO学习笔记八:Netty入门
作者:Grey 原文地址:Java IO学习笔记八:Netty入门 多路复用多线程方式还是有点麻烦,Netty帮我们做了封装,大大简化了编码的复杂度,接下来熟悉一下netty的基本使用. Netty+ ...
- NOIP模拟测试14「旋转子段·走格子·柱状图」
旋转子段 连60分都没想,考试一直肝t3,t2,没想到t1最简单 我一直以为t1很难,看了题解发现也就那样 题解 性质1 一个包含a[i]旋转区间值域范围最多为min(a[i],i)----max(a ...
- SqlServer中offset..fetch 的使用问题
好久没更新了,最近忙的很,也生病了,重感冒,555~~~ 早上抽的一丝空闲,来讲讲SqlServer中的分页问题.其实用过了多种数据库,分页这问题已经是老生常谈的问题了.不管是开发什么类型的网站,只要 ...
- 『心善渊』Selenium3.0基础 — 8、使用CSS选择器定位元素
目录 1.CSS选择器介绍 2.CSS选择器定位语法 3.Selenium中使用CSS选择器定位元素 (1)通过属性定位元素 (2)通过标签定位元素 (3)通过层级关系定位元素 (4)通过索引定位元素 ...
- 20201123 实验三《python程序设计》实验报告
20201123 2020-2021-2 <python程序设计>实验三报告 课程:<Python程序设计>班级:2011姓名:晏鹏捷学号:20201123实验教师:王志强实验 ...