cf 11B Jumping Jack(贪心,数学证明一下,,)
题意:
给一个数X。
起始点为坐标0。第1步跳1格,第2步跳2格,第3步跳3格,.....以此类推。
每次可以向左跳或向右跳。
问最少跳几步可以到坐标X。
思路:
假设X是正数。
最快逼近X的方法是不停向右走。如果越过了X,假设到了X1,则必有X1-X小于最后一步d。
如果X1-X是偶数,将之前的某个x变为-x。则可以到X。
如果X1-X是奇数,因为将之前的某个x变为-x,实际是后退2x格。所以必定要再向右走一步。直到X1-X是偶数。(其实只要走一步或两步)
X是负数的情况和X是正数的情况一样。
代码:
ll x,d;
int main(){
cin>>x;
if(x==0){
puts("0");
return 0;
}
if(x<0){
x=-x;
}
d=1;
while(d*(d+1)/2<x) ++d;
if(d*(d+1)/2==x){
printf("%I64d\n",d);
}
else{
ll x1=d*(d+1)/2;
ll deta=x1-x;
if(deta%2==0){
printf("%I64d\n",d);
}
else{
while(deta%2!=0){
++d;
x1+=d;
deta=x1-x;
}
printf("%I64d\n",d);
}
}
return 0;
}
cf 11B Jumping Jack(贪心,数学证明一下,,)的更多相关文章
- Codeforces 11B Jumping Jack(数学)
B. Jumping Jack time limit per test 1 second memory limit per test 64 megabytes input standard input ...
- codeforces 11B Jumping Jack
Jack is working on his jumping skills recently. Currently he's located at point zero of the number l ...
- Jumping Jack CodeForces - 11B
Jumping Jack CodeForces - 11B 就是一个贪心. 基本思路: 正负没有关系,先取绝对值. 首先跳过头,然后考虑怎么回来. 设超过头的步数为kk.如果kk为偶数,那么直接在前面 ...
- Codeforces Beta Round #11 B. Jumping Jack 数学
B. Jumping Jack 题目连接: http://www.codeforces.com/contest/11/problem/B Description Jack is working on ...
- codeforces 11 B.Jumping Jack 想法题
B. Jumping Jack Jack is working on his jumping skills recently. Currently he's located at point zero ...
- NOIP2012BLOCKADE贪心思想证明
NOIP2012BLOCKADE贪心思想证明 这道题的做法是二分时间并检验这个时间是否可行.检验的方法要用到贪心思想. 对于不能到根结点的军队应该尽量向根结点走. 如果军队A能走到根结点但到根结点后剩 ...
- 贪心/数学 Codeforces Round #212 (Div. 2) A. Two Semiknights Meet
题目传送门 /* 贪心/数学:还以为是BFS,其实x1 + 4 * k = x2, y1 + 4 * l = y2 */ #include <cstdio> #include <al ...
- [HNOI2015]菜肴制作贪心的证明
[HNOI2015]菜肴制作贪心的证明 先吐槽一句为什么网上都没人证这个东西,我觉得一点也不显然啊... 判环不用说了,现在处理一个DAG.考虑按题意模拟:建反图(边从后选的点连向先选的点),每次找全 ...
- cf 12C Fruits(贪心【简单数学】)
题意: m个水果,n个价格.每种水果只有一个价格. 问如果给每种水果分配价格,使得买的m个水果总价格最小.最大. 输出最小值和最大值. 思路: 贪心. 代码: bool cmp(int a,int b ...
随机推荐
- Android使用Fragment+ViewPager +TabLayout实现顶部标题栏
参考资料: https://blog.csdn.net/Tobey_r1/article/details/93221486 项目背景是Android开发新闻APP,实现新闻文本的分类,内容的展示,并实 ...
- c++ undefined reference
记录一次c++编程时发现的问题 报错 undefined reference undefined reference to `Student::~Student()' 下面还有类似的好几行,翻译过来就 ...
- php_excel导出
1.下载PHPExcel工具 2.解压后放置位置:ThinkPHP\Extend\Vendor\PHPExcel\PHPExcel.php. 3.Common.php代码 public functio ...
- Dapr实战(三)状态管理
状态管理解决了什么 分布式应用程序中的状态可能很有挑战性. 例如: 应用程序可能需要不同类型的数据存储. 访问和更新数据可能需要不同的一致性级别. 多个用户可以同时更新数据,这需要解决冲突. 服务必须 ...
- jenkin—持续集成
jenkins与持续集成 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.(百度百科) 持续集 ...
- shell 脚本获取数组字符串长度
#!/bin/sh source /etc/init.d/functions funOne() { array=(I am dfh kjlhfjksdf sdfj jdkfhaskl mjjoldfu ...
- mysql where in 数组解决小tips
由于sql语法要求,不可在in后面直接连数组,若数组形式下,则需要转换成逗号隔开的字符串 <?php$arr = array(1,2,3,4,5);$arr_string= join(',', ...
- whistle安装
可参考官方帮助文档:https://wproxy.org/whistle/install.html 系统:windows10 jdk:1.8.0_171 node:10.16.0 np ...
- python二级 之 第 五套
1. 这里要注意输入的 就是列表 . [1,2,3] 2. 就是你要明白 random.seed() 产生随机种子# 与random.randint() 取 ...
- CF1556D-Take a Guess【交互】
正题 题目链接:https://codeforces.com/contest/1556/problem/D 题目大意 现在有\(n\)个你不知道的数字,你有两种询问操作 询问两个下标的数字的\(and ...