当前位置: 首页 > news >正文

CF1542B Plus and Multiply - crazy-

CF1542B Plus and Multiply

题目传送门

题意

有一个集合,最开始集合中只有\(1\),又有\(a\),\(b\),如果集合中存在\(k\),那么将\(ka\)\(k+b\)加入集合

试求,\(n\)是否存在于集合之中

思路

稍加枚举(或者瞪眼大法)可得,该集合中的任何数都可被表示为\(k=ax+by\)\(x,y\)为非负整数)

分个类更直观一些

设已有\(k\)\(ax+by\),则会有新的两个数\(ak\)\(b+k\)进入集合,一次求出:

  • \(ak=a(xa)+b(ya)\)

  • \(b+k=ax+b(y+1)\)

所以最后只需要枚举\(x\),再看\(n-ax\)是否整除\(b\)(即是否存在非负整数\(y\))即可

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a,b,now;
void run()
{cin>>n>>a>>b;if(a==1){if(n%b==1 || n==1 || b==1) cout<<"Yes"<<endl;else cout<<"No"<<endl;return;}now=1;while(now<=n){if((n-now)%b==0){cout<<"Yes"<<endl;return;}now*=a;}cout<<"No"<<endl;
}
signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--) run();system("pause");return 0;
}
http://www.jsqmd.com/news/88810/

相关文章:

  • React 新手村通关指南:状态、组件与魔法 UI
  • 7、UNIX 外壳:从基础到高级编程的全面指南
  • CF1545A AquaMoon and Strange Sort - crazy-
  • 8、深入了解Bash:功能、安装与使用指南
  • 动态规划01背包问题
  • 停止造Agent,开始造Skills吧!Claude Skills创造者:Agent聪明但不够专业,非技术人员也能造Skills
  • 面向对象程序设计——第二章作业总结
  • 如何理解:“模型训练编排” 是 AI 创新的关键 ?
  • 2025年男孩起名机构推荐:权威起名榜单TOP5深度解析 - 十大品牌推荐
  • 游戏中的开发模式有哪些?一篇带你了解常用的设计模式!<二>
  • 【Python】conda更换国内镜像源
  • 父子进程关系与终止机制详解
  • 2025年起名改名机构推荐:权威榜TOP5机构深度解析 - 十大品牌推荐
  • 2025年生辰八字起名机构推荐:权威榜TOP5机构深度解析 - 十大品牌推荐
  • Product Hunt 每日热榜 | 2025-12-14
  • 2025年生辰八字起名机构推荐:权威TOP5机构深度解析 - 十大品牌推荐
  • SpringCould —— 网关详解
  • 实验实验实验
  • WinForm DataGridView:单元格类型与高频绘制案例
  • 2025年生辰八字起名机构推荐:榜TOP5机构深度解析 - 十大品牌推荐
  • 2025年八字起名机构推荐:权威榜TOP5机构深度解析 - 十大品牌推荐
  • 基于改进YOLO13-C3k2-WDBB的石棉类型识别与检测系统详解
  • 2025年八字起名机构推荐:权威榜单TOP10机构深度解析 - 十大品牌推荐
  • 存储引擎内核:深入解析 LSM-Tree 原理与高吞吐写入实践
  • 告别逐张修图!AI批量换模特图背景,新手也能统一风格
  • 30、进程间通信:文件锁、共享内存与信号机制
  • 用带头节点的链式存储实现栈的操作
  • Claude vs ChatGPT vs Gemini:全方位对比与选用指南
  • 2025年女孩起名机构推荐:权威起名机构榜TOP5深度解析 - 十大品牌推荐
  • 31、进程间通信:信号、管道与套接字详解