2021南京icpc J

2021acm-icpc区域赛(南京)补题笔记 2021南京,号称最卷的icpc区域赛。 上周末训练赛和队友打了一下,争取多补几道题。 阅读详情
题意:

给出两个整数a,ba,ba,b,每次可以选择如下一个操作进行:

(1)把a,ba,ba,b都+1

(2)把a,ba,ba,b都-1

(3)把a,ba,ba,b都除以一个他们的公共质因子

问最小次数,使得a,ba,ba,b至少存在一个等于1

Solution:

不妨令a≤ba\leq ba≤b

假设某个时候,我们没有质因子可以除,那么我们需要利用+1,−1+1,-1+1,−1移动到一个有公共质因子的地方,然后再操作,如果到某个地方,两数存在有公共质因子,显然,他们的差b−ab-ab−a一定是这个公共质因子的倍数,于是,他们的公共质因子一定是b−ab-ab−a的任意一个公共质因子,那么唯一分解b−ab-ab−a,对于每个a,ba,ba,b,可以有这样的操作,一直-1到某个有公共质因子的地方,或者一直-1

到1,显然第二个的次数是a−1a-1a−1,而第一种,我们需要枚举b−ab-ab−a的质因子ppp,此时有两种决策,即把aaa移至最接近的两个ppp的倍数,即p×⌊ap⌋p\times\lfloor\frac{a}{p}\rfloorp×⌊pa​⌋和p×⌈ap⌉p\times \lceil\frac{a}{p}\rceilp×⌈pa​⌉,然后除ppp,此时操作次数为∣res−a∣+1|res-a|+1∣res−a∣+1,resresres是aaa移动到的数值,每次枚举决策,记忆化搜索即可

训练的时候一直调不出来,原来是有一个函数写反参数,向上取整脑子短路写错了。。

#include<bits/stdc++.h>
using namespace std;
 
using ll=long long;
#define div ttttttmp
const int N=200005,inf=0x3fffffff;
const long long INF=0x3f3f3f3f3f3f,mod=998244353;
 
int prime[N],cnt;
bool isprime[N];
 
void make_prime()
{
    memset(isprime,true,sizeof(isprime));
    for(int i=2;i<=100000;i++)
    {
        if(isprime[i]) prime[++cnt]=i;
        for(int j=1;j<=cnt&&i*prime[j]<=100000;j++)
        {
            isprime[i*prime[j]]=false;
            if(i%prime[j]==0) break;
        }
    }
}
 
ll ceil(ll a,ll b){return a%b?a/b+1:a/b;}
 
vector<ll>div;
map<pair<ll,ll>,ll>map1;
 
ll dfs(ll x,ll del)
{
    if(x==1) return 0;
    if(map1.count({x,del})) return map1[{x,del}];
    ll min1=x-1;
    for(int i:div)
    {
        if(del%i) continue;
        if(i*(x/i)) min1=min(min1,dfs(x/i,del/i)+x-(i*(x/i))+1);
        if(i*ceil(x,i)) min1=min(min1,dfs(ceil(x,i),del/i)+i*ceil(x,i)-x+1);
    }
    return map1[{x,del}]=min1;
}
 
void work()
{
    ll a,b;
    scanf("%lld%lld",&a,&b);
    if(a>b) swap(a,b);
    map1.clear(); div.clear();
    ll tmp=b-a;
    for(int i=1;i<=cnt&&tmp>1;i++)
    {
        if(tmp%prime[i]==0) div.push_back(prime[i]);
        while(tmp%prime[i]==0) tmp/=prime[i];
    }
    if(tmp>1) div.push_back(tmp);
    printf("%lld\n",dfs(a,b-a));
}
 
int main()
{
    make_prime();
    int t; cin>>t;
    while(t--) work();
    return 0;
}
2018ICPC南京现场赛部分题解(A、J) 传送门 A.Adrien and Austin: 题意: n个石子排成一列,每次能拿走最少一个最多k个(连续的没被拿走的),谁没石子拿谁输,输出获胜的人的名字,Adrien先手。 思路: 特判 k == 1和n == 0的情况,当k等于1时每次只能拿走1个,此时判断n的奇偶性,n为奇数时后手获胜,n为偶数时先手获胜;当n == 0时后手获胜,... 阅读详情

