Go Home
Go Home
(https://www.luogu.com.cn/problem/AT_arc070_a)
比较需要理解题意的一个题目
看看题目解析:在0秒的时候有一只袋鼠在左右无限长的数轴上的原点上。在i-1到i的时间内,袋鼠可以选择不动,也可以向任意方向跳i个单位长度。也就是说,如果袋鼠在坐标x,时间i-1到i的时候,可以存在x-i,x,x+i三点之中。袋鼠的家在坐标X。袋鼠想尽快移动到它家。求袋鼠到达家的时间的最小值。
首先,我们能懂时间是一直增的,也就是满足从1 - t的。那么在t秒内我们能走的路程就应是\({(1+t)*t\over 2}\)那么多。那么问题来了,如果刚好是满足这个等式的还好,直接输出t就好,但是如果出现一些***钻的,比如19之类的我们该怎么找?
我们再看看题目,袋鼠是可以停下来或者往回跳的那么操作性就很大了。我们再换换思路,有没有可能当出现这种***钻的数字的时候只要满足\({(1+t)*t\over 2}\) > x该t就答案呢(因为袋鼠是可以停下来的,只要满足它在某个时刻不跳了,用后边的时间加上,能 = x那么答案就出来了)
写个代码看看在t秒内,能跳的范围是多少
code
int t;cin >> t;
for (int i = t; i >= 0; i--) {
int ans = 0;
for (int j = 1; j <= t; j++) {
if(j == i)continue;
else ans+= j;
}
cout << ans << ' ';
}
当 t == 6 的时候答案是15 16 17 18 19 20 21
那就说明这答案就是当\({(1+t)*t\over 2}\) > x 的时候的t
Acode
int step = 0;
int i = 1;
while (1) {
step += i;
if(step >= x){
cout << i << endl;
return 0;
}
i++;
}
随机推荐
- 十大经典排序之计数排序(C++实现)
计数排序 核心思想:计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中. 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数. 思路: 找出待排序的数组中最大和 ...
- ping 的七种用法【搬运】
原作者:Pheenet菲尼特 原地址:https://www.toutiao.com/a6783191796659782148/?tt_from=weixin&utm_campaign=cli ...
- django_模板层的变量和标签
一.模板层的变量 1.能传递到模板层的数据类型:str(字符串).list(数组).dict(字典).obj(类实例化的对象).fun(函数)等. 2.在模板中使用变量的方法: (1)字符串:{{ 变 ...
- 如何用算法把一个十进制数转为十六进制数-C语言基础
这一篇文章要探讨的是"如何用算法实现十进制转十六进制"并不涉及什么特别的知识点.属于C语言基础篇. 在翻找素材的时候,发现一篇以前写的挺有意思的代码,这篇代码里面涉及的知识点没有什 ...
- The Ultimate Guide to Dynamics 365 Pricing and Licensing
Microsoft Dynamics 365 integrates powerful ERP and CRM capabilities in the cloud to provide busi ...
- 思科交换机BGP配置
拓扑图后期添加 交换机A配置: Console#show running-configBuilding running configuration. Please wait...!!vlan data ...
- 【javascript】export 与 export default 区别
总是记不得,自己打一遍 通过export方式导出,在导入时要加{ },export default则不需要,因为它本身只能有一个
- 爬快手,graphql查询语言
graphql查询语言:https://blog.csdn.net/qq_41882147/article/details/82966783 即:前端调用同一个接口传入不同的操作,得到不同的返回值 一 ...
- Android 音视频 - EGL 源码解析以及 C++ 实现
OpenGL 是一个跨平台的 API,而不同的操作系统(Windows,Android,IOS)各有自己的屏幕渲染实现.所以 OpenGL 定义了一个中间接口层 EGL(Embedded Graphi ...
- Java (强/弱/软/虚)引用
一.整体架构