博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷3986
阅读量:6894 次
发布时间:2019-06-27

本文共 918 字,大约阅读时间需要 3 分钟。

数学题;

复习了一下拓展欧几里得;ax+by=k;这题中,x,y即为斐波那契中的相邻两项;

问不同的a,b有多少种,显然可以用公式算;而且不重不漏;因为每组的解肯定互不相同;

跨组也没有相同的,因为你认为他们有相同的(a,b)的话,相当于认为(x1,y1)(x2,y2)其中(x2>x1,y2>y1)都是ax+by=k的解;

这显然是不可能的;

#include
#include
#include
#include
#include
using namespace std;typedef long long ll;const int p=1e9+7;ll x,y,f[100],cnt,ans,k;void exgcd(ll a,ll b,ll &x,ll &y){ if(!b){x=1;y=0;return;} exgcd(b,a%b,y,x); y-=x*(a/b);}int main(){ f[1]=1;f[2]=1; cnt=2; while(f[cnt]<=1e9){ ++cnt; f[cnt]=f[cnt-1]+f[cnt-2]; } cin>>k; for(int s=1;s
k)break; exgcd(f[s],f[s+1],x,y); x*=k;y*=k; x=((x%f[s+1])+f[s+1])%f[s+1]; if(!x)x=f[s+1]; y=(k-f[s]*x)/f[s+1]; if(y<=f[s]){ if(y>0)ans=(ans+1)%p; continue; } else{ans=(ans+(y-1)/f[s]+1)%p;} } cout<
<

 

转载于:https://www.cnblogs.com/dibaotianxing/p/7944351.html

你可能感兴趣的文章
MySQL锁系列(七)之 锁算法详解
查看>>
webOS 更名 LuneOS,新版本名为 Affogato
查看>>
《UNIX环境高级编程(第3版)》——导读
查看>>
11_Eclipse中演示Git版本的创建,历史版本的修改,创建分支,合并历史版本和当前版本...
查看>>
《实施Cisco统一通信管理器(CIPT1)》一1.2 CUCM概述
查看>>
《容器技术系列》一1.1 引言
查看>>
编程语言:变革创业思维的工具
查看>>
第一个libgdx程序--仿别踩白块
查看>>
一个开源项目维护者的笔记 — 为什么我关闭 PRs
查看>>
技术人员要失业?未来80% IT 工作将自动化
查看>>
Apache Spark机器学习.1.4 MLlib
查看>>
腾讯Android自动化测试实战3.1.1 什么是Robotium
查看>>
《Wireshark网络分析的艺术》—被误解的TCP
查看>>
《Linux防火墙(第4版)》——1.4 地址解析协议(ARP)
查看>>
《乐在C语言》一1.5 关键词
查看>>
Oracle内核技术揭密
查看>>
《软件工程(第4版?修订版)》—第1章1.3节什么是好的软件
查看>>
《PHP、MySQL和Apache入门经典(第5版)》一一2.7 基本安全规则
查看>>
《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——2.5 3GPP2...
查看>>
《深入理解JavaScript》——2.6 JavaScript是广泛使用的吗
查看>>