相关推荐

避开CPU瓶颈:手把手教你用RK3588的DMA-BUF实现V4L2到NPU的零拷贝数据流

本文详细介绍了如何在RK3588平台上利用DMA-BUF实现V4L2到NPU的零拷贝数据流,显著提升异构计算性能。通过实战指南展示了如何配置摄像头采集、RGA图像预处理和NPU推理优化,最终实现CPU占用率降低60%、延迟减少60%的效果,特别适合YOLOv5等AI推理应用的高效部署。

weixin_30374009的博客 571

【题目记录】——ICPC南京2021

文章目录A Oops, It's Yesterday Twice More 签到C Klee in Solitary Confinement 思维题D Paimon Sorting 思维题HIJM Windblume Festival 思维 题目集地址ICPC南京2021 参考博客第 46 届 ICPC 国际大学生程序设计竞赛亚洲区域赛(南京) CDH 2021 46届icpc 南京 A Oops, It’s Yesterday Twice More 签到 A 题目大意:略 思路:判断离哪个角近,先走到角上

气派飞鹰的博客 5071

CAD图纸智能搜索三大突破:图纸秒搜技术、相似度匹配与AI语义搜索

CAD图纸作为核心资产,长期面临管理难题:传统全文检索需逐张打开图纸人工查找,效率低下;相似图纸匹配依赖人工比对,误差率高;非专业人员难以通过模糊描述精准定位图纸。针对这些问题,唯杰地图推出三项智能解决方案:一是基于现代化索引引擎的​​全文搜索​​,支持秒级检索图纸内的文字、图层、块名称等,并可多条件组合查询;二是​​相似度搜索​​,通过SIFT算法和深度学习提取几何特征与拓扑结构,实现高精度匹配;三是​​AI语义搜索​​,利用大模型解析自然语言指令(如“查找半径为10的红色圆”),直接定位目标图形。

vjmap的博客 1868

2021icpc南京站

2021icpc南京站

AC__dream的博客 1499

Unity通用Buff系统,Buff编辑器(1,理论篇)(技能系统之Buff篇)

逻辑层根据游戏的规则和设计,控制Buff的生命周期、影响目标对象的属性或行为,以及处理Buff的交互和冲突。Buff堆叠和冲突:有些游戏中允许同类型的Buff叠加,以增加效果的强度,而有些游戏中可能不允许Buff叠加,只能由更强力的Buff来覆盖较弱的Buff。灵活个性化:每个游戏对象拥有自己的BuffManager,可以实现个体对象的独特Buff效果,增加游戏的多样性和个性化。自由控制:每个对象独立管理自己的Buff,可以自由地激活、更新和移除Buff效果,提供更精细的控制和逻辑实现。

u010082265的博客 4693

COMSOL解的继承

COMSOL解的继承1. 应用场景2. 实现方法2.1. 添加研究步骤2.2. 引用研究 根据参考文献整理而来,原文见: http://blog.sina.com.cn/s/blog_4a0a8b5d010126w5.html https://www.zhihu.com/question/371867999/answer/1309194094 个人学习笔记,如有疏漏,欢迎补充 1. 应用场景 在COMSOL模拟中,一次求解之后往往遇到以下几种情况需要用到解的继承: 1)瞬态求解的继续运算。例如初始设定求解1

jessica0307的博客 1万+

2021 ICPC 南京站总结以及真题PDF

记第一次ICPC 2021/12/4,参加了第一次 ICPC 比赛,说实话,比赛前的心态已经觉得无所谓了,抱着摆烂的心思去参加的

佛系更新 4732

泛微OA表单设计实战:如何快速实现自定义多选浏览框(附完整配置步骤)

本文详细介绍了在泛微OA中快速实现自定义多选浏览框的完整配置步骤。针对招聘提报、活动审批等需要从海量数据中规范选择多个条目的业务场景,文章从理解需求、构建数据源、设计查询页面到创建浏览框控件,提供了清晰的实战指南,帮助开发者高效解决复杂数据选择难题,提升表单操作体验。

yog99的博客 1048

ICPC-南京2021 C题题解【Klee in Solitary Confinement】

本文介绍了2021ICPC南京站C题的做法

