2322. capacitor

(File IO): input:capacitor.in output:capacitor.out

题目描述

输入

输出

样例输入

样例输出

数据范围限制

Solution

注意这句话

温暖了这道题目~

首先我要解释一下并联和串联的意义:

将$\frac ab$与1串联

$\mathsf{\frac {1}{\frac ba + \frac 11}}$

$=\frac{1}{\frac{a+b}{a}}$

$=\frac{a}{a+b}$

将$\frac ab$与1并联

$ \frac ab + 1$

$=\frac {a+b} {a} $

所以,经过一次操作后,实际上只是把分子加上了分母或者是把分母加上了分子!

接下来

对于任何一个分数$\frac ab$,首先将其化成最简分数(约分),再提取整数部分,最后再代回$\frac ab$

倒过来推导之前的过程:将a,b中大的数减去小的数,直到两者皆为1

于是,我竟然有4个点时间超限了!

(下了个数据)


…………

某个数据的一部分

好厉(wei)害(suo)!

再优化

我优化了两个地方:

求gcd使用二进制法以及卡常(可无视)

以及

减少相减循环的次数

当a,b反复相减时,总有一个数会先变成1(假设是a),然后b又要执行b次运算,每次仅仅是把b-=1,ans++……这个地方一定可以优化!

直接在a,b有一者减成1时跳出循环(假设是a)

本来还有b次循环,那么这时的答案就会比正确答案少b

所以,最后再把ans+=a*b即可

(上面的式子对a=1或b=1都适用)

Code

#include<iostream>
#include<cstdio>
using namespace std;
long long a,b,ans,t,g,n;
long long gcd(long long a,long long b)
{
if(!b) return a;
if(!(a|)&&!(b|)) return *gcd(a>>,b>>);
if((!(a|))&&(b|)) return gcd(a,b>>);
if(!(a|)&&!(b|)) return gcd(a>>,b);
return gcd(b,a%b);
}
int main()
{
// freopen("capacitor.in","r",stdin);
// freopen("capacitor.out","w",stdout);
cin>>t;
while(t--)
{
scanf("%lld%lld",&a,&b);
ans=;
g=gcd(a,b);
a/=g;b/=g;
n=a/b;
if(a>b) swap(a,b);
while(a!=&&b!=)
{
ans++;
b-=a;
if(a>b) swap(a,b);//a<b
}
cout<<ans+a*b<<endl;
}
return ;
}

End

这道题我会,还是WA了!!!

今天又是爆0的一天啊……

纪中17日T2 2322. capacitor的更多相关文章

  1. 纪中17日T1 2321. 方程

    纪中17日T1 2321. 方程 (File IO): input:cti.in output:cti.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制   Goto ...

  2. 纪中5日T2 1565. 神秘山庄

    1565. 神秘山庄 (Standard IO) 原题 题目描述 翠亨村是一个神秘的山庄,并不是因为它孕育了伟人孙中山,更神秘的是山庄里有N只鬼.M只兔子,当然还有你.其中每秒钟: 1. 恰有两个生物 ...

  3. 纪中21日T3 2118. 【2016-12-30普及组模拟】最大公约数

    纪中21日T3 2118. 最大公约数 (File IO): input:gcd.in output:gcd.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto ...

  4. 纪中10日T1 2313. 动态仙人掌

    纪中10日 2313. 动态仙人掌 (File IO): input:dinosaur.in output:dinosaur.out 时间限制: 1500 ms  空间限制: 524288 KB  具 ...

  5. 纪中23日c组T2 2159. 【2017.7.11普及】max 洛谷P1249 最大乘积

    纪中2159. max 洛谷P1249 最大乘积 说明:这两题基本完全相同,故放在一起写题解 纪中2159. max (File IO): input:max.in output:max.out 时间 ...

  6. 纪中23日c组T3 2161. 【2017.7.11普及】围攻 斐波那契数列

    2161. 围攻 (File IO): input:siege.in output:siege.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制   Goto Prob ...

  7. 洛谷P1880 [NOI1995]石子合并 纪中21日c组T4 2119. 【2016-12-30普及组模拟】环状石子归并

    洛谷P1880 石子合并 纪中2119. 环状石子归并 洛谷传送门 题目描述1 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石 ...

  8. 纪中21日c组T2 2117. 【2016-12-30普及组模拟】台风

    2117. 台风 (File IO): input:storm.in output:storm.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto Proble ...

  9. 纪中20日c组T2 2122. 【2016-12-31普及组模拟】幸运票

    2122. 幸运票 (File IO): input:tickets.in output:tickets.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto P ...

随机推荐

  1. webpack入门系列1

    一.什么是webpack?为什么要使用它? Webpack 是一个前端资源加载/打包工具.它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源. 为什么我们要使用它呢?因 ...

  2. 最新2.7版本丨DataPipeline数据融合产品最新版本发布

    此次发布的2.7版本在进一步优化产品底层数据处理逻辑的同时更加注重提升用户在数据融合任务的日常管理.运行监控及资源分配等管理方面的功能增强与优化,力求帮助大家更为直观.便捷.稳定地管理数据融合任务,提 ...

  3. jmeter处理http请求Content-Type类型和传参方式

    引言 我们在做接口测试的时候经常会忽略数据类型content-type的格式,以及参数Parameters和Body Data的区别和用途. 对于初次接触接口的同学来说,自己在发送一个http请求时, ...

  4. 数百个 HT 工业互联网 2D 3D 可视化应用案例分享 - 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  5. Visual Studio 常见问题

    VS 2013相关问题 VS 2013 Ultimate Update 5 下载地址: 英文版: vs2013.5_ult_enu.iso SHA-1:918EA4A911858D32C9771480 ...

  6. 3、实战:OutOfMemoryError异常

    目的:第一,通过代码验证Java虚拟机规范中描述的各个运行时区域存储的内容:第二,工作中遇到实际的内存溢出异常时,能根据异常的信息快速判断是哪个区域的内存溢出,知道什么样的代码可能会导致这些区域内存溢 ...

  7. OpenCV3入门(九)图像几何变换

    1.图像缩放 假设图像x轴的缩放因子Sx, y轴方向的缩放因子Sy,相应的变换表达式为: 函数原型为: CV_EXPORTS_W void resize( InputArray src, Output ...

  8. Qt 中QPainter 使用中出现的问题

    这两天在使用QPainter的过程中出现了一些问题,记录一下. 测试程序很简单,写一个继承自QWidget的类,重载其paintEvent函数进行绘图. case1: 在paintEvent函数中使用 ...

  9. Leetcode题解 - 部分中等难度算法题解(56、957、825、781、1324、816)

    957. N 天后的牢房 思路: 模拟变换,当N天结合后返回 => 当N非常大的时候,超时 => 一般N很大的时候,这种题目必然存在循环,所以记录找过的状态,一旦出现已经访问过的状态可立即 ...

  10. 数据算法 --hadoop/spark数据处理技巧 --(15.查找、统计和列出大图中的所有三角形 16.k-mer计数)

    十五.查找.统计和列出大图中的所有三角形 第一步骤的mr: 第二部mr: 找出三角形 第三部:去重 spark: 十六: k-mer计数 spark: