CF457A Golden System

十分精妙的一道题,斐波那契数列和黄金比例\(\Phi\)的内在有着奇妙的联系。

我们设\(x=\frac{\sqrt{5}+1}{2}\),则根据题目给出的规律,有\(x^2=x+1\)。

下面我们通过列举,试图找出规律:

  • \(x^0=1\)
  • \(x^1=x\)
  • \(x^2=x+1\)
  • \(x^3=2x+1\)
  • \(x^4=3x+2\)
  • \(x^5=5x+3\)
  • \(x^6=8x+5\)

    \(…\)

没错,\(x\)的系数构成了一个斐波那契数列\(\{1,0,1,1,2,3,5,8,…\}\),而容易发现\(x^k=x^{k-1}+x^{k-2}\)。所以我们把\(A,B\)序列不断降次,直到只剩若干\(x^0\)和\(x^1\),然后计算具体值判断即可。

这里把\(A,B\)相减得到\(C\),最后看结果的正负性,效果是一样的。

需要注意的是,降次过程中可能会出现超long long的情况,怎么解决呢?我们发现\(x^k\)的系数如果超过某个限制,以至于\(1\sim (k-1)\)即使全是负数,结果也减不到负数。所以在执行途中加一个判断如果\(x^k\)的绝对值大于某个数,就直接输出。这里使用\(10^5\)过了,但为了保险还是大点好。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
string a,b;
long long c[100010];
int main(){
cin>>a>>b;
int len=max(a.size(),b.size());
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
a.resize(len,'0'),b.resize(len,'0');
a=' '+a,b=' '+b;
for(int i=1;i<=len;i++) c[i]=a[i]-b[i];
for(int i=len;i>=3;i--){
if(llabs(c[i])>100000){
if(c[i]>0) cout<<'>';
else cout<<'<';
return 0;
}
c[i-1]+=c[i],c[i-2]+=c[i];
}
if(c[1]==c[2]&&c[1]==0){
cout<<'=';
return 0;
}
double x=(sqrt(5)+1)/2;
double aa=1.0*c[2]*x+1.0*c[1];
if(aa>0) cout<<'>';
else cout<<'<';
return 0;
}

[题解]CF457A Golden System的更多相关文章

  1. PAT甲题题解-1129. Recommendation System (25)-排序

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789819.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  2. Codeforces 458A Golden System

    经过计算两个字符串的大小对比 主要q^2=q+1 明明是斐波那契数 100000位肯定超LL 我在每一位仅仅取到两个以内 竟然ac了 #include<bits/stdc++.h> usi ...

  3. CF memsql Start[c]UP 2.0 A

    CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...

  4. MemSQL Start[c]UP 2.0 - Round 2 - Online Round

    搞到凌晨4点一个没出,要gg了. A. Golden System http://codeforces.com/contest/458/problem/A #include<cstdio> ...

  5. LeetCode Design TinyURL

    原题链接在这里:https://leetcode.com/problems/design-tinyurl/description/ 题目: How would you design a URL sho ...

  6. HDU3686 Traffic Real Time Query System 题解

    题目 City C is really a nightmare of all drivers for its traffic jams. To solve the traffic problem, t ...

  7. UVA 11383 Golden Tiger Claw 题解

    题目 --> 题解 其实就是一个KM的板子 KM算法在进行中, 需要满足两个点的顶标值之和大于等于两点之间的边权, 所以进行一次KM即可. KM之后, 顶标之和就是最小的.因为如果不是最小的,就 ...

  8. UVALive-4839 HDU-3686 Traffic Real Time Query System 题解

    题目大意: 有一张无向连通图,问从一条边走到另一条边必定要经过的点有几个. 思路: 先用tarjan将双连通分量都并起来,剩下的再将割点独立出来,建成一棵树,之后记录每个点到根有几个割点,再用RMQ求 ...

  9. C++版 - 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解

    剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题) 原书题目:0, 1, - , n-1 这n个数字排成一个圈圈,从数字0开始每次从圆圏里删除第m个数字.求出这个圈圈里剩下的最后一个数字 ...

  10. 题解 CF20A 【BerOS file system】

    对于此题,我的心近乎崩溃 这道题,注意点没有什么,相信大佬们是可以自己写出来的 我是蒟蒻,那我是怎么写出来的啊 好了,废话少说,开始进入正题 这道题,首先我想到的是字符串的 erase 函数,一边运行 ...

随机推荐

  1. 【2020.11.25提高组模拟】树的解构(deconstruct) 题解

    [2020.11.25提高组模拟]树的解构(deconstruct) 题解 题目描述 给一棵以\(1\)为根的外向树,进行\((n-1)\)次删边操作,每次都会从没有删掉的边中等概率地删掉一条边\(a ...

  2. 基于AI来汉化Joomla扩展的尝试

    之前Joomla中文网的汉化平台使用Goolge翻译API和百度翻译API来实现自动汉化,这种方案存在很大的一个问题就是没有足够的上下文支持使得翻译的结果并不理想,另外,API接口处理包含HTML字符 ...

  3. 【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景

    之前我们为您分享了[一步步开发AI运动小程序]开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身.线上运动赛事.AI学生体测.美体.康复锻炼等应用场景的AI运动小程序:为了帮助开发者继 ...

  4. PD项目管理工具实战指南:产品研发流程优化的数字化利器(2025深度选型推荐)

    在研发项目管理领域,越来越多企业正从传统"瀑布式开发"转向 集成产品开发(IPD)模式.这一方法论不仅强调跨部门协同.流程分阶段控制,更对工具系统提出了更高要求:要能穿透组织架构. ...

  5. Vue 注意事项

    Top 1 v-once:标签的内容只改变一次: <span v-once>这个将不会改变: {{ msg }}</span> Top 2 v-html:将内容以HTML格式输 ...

  6. 数栈技术分享:用短平快的方式告诉你Flink-SQL的扩展实现

    数栈是云原生-站式数据中台PaaS,我们在github和gitee上有一个有趣的开源项目:FlinkX,FlinkX是一个基于Flink的批流统一的数据同步工具,既可以采集静态的数据,也可以采集实时变 ...

  7. 开源交流丨批流一体数据集成框架ChunJun数据传输模块详解分享

    课件获取:关注公众号"ChunJun",后台私信 "课件" 获得直播课件 视频回放:点击这里 ChengYing开源项目地址:github 丨 gitee 喜欢 ...

  8. 一文了解:仿真技术的巨头——美国Altair公司

    Altair公司成立于1967年,总部位于美国马里兰州巴尔的摩,在全球拥有近35000名员工,是一家世界领先的软件公司,在汽车.航空航天.军工和建筑等领域拥有广泛的产品和解决方案. Altair公司主 ...

  9. springboot~入门第二篇~页面html跳转~

    遇到的问题:按照别人的blog搭jsp页面就是html页面跳转不了,总是如图: 终于找到了一个能用的blog ,换 thymeleaf(html页面跳转)成功. 控制器代码 注意下: @Control ...

  10. MUMU 模拟器一台电脑上的adb连接另一台电脑上的模拟器

    第一步,输入命令adb devices,查看已连接的设备列表: 需要开启网络桥接