21南阳理工oj新生赛Round#5--这是一道二分题
题目如下:
题目类型:模拟题。
AC代码如下:
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int s[1010];
int main()
{int t;cin>>t;while(t--){int sum = 0;//统计填平需要的石头数量 int n,k;cin>>n>>k;for(int i = 1;i<=n;i++){scanf("%d",&s[i]);}int mx = s[n];for(int i = n;i>=2;i--)//先遍历一下 {//从后面开始,因为可能存在单调增或者减 if(s[i-1]<=mx) //填平 sum+=(mx-s[i-1]);elsemx = s[i-1];//找最高的峰是多高 }if(k>sum)//填平了还有石头,那铁要落到收集系统了!!! cout<<-1<<endl;else//那我就暴力去找找(模拟一下) {int ans = 0;//记录石头位置 for(int i = 2;i<=n;i++){if(s[i-1]<s[i]){k--;s[i-1]++;ans = i - 1;if(k==0)break;i = 1;}}cout<<ans<<endl;}}
}
详解已在代码处注释!!!
题目思路:
题目要求是让我们先判断是否可以填平,如果填平所需要的石头<k输出-1(一定会掉到收集系统里);可以的话输出最后一块巨石的位置。
首先,我们先要判断是否可以填平:
我们要从后往前遍历,因为可能存在单调增或者单调减!!!
if(k>sum)//填平了还有石头,那铁要落到收集系统了!!!
输出-1
如果k<=sum
那我们就模拟一下这个过程,每次记录一下石头的位置,最后直接输出最后一块石头的位置就ok了。
最后感谢大家的阅读!!!
21南阳理工oj新生赛Round#5--这是一道二分题相关推荐
- 21南阳理工oj新生赛Round#5--这是一道防ak题
题目如下: 题目类型:数学类,思维类. AC代码如下: #include<iostream> #define ll long long using namespace std; int m ...
- C. 啊对对对 (南阳理工oj—21第二次招新赛)
解法 找到最长的公共前后缀以后,我们可以先输出t,然后t中的最长公共前后缀无需再输出(重复),只输出不重复的部分即可. 比如 aba公共前后缀为a ,不重复的部分为ba,所以你只需要先输出t(aba) ...
- 21级爪哇程序设计新生赛(二)题解
21级爪哇程序设计新生赛(二) 序 A 小爪的数字集合(并查集) B 小爪的得分(博弈) C 小爪的博弈(博弈) D ljc和cyj玩五子棋(模拟) E ljc和雪球(模拟) F LJC的背包(动态规 ...
- F. 张胖胖玩多米诺骨牌 (南阳理工oj—21新生第二场招新赛)
目标:邻两块骨牌距离的最大值最小 首先这是一道二分题(如果你可以看出来,那你就已经成功一半了) 我以上面的图,来讲解一下: 这个算是贪心思想了 X是二分出来的最大值,如果距离大于X,我就插一个(也可能 ...
- E. 数好多好多猴(南阳理工oj—21新生第二场招新赛)
u1s1:数猴子,数猴子,最后我变成了猴子,www. 这个题是一道思维题,接下来我以最简单理解的方式解答这个题! 我们的目标是确定最初猴子的个数 有几种可能 所以我们用mx(最大个数)与mn(最小个 ...
- 南阳理工oj 题目26 孪生素数问题 素数筛选法
孪生素数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再近的相邻 ...
- [SWPUCTF 2021 新生赛]第一波放题(nssctf刷题)
[SWPUCTF 2021 新生赛]jicao json_decode介绍: json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_d ...
- 小乐乐与二段数(2019哈理工新生赛第20题)
链接:2019哈理工新生赛题解 2019哈理工新生赛第20题 T题: 链接:https://ac.nowcoder.com/acm/contest/1877/T 来源:牛客网 题目描述 小乐乐从老师口 ...
- [SUCTF2018]babyre [ACTF新生赛2020]fungame
文章目录 [SUCTF2018]babyre 惯用思维 常人思维 GAMEOVER [ACTF新生赛2020]fungame int __cdecl sub_401340(int a1) int __ ...
最新文章
- BestCoder Round #84
- Android适配华为手机,华为Mate 10将适配Android P 更流畅体验
- @NotNull 、@NotBlank、@NotEmpty区别
- 【CodeForces - 764B 】Timofey and cubes (模拟)
- qt设置滚动区域的滚动条的样式
- Objective-C 的 self 和 super 详解
- Two Strings Are Anagrams
- ERP:“造势”,还是“做事”
- C语言:Fibonacci数列打印
- 像计算机科学家一样思考(C++)
- ​深度:50+中老年健身运动需求升级,老年健身房能否成为下一个线下消费入口?
- HarmonyOS原子化服务案例分享-成语心情
- pdf编辑软件哪个好?编辑pdf的软件分享一款,像word一样好用!
- JS/JQuery整齐的照片墙:展示很多宽高不同照片,让每一行中的所有照片高度一样,所有的行的宽度一样
- sqlserver 模糊查询
- 人生不同年龄阶段该怎么买保险?
- (前端)html与css,html 5、h、p标签,与_img路径
- seo说_百度指数看世间沉浮_如何快速排名-互点快速排名_企业新网站如何优化快速出排名?...
- 自己设定Macbook风扇转速,让苹果不再发烫的秘笈
- java编译错误:程序包javax.servlet不存在javax.servlet.*
热门文章
- python搭建博客系统_基于python3.7和django2.1的多人博客系统
- 五、C#入门—流程控制
- Maven 项目在 Eclipse 的创建配置
- SprinMVC 控制器忽略静态资源
- Upload-Labs(16)
- css flexbox模型_Flexbox-Ultimate CSS Flex速查表(带有动画图!)
- git 初始化git存储库_什么不保存到Git存储库中
- 风变编程课 囚徒困境 答案_当您对所有这些有用的在线编程课程感到不知所措时,如何摆脱困境...
- 接口样板_完整的AWS Web样板
- cad中等线体_如何撰写人们会实际阅读的中等故事