Fun_Total的博客 625

YOLO11涨点优化:注意力魔改 | 引入Deformable Attention (可变形注意力),灵活感受野自适应复杂形变目标

Deformable Attention为YOLO11带来的不仅是2.6个百分点的mAP提升,更是一种全新的“形变感知”范式。标准卷积的固定感受野在非刚性目标、多尺度变化和遮挡场景下力不从心——Deformable Attention恰好填补了这一空白。从架构设计到代码实现,从竞品对比到部署方案,从生态工具到安全风险,本文覆盖了将Deformable Attention引入YOLO11所需的全部知识链路。

2601_95807009的博客 284

《大数据: Hive 交互命令和常用配置》

一、Hive 交互命令 1. 首先解决一个可能发生的问题 (log4 jar包冲突) 我这里解决方法就是删除一个,我删的是hive下的包 yexiang@hadoop1:<hive>$ hive SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/soft/apache-hive-2.3.7-bin/lib/log4j-slf4j-impl-2.6.2.ja.

yexiang优快云的专栏 287

2021 icpc南京(A,M,C,H,J,D)

文章目录[A.Oops, It’s Yesterday Twice More](https://codeforces.com/gym/103470/problem/A)[M. Windblume Festival](https://codeforces.com/gym/103470/problem/M)[C. Klee in Solitary Confinement](https://codeforces.com/gym/103470/problem/C)[H. Crystalfly](https://co

m0_74087709的博客 1199

【docker】--- 详解 WSL2 中的 Ubuntu 和 Docker Desktop 的区别和关系!

在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

秋知叶i 1314

J. Xingqiu‘s Joke(2021ICPC-南京)(记忆化搜索 + 数论)

The 2021 ICPC Asia Nanjing Regional Contest Problem 给出两个long long范围内的整数a和b(不相等),每次操作可以对a和b进行以下操作之一 a = a + 1, b = b + 1 a = a - 1, b = b - 1 a % d = 0 且 b % d = 0 且 d 是质数, a = a / d, b = b / d 问: 最小需要多少此操作才可将 a 或 b 变为 1 或者a , b同时为 1 (分析可发现,因为a != b, 所

QQ2530063577的博客 1887

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

2021icpc南京 J. Xingqiu‘s Joke(数论)

每组测试数据输入两相异整数a,b (1≤a,b≤1e9),每次进行如下三种操作之一,直至a,b中至少有一个为1,输出最小步数。小优化:unorderedmap在多查询时会比map快很多,但如果想传入一个pair,需要自己写一个hash函数。可以考虑将c分解质因数,通过分解出的质因数和12操作一起记忆化搜索。也就是我们要通过1,2,3操作,使得a变成1,而c会限制操作3。而假设3操作中a,b同时除以g,那么a和b的差值也会除以g。再1操作和2操作中,a-b是不会变的。,每一次除g,相当于。

m0_61735576的博客 500

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

2021 ICPC 南京 3.27训练赛

2021 ICPC 南京 D - Paimon Sorting D - Paimon Sorting 思维+树状数组 当时少考虑了相同最大值对后面的影响,策略不太对,以后我有思路的就自己写好了。 //acmer mxc #include<bits/stdc++.h> #define mst(s,x) memset(s,x,sizeof(s)); #define sr(x) scanf("%lld",&x); #define sr2(a,b) scanf("%d%d",&a,&a

peacesir的博客 1502

【补题】The 2021 ICPC Asia Nanjing Regional Contest Problem J. Xingqiu’s Joke

3.考虑对于当前剩下的x,y的除法选择其中一个质因数(其实就是爆搜,枚举能除的),但是很显然超时,但是枚举的时候可能会出现 先除3再除7 和 先除7再除3,所以其实是重复的……题意:多组样例T,给x,y,三个操作1.x+1,y+1 2.x-1,y-1 3.x/p,y/p,p是x,y的共素数,让x或y等于1问操作次数最少。那么就此解决了,本题关键记忆化搜索,也就是点3,利用记忆化,将本来其实只是改变除法顺序重复的搜索大大减少,时间一来就足够了。

2401_87294509的博客 325

2021南京(重温经典)

2021南京(重温经典) 日常训练

C_eeking的博客 1049

P9840 [ICPC2021 Nanjing R] Oops, It‘s Yesterday Twice More题解

黄题?

达瓦里希,这里禁喵。 1417

2019ICPC南京J - Spy

2019ICPC南京J - Spy 有两个队伍进行比拼 两边各有n个人 第一行表示Amy队伍每个人的战斗力 第二行表示击败每个人能获得的声望值 第三行表示Bob第一只队伍的战斗力 第三行表示Bob第二支队伍的战斗力 Bob的两支队伍的队员两两配,战斗力相加,然后和Amy的队员进行战斗。 每个人只能战斗一次。 如果Bob方的战斗力大于Amy的就获得声望值,如果战斗力≤Amy队员战斗力,就无法获...

EIP_silly的博客 787

2021icpc南京训练总结

2021icpc南京训练总结C Klee in Solitary Confinement附上代码 题目集链接 总结 写这种比较新的题目,尤其是里面的思维题真的好多,我们队伍里面还是太欠缺了,这方面还是要好好增强一下。从这套题目里面也看到了很多的不足,心情多少有点小失落QWQ。 这里摆上一个题解链接,后面想起来要再翻开看的时候方便一点。 C Klee in Solitary Confinement 这道题想了很长时间,都是代码写的差不多了才发现原来又原则性的错误,整得整个人都很麻,这点一定要改正,至少心里已经

飞向更远的博客 1185

ACM-ICPC 2018 南京赛区网络预赛 J-Sum

ACM-ICPC 2018 南京赛区网络预赛 J-Sum题意思路一(欧拉筛)代码一思路二(数论)代码二 题目链接:ACM-ICPC 2018 南京赛区网络预赛 J-Sum 题意         \;\;\;\; f[i]f[i]f[i] 表示有序整数对 (a,b)(a,b)(a,b),满足 ab=iab=iab=i 的数量。             \;\;\;\;\;\; eg: f[6]=4f...

Neromy 488

2019ICPC南京区域赛ABCHIJK

2019ICPC南京区域赛ABCHIJK题解(文字+视频).

Hytidel的博客 1万+

2019ICPC南京站游记

在去之前觉得是诸神战场的南京站结束了,趁着还记得的时候,想留下一些可供自己反刍的文字,纪念一下我们这支队伍完整参加的第一次也是最后一次ICPC。 去南京前: 好歹还是找时间练了去年南京的区域赛题目,三个小时搞出来四题,然后嘴炮了M题exkmp+回文树的做法,去年5题手快好像可以拿银,但是太靠运气。三角形那题推了个n^2的递推,打个表,然后DCN神奇的差分4次之后觉得是一个四次函数,于是高斯消元搞出...

积极的防守者的博客 1956

2021ICPC南京站大杂记

  发现自己真的好久没写游记了啊。。。倒是各式各样的其他小作文写了不少,甚至发现 csdn 这鬼东西还能发动态。。。 前言   真没想到吧,大四了还没退役。以前中学说“五年 OI 一场空”,或者“十年 OI 一场空”,今年,都第 11 个年头了。。。   大一打完了没想过会有大二,结果被郭老拉去毛营;大二打完了没想过会有大三,结果被 zayin 哥哥盛情邀请;大三打完了线也出了杯也捧了更不会想到有大四,结果暑假校队选拔的时候被拉进小黑屋谈话,说今年金牌数量危,出线名额危,让我们来救救场,甚至还要拆了我们队变

Four's 1647

ICPC 小白勇闯南京

【2024.11.2−2024.11.32024.11.2-2024.11.32024.11.2−2024.11.3】下午翘课,VP 了 202220222022 年南京的区域赛。但是大家打得并不是非常认真,最后只过了 555 题。开局签到,但是我读题加写题花了 202020 分钟。看来还是我英语水平不够的问题,好在没有罚时。队友开了一道比签到稍微难点的题,但是卡在背包的正确性上了。我读题后提出先排序然后前部分背包后部分贪心的写法,然后大胆尝试,一发通过。然后是数学题,直接丢给队友,他们俩讨论了一下,差不多

scy923的博客 1337
上一篇: Codefoces 1744F mex和med问题
下一篇: 2021icpc南京 C
stdforces
博客等级 码龄4年 9粉丝 136原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值