先特判掉特殊情况:

  • $a=b,Ans=2$
  • $ab=0,a+b>0,Ans=2$
  • $a=b=0,Ans=1$

考虑剩下的非特殊情况。记$Solve(a,b)$为数列中除了$a,b$外的不同的数的个数,分两种情况:

  • $b|a$,设$a=kb$,那么数列会出现的数有:$0,b,2b,3b,\cdots,kb$,那么$Solve(a,b)=k-1$。
  • $b\nmid a$,设$a=kb+r$,那么数列中会出现的与$a$在对$b$取模下同余的数有:$r,r+b,r+2b,\cdots,r+kb$,那么可以得到$Solve(a,b)=Solve(b,r)+k$。

所以最后$Ans=Solve(a,b)+2$。

 #include <cstdio>
#include <iostream>
using namespace std;
typedef long long LL; int Case, T;
LL a, b, cnt; inline LL Solve(LL x, LL y)
{
if (x % y == ) return x / y - ;
LL res = x / y;
return Solve(y, x % y) + res;
} int main()
{
scanf("%d", &Case);
for (T = ; T <= Case; T ++)
{
cin >> a >> b;
if (a == && b == ) cnt = ;
else if (a == b || a == || b == ) cnt = ;
else cnt = Solve(a, b) + ;
printf("Case #%d: ", T);
cout << cnt << endl;
}
return ;
}

Gym100548 K

CF Gym100548 K Last Defence 解题报告的更多相关文章

  1. CF Round #600 (Div 2) 解题报告(A~E)

    CF Round #600 (Div 2) 解题报告(A~E) A:Single Push 采用差分的思想,让\(b-a=c\),然后观察\(c\)序列是不是一个满足要求的序列 #include< ...

  2. 【剑指Offer】链表中倒数第k个节点 解题报告(Python)

    [剑指Offer]链表中倒数第k个节点 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  3. 【LeetCode】692. Top K Frequent Words 解题报告(Python)

    [LeetCode]692. Top K Frequent Words 解题报告(Python) 标签: LeetCode 题目地址:https://leetcode.com/problems/top ...

  4. 【剑指Offer】二叉搜索树的第k个结点 解题报告(Python)

    [剑指Offer]二叉搜索树的第k个结点 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  5. 【LeetCode】658. Find K Closest Elements 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/find-k-c ...

  6. 【LeetCode】358. Rearrange String k Distance Apart 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/rearrang ...

  7. 【LeetCode】347. Top K Frequent Elements 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 解题方法 字典 优先级队列 日期 题目地址:https://l ...

  8. 【LeetCode】395. Longest Substring with At Least K Repeating Characters 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/longest- ...

  9. 【原创】leetCodeOj --- Merge k Sorted Lists 解题报告

    题目地址: https://oj.leetcode.com/problems/merge-k-sorted-lists/ 题目内容: /** * Definition for singly-linke ...

随机推荐

  1. ORACLE-树状数据结构获取各层级节点信息

    平时工作中出报表时,要求分别列出员工的一级部门,二级部门....,在数据库中,部门表(unit)的设计一般为在表中维护每个部门的上级部门(pid字段),或者通过一个关联表(unit_link)维护层级 ...

  2. ODBC,实现图片循环写入Oracle数据库

    import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...

  3. 在hibernate中使用c3p0数据源

    1.  jar包  hibernate-release-4.1.8.Final\lib\optional\c3p0 2.  加入配置:   <!-- 数据库连接池最大连接数 -->  &l ...

  4. change

    #include<iostream> using namespace std; int main() { double a; cin>>a; cout<<a< ...

  5. ARC小知识

    ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting).简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管 ...

  6. 修改ubuntu按下关机键触发的事件

    gsettings set org.gnome.settings-daemon.plugins.power button-power shutdown will change your the beh ...

  7. Arduino CNC Shiled 和 DRV8825驱动板的注意事项

    首先说明硬件:1) Arduino CNC Shiled V2.6 2)DRV8825驱动板 3)光驱步进电机  4)Arduino  uno R3 下图是本次主角是Arduino CNC Shile ...

  8. background-clip 背景图片做适当的裁剪

    background-clip 用来将背景图片做适当的裁剪以适应实际需要. 语法: background-clip : border-box | padding-box | content-box | ...

  9. 值类型的Constructor

    使用C#的时候我们最熟悉的是类,也就是Reference Type,翻译成中文是引用类型.但是C#还有另外的一种类型往往被我们用的最多缺经常被忽视,这种类型就是值类型(Value Type). 值类型 ...

  10. php错误收集

    1.Notice: Undefined offset: 1 in F:\www\my\test.php on line 39,原因offset:接下去的数字是出错的数组下标,一般是超出了数组的取值范围 ...