首页 > 其他分享 >P2090 数字对

P2090 数字对

时间:2024-09-27 13:23:35浏览次数:12  
标签:P2090 数字 int bmod printf define

P2090 数字对

不是,这不是黄题吗,鉴定为我太菜了

考虑这东西长得像辗转相除法。最终结果一定是 \((n,B)\) 这样子的。那么它一定是由 \((n-B,B)\) 转移过来。对于 \((a,b)\) 如果 \(a>b\) 它会变成 \((a-b,b)\),否则是 \((a,b-a)\)。

于是也许我们可以枚举 \(B\),把 \(a-b\) 这个操作变成 \(a\bmod b\) 这样时间就是 \(O(n\log n)\) 了。

#include<bits/stdc++.h>
// #define LOCAL
#define sf scanf
#define pf printf
#define rep(x,y,z) for(int x=y;x<=z;x++)
using namespace std;
typedef long long ll;
const int N=1e6+7,inf=0x3f3f3f3f;
int n;
int ans=inf;
int cal(int a,int b){
    if(a<b) swap(a,b);
    if(b==1) return a-1;
    if(b==0) return inf;
    return cal(a%b,b)+a/b;
}
int main(){
    #ifdef LOCAL
    freopen("in.txt","r",stdin);
    freopen("my.out","w",stdout);
    #endif
    sf("%d",&n);
    rep(B,1,n){
        ans=min(ans,cal(n,B));
    }
    pf("%d\n",ans);
}

标签:P2090,数字,int,bmod,printf,define
From: https://www.cnblogs.com/liyixin0514/p/18435495

相关文章

  • 工厂设备维修单:数字化管理的新趋势
    在工厂车间的忙碌生产场景中,设备的稳定运行是确保工厂高效生产的核心要素。而工厂车间设备维修单,记录着每台设备的维修履历,在设备维修保养过程中扮演着至关重要的角色。一、工厂车间设备维修单是什么?工厂车间设备维修单是一份详细记录设备故障情况、维修需求以及维修过程的重要文件......
  • AI数字人直播成为跨境电商领域新风口!
    近年来,人工智能(AI)技术在各个领域的发展突飞猛进,特别是在跨境电商领域的应用。其中,AI数字人直播凭借其独特的优势,正逐渐成为未来的新风口。这一趋势不仅为跨境电商带来了新的机遇,也为商家和消费者创造了更多的价值。什么是AI数字人直播?AI数字人直播指的是利用人工智能技术......
  • 猜数字游戏
    文章目录写⼀个猜数字游戏随机数⽣成randsrandtime设置随机数的范围猜数字游戏实现写⼀个猜数字游戏游戏要求:电脑⾃动⽣成1~100的随机数玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束随机数⽣成randC语⾔提供了⼀个函数叫......
  • 信息安全工程师(19)HASH函数与数字签名
    一、Hash函数1、定义    Hash函数,又称散列函数或哈希函数,是一种将任意长度的输入(称为预映射或消息)通过散列算法变换成固定长度输出(称为散列值或哈希值)的函数。这种转换是单向的,即不能从哈希值反向推导出原始输入。2、特性单向性:难以根据哈希值反向求出原始数据。......
  • 繁星·数智思享会:以流程为中心的数字化转型战役已打响
    2023年,望繁信科技联合安码BPM共同举办的繁星·数智思享会在上海精彩落幕。现场邀请到20多家头部企业的信息主管、流程管理专家齐聚一堂,大家围绕企业流程管理中消除执行偏差、促进业务增长两大热点话题进行了深入交流和探讨,现场气氛轻松热烈。拥抱数字化,加速产业创新升级作为知名的......