题意:

给a和b
第一次操作可以把a或者b加1
第二次操作可以把a或者b加2
...
第i次操作可以把a或者b加i
最少多少次操作使得a等于b

Example

Input

3
1 3
11 11
30 20

Output

3
0
4

思路:

做这种题我太弱了(哭)给a加i相当于给b减i
所以题目相当于求最小的k
满足 条件式 :~1~2~3...~k=abs(a-b),(~i表示正负i)先让所有~为加号,求出最小满足k*(k+1)/2>=abs(a-b)的k
这时候1+2+3...+k=abs(a-b)+temp,(temp为多出来的数)
1.如果temp为偶数,则只需要把左边式子种的temp/2由+修改成-,然后就满足条件式了
2.如果temp为奇数,两边同时加上k+1,
若k为偶数,则加上k+1之后temp为偶数,用第1点的方法修改符号满足条件式
若k为奇数,加上k+1之后还是奇数,需要再加一次k+2,然后修改符号满足条件式

code:

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxm=1e5+5;
int sum[maxm];//sum[i]表示1-i的和
signed main(){for(int i=1;i<maxm;i++){sum[i]=sum[i-1]+i;}int T;cin>>T;while(T--){int a,b;cin>>a>>b;if(a==b){//特判相等的情况cout<<0<<endl;continue;}int dif=abs(a-b);//a和b差值int pos=0;for(int i=1;i<maxm;i++){if(sum[i]>=dif){pos=i;break;}}int temp=sum[pos]-dif;//多出来的数if(temp%2==0){//如果多出来的是偶数,那么把(temp/2)从+改成-即可cout<<pos<<endl;}else{//多出来的是奇数,两边同时+(pos+1)if(pos%2==0){//pos偶数,则pos+1奇数,temp+pos+1偶数cout<<pos+1<<endl;}else{//pos奇数,则pos+1偶数,temp+pos+1奇数,再加pos+2变成偶数cout<<pos+2<<endl;}}}return 0;
}

CodeForces 1278 B.A and B(数学)相关推荐

  1. Codeforces 1278 B. A and B (思维题)

    题目链接:https://codeforces.com/contest/1278/problem/B 题目大意: 给定两个整数a,b,现在进行以下的操作: 第一次操作,从a,b两个数中选择一个+1. ...

  2. Codeforces 1278 D.Segment Tree(排序+set)

    题目链接:https://codeforces.com/contest/1278/problem/D 题目大意: 给定一堆线段[li,ri],每个线段的端点都不一样,如果两个线段相交,那么他们必须是有 ...

  3. Codeforces 658D Bear and Polynomials【数学】

    题目链接: http://codeforces.com/contest/658/problem/D 题意: 给定合法多项式,改变一项的系数,使得P(2)=0,问有多少种方法? 分析: 暴力求和然后依次 ...

  4. codeforces 1278 B. A and B

    本题 分析: 然后贪心枚举步数n,先满足②式,再满足①式,break就完事 有异曲同工之妙的一个题[codeforces 1260B] (https://codeforces.com/contest/ ...

  5. Codeforces 963A Alternating Sum 【数论+数学】

    官方题解这个样子我觉得说得比较清楚.Z我们可以朴素的预处理出来(注意乘法膜),q的话考点在于[分数取膜]即 (a/b)%P = a* inverse of b %P 这就涉及到算b的逆元,我用的是欧几 ...

  6. 【CodeForces - 124C】Prime Permutation(数学,思维,小结论)

    题干: You are given a string s, consisting of small Latin letters. Let's denote the length of the stri ...

  7. 【CodeForces - 1047C】Enlarge GCD(数学,枚举,预处理打表,思维)

    题干: F先生有n个正整数,a1,a2,...,an 他认为这些整数的最大公约数太小了,所以他想通过删除一些整数来扩大它 您的任务是计算需要删除的最小整数数,以便剩余整数的最大公约数大于所有整数的公约 ...

  8. 【CodeForces - 922B 】Magic Forest (数学,异或,暴力,水题,三元组问题)

    题干: Imp is in a magic forest, where xorangles grow (wut?) A xorangle of order n is such a non-degene ...

  9. 【CodeForces - 215B 】Olympic Medal (数学,公式推导)

    题干: The World Programming Olympics Medal is a metal disk, consisting of two parts: the first part is ...

最新文章

  1. CentOS 安装Python3
  2. mysql怎么在海量数据上ddl_浅谈MySQL Online DDL(中)
  3. SharePoint 2010开发实例精选——“每日一句”WebPart
  4. lambda Kappa iota比较
  5. eureka源码:EurekaTransport类用于client与server进行交互
  6. rapidjson读取json文件_SPARK入门 - json文件读取
  7. linux下安装服务,linux下的软件服务安装管理
  8. 将JPA Hibernate与OptaPlanner集成
  9. pycharm是不是python编程_使用PyCharm进行python开发的简介
  10. activex控件 新对象 ocx 初始化_Office已经支持64位的树控件Treeview了
  11. Vue-cli 项目打包布署(简单清晰)
  12. MyBatis集合Spring(三)之mapper
  13. [picture_scrapy] 关于美女爬虫的一个集合
  14. Sketch 56.2 Mac中文版
  15. 人生时间计算器_真实年龄计算器app下载-抖音珍稀时间年龄计算器下载v1.5 安卓版-西西软件下载...
  16. 计算机网络课后作业习题1
  17. 微服务实践(总)-原文
  18. IBM 2005-H16光钎交换机密码重置
  19. window系统谷歌图标显示异常之IconCache.db(图片缓存文件)
  20. 未能联接game center服务器,Game Center无法毗邻服务器怎么办 五种方法任你选择

热门文章

  1. 对日软件外包是干什么?
  2. 3Dunity游戏项目实战——飞机大战
  3. 希沃课件同步显示服务器异常,希沃白板如何使用PPT 希沃白板PPT无法修改是什么原因如何解决...
  4. 直接拔掉Mac移动硬盘所造成的无法识别问题
  5. gnome显示桌面图标_gnome3.28及以后桌面图标显示方法
  6. macOS备份迁移系统偏好设置
  7. 园区管理平台网络安全设计
  8. 天载股票开户沪深两市分化明显
  9. 使用Python爬取“最好大学网”软科中国最好大学排名2019并做可视化分析
  10. 室内设计要学英语和计算机吗,学习室内设计,需要什么样的电脑配置?