【Codeforces 1392F】Omkar and Landslide | 思维、结论
题目链接:https://codeforces.ml/contest/1392/problem/F
题目大意:
给出N座山峰的高度h_i,之后重复进行下面的操作:
若存在一个位置i满足:
那么i高度就会+1,i+1位置就会+1
重复进行上述操作,直到不可进行为止
输出最后的序列
题目思路:
只想对了一个方向而已..emm
考虑最后的状态必然满足:相邻每个位置大小最多差1,否则会继续进行上述的操作
根据最终状态出发考虑去构造最终数列
结论:
最终序列中,满足hi == h_i+1 的最多有一对
关于题解好理解版本?
首先可以明确,在任何时间,任何位置使用该操作,并不影响最后的序列操作结果
Part 1 :
如果不存在相等的一对,那么就会从可以操作的位置开始,一直操作到1。| 因为序列单调递增
最后的状态即为该位置--,位置1++;
这就会使得可能第一次出现相等的一对是位置1与位置2
Part 2 :
现在存在相等的一对:(绝对是从位置1与位置2开始)
那么上述操作就变成了从一个可操作的位置开始,遇到相等就停止了,也就是
如果存在,可操作位置是pos ,那么操作的结果就是 :
所以这时候可能会出现
也就说终止位置提前,并且相等对数没变
所以总体操作就是:
如果没出现相等的一对,那么可能会出现相等的一对
如果出现了相等的一对,那么相等对数-1或者不变
综上:最终状态最多包含一对相等的
如果还不懂,建议手写模拟
接下来就好办了,确定了只有一对,那么就可以构造这个等差序列了,此时就只和sum有关系了
首先构造一个公差为1的等差序列,之后的事情便是构造相等的对数
我们可以首先将序列都-a[1]-i+1 ,那么此时剩下的可以理解为每个数距离目标数差值相同
所以求一下平均值即可
最后如果还有剩余,那么就从1开始每个+1,此时不会影响最终答案的合法性
Code:
/*** keep hungry and calm CoolGuang!***/
#pragma GCC optimize(3)
#include <bits/stdc++.h>
ll n,m,p;
ll num[maxn],res[maxn];
int main(){read(n);ll sum = 0;for(int i=1;i<=n;i++){read(num[i]);sum += num[i]-num[1]-i+1;}for(int i=1;i<=n;i++)res[i] = num[1] + i-1 + (sum/n);for(int i=1;i<=sum%n;i++)res[i]++;for(int i=1;i<=n;i++)printf("%lld ",res[i]);printf("\n");return 0;
}
/**
4 1 2 3 5
***/
【Codeforces 1392F】Omkar and Landslide | 思维、结论相关推荐
- Codeforces 1077B Disturbed People(思维题)
Codeforces 1077B Disturbed People(思维题) There is a house with nn flats situated on the main street of ...
- Codeforces Round #655 (Div. 2) D. Omkar and Circle 思维 + 奇偶贪心
传送门 题意: 给一个长为nnn的数组(nnn为奇数),iii与i−1i-1i−1相邻,111与nnn相邻,每次选择一个位置,将这个位置的值变成与它相邻的两个位置的和,让后将相邻位置删掉.求最终剩下一 ...
- CodeForces - 160D Edges in MST(思维+tarjan/树链剖分+线段树)
题目链接:点击查看 题目大意:给出一张 n 个点 m 条边组成的带权无向图,现在对于每条边来说,确定一下其分类: 一定是最小生成树上的边 可能是最小生成树上的边 一定不是最小生成树的边 题目分析:两种 ...
- 【CodeForces - 202A】LLPS (思维,字符串)
题干: This problem's actual name, "Lexicographically Largest Palindromic Subsequence" is too ...
- codeforces 848B Rooter's Song 思维题
http://codeforces.com/problemset/problem/848/B 给定一个二维坐标系,点从横轴或纵轴垂直于发射的坐标轴射入(0,0)-(w,h)的矩形空间.给出点发射的坐标 ...
- CF1536F - Omkar and Akmar——博弈结论、组合数学
F - Omkar and Akmar 题目描述 Translated by OneInDark \text{Translated by OneInDark} Translated by OneInD ...
- Codeforces 846 A Curriculum Vitae 思维 暴力
题目链接: http://codeforces.com/contest/846/problem/A 题目描述: 给你一个串, 你可以做删除操作, 要求结果串0不能在1的右边, 问最多可以剩几个数字 解 ...
- Codeforces 861 B Which floor? 思维
题目链接: http://codeforces.com/contest/861/problem/B 题目描述: 每个楼梯上有相同数量的数, 都是从1开始, 给你m个不矛盾的信息, 问你能不能判断n在第 ...
- CodeForces - 1494E A-Z Graph(构造+思维)
题目链接:https://vjudge.net/problem/CodeForces-1494E 题目大意:给出一个初始时只有 nnn 个点的有向带权图,需要执行 mmm 次操作,每次操作分为下列三种 ...
最新文章
- Arch Linux中安装Anaconda
- 你还在Java8中使用循环语句吗?
- 领域驱动DDD原理简介与实践
- 聚焦LS-MIMO的四大层面,浅谈5G关键技术
- 5.2.5 标准的原子整型的相关操作
- u盘安装系统win2019服务器系统,U盘如何安装原版Windows server 2019?
- UE5中提示Video Memory Has Been exhausted解决方案
- OpenState安装及 Port Knocking 实验
- Mac下Tesseract-OCR文字识别新手使用入门
- 全国域名注册机构查询
- 蓝牙发射功率dBm换算,发射总能量公式
- gcc报invalid operands of types ‘<unresolved overloaded function type>‘ and ‘int‘ to binary ‘operator<
- 留学生日常英语46~50
- 赢在测试:中国软件测试先行者之道
- 诗经与当代流行歌曲相通之处—重章叠句
- Android Studio 3.1 正式版发布
- 数字化时代-9:从四次工业革命看未来行业的方向
- php将您重定向的次数过多,Laravel路线重定向次数过多
- 商机 | 大数据/政务云采购清单 招标8起,最高招标价为1300万(12.2-12.5)
- win10如何打开摄像头_Win10专业版如何开启自带录屏功能?Win10录屏功能的开启方法...
热门文章
- 基于Python统计红楼梦中人物信息
- ps 填充画板背景色
- 灰狼算法(GWO)优化支持向量机的数据回归预测,GWO-SVM回归预测,多输入单输出模型。
- 拼多多笔试题 回合制角色扮演
- python 期货现货差价监测_大宗商品现货数据不好拿?商品季节性难跟踪?Python爬虫一键解决没烦恼...
- lisp不是函授型语言_讨论:为什么Lisp语言不再被广泛使用
- 惊了,MATLAB竟能制作如此方便的划词翻译工具???
- 管理 - STAR法则
- 关于手机店、电脑城,存在的物联卡的情况说明
- Python 计时器(秒钟、秒表)