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 & ...
随机推荐
- JavaScript 中精度问题以及解决方案
JavaScript 中的数字按照 IEEE 754 的标准,使用 64 位双精度浮点型来表示.其中符号位 S,指数位 E,尾数位M分别占了 1,11,52 位,并且在 ES5 规范 中指出了指数位E ...
- Spring Cloud07: Feign 声明式接口调用
一.什么是Feign Feign也是去实现负载均衡,但是它的使用要比Ribbon更加简化,它实际上是基于Ribbon进行了封装,让我们可以通过调用接口的方式实现负载均衡.Feign和Ribbon都是由 ...
- hbase统计表的行数的三种方法
有些时候需要我们去统计某一个hbase表的行数,由于hbase本身不支持SQL语言,只能通过其他方式实现. 可以通过一下几种方式实现hbase表的行数统计工作: 这里有一张hbase表test:tes ...
- 【Android漏洞复现】StrandHogg漏洞复现及原理分析_Android系统上的维京海盗
文章作者MG1937 CNBLOG博客:ALDYS4 QQ:3496925334 0x00 StrandHogg漏洞详情 StrandHogg漏洞 CVE编号:暂无 [漏洞危害] 近日,Android ...
- 【VBA】读取配置文件存入字典型变量中
配置文件: 源码: Dim Co As Object '设为全局变量 Function 读取cfg() As Boolean Dim strcfg As String strcfg = " ...
- NOIP模拟测试5「星际旅行·砍树·超级树」
星际旅行 0分 瞬间爆炸. 考试的时候觉得这个题怎么这么难, 打个dp,可以被儿子贡献,可以被父亲贡献,还有自环,叶子节点连边可以贡献,非叶子也可以贡献,自环可以跑一回,自环可以跑两回, 关键是同一子 ...
- sql数据库新建作业,新建步骤时报错从 IClassFactory 为 CLSID 为 {AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2} 的 COM 组件创建实例失败,原因是出现以下错误: c001f011。 (Microsoft.SqlServer.ManagedDTS)
简单粗暴的重启sql数据库 其他网上找的方法 32位操作系统: 打开运行(命令提示符), 一.输入 cd c:\windows\system32 进入到c:\windows\system32路径中 二 ...
- Golang修改操作系统时间
Golang修改操作系统时间 需求 程序有时需要和服务器对时,发现延迟过高修改本地时间,这段代码网上抄的,实测可用,windows环境需要以管理员身份启动命令提示符调试 实现Demo package ...
- 用python+pyqt5语言编写的扫雷小游戏软件
github源码地址:https://github.com/richenyunqi/Mine-game ,撒娇打滚求star哦~~ღ( ´・ᴗ・` )比心 扫雷主界面模块 整个扫雷界面使用大量的白色方 ...
- 35、mysql数据库(ddl)
35.1.数据库之库操作: 1.创建数据库(在磁盘上创建一个对应的文件夹): create database [if not exists] db_name [character set xxx]; ...