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

CF Div2 729 Plus and Multiply

原题链接:Problem - 1542B - Codeforces

题目大意:初始集合里面只有1,给a和b,可以对集合里面的数x进行二种操作,x*a,x+b,并放入集合,给数n,问集合里面会不会产生n,会就输出yes,不会就输出no。

思路:如果n会出现在集合里面,那么他一定是由a^c1+c2*b这种形式,c1和c2为未知数,如果进行操作1,那么就会对数进行乘a的操作,因为初始只有1,那么必定会产生a^c1这种数,如果进行了操作2,那么就会加上b,如果继续操作2,那么就会变成2b,如果操作1,那么就会变成ab,但是肯定可以提出一个公因子b,然后将另一部分看为c2。因为c1是操作1的操作数,而且2^64>1e16,所以可以直接从小到大枚举c1。

//冷静,冷静,冷静
//调不出来就重构 
#pragma GCC optimize(2)
#pragma GCC optimize("O3")
#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
typedef long double ld; 
typedef pair<ll,ll> pii;
const int N=1e6+10,mod=998244353;
int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);ll t;cin>>t;while(t--){ll n,a,b;cin>>n>>a>>b;ll now=1,f=0;if(a==1) {if((n-1)%b==0){cout<<"Yes"<<endl;}else cout<<"No"<<endl;continue;}while(now<=n){if((n-now)%b==0)//如果a^c1已经减完了,那么剩下的数是b的倍数{f=1;break;}now*=a;//a^c1}if(f)cout<<"Yes"<<endl;else cout<<"No"<<endl;}return 0;
}

http://www.lryc.cn/news/351290.html

相关文章:

  • Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境
  • Python高克勒-曼宁-斯特里克勒公式计算一维流量
  • 【GD32系列--基本定时器Timer + 定时1ms 灯光间隔1s闪烁例程】
  • 第11章 集合与迭代器
  • 探索Linux中的神奇工具:探秘tail命令的妙用
  • 1688商品API接口:电商数据自动化的新引擎
  • 路由器不能端口映射什么原因?如何设置内网映射?
  • 开源RAG,本地mac启动 dify源码服务
  • 【Linux取经路】基于信号量和环形队列的生产消费者模型
  • 计算机SCI期刊,中科院2区,收稿范围非常广泛!
  • JDK、JRE、编译指令和垃圾回收机制详解
  • 【ARM 嵌入式 C 入门及渐进 6.2 -- ARMv8 C 内嵌汇编读系统寄存器的函数实现】
  • 使用 LlamaParse 进行 PDF 解析并创建知识图谱
  • Oracle行迁移解析
  • 【k8s】 busybox镜像、挂载volume卷
  • 文本三剑客之 sed 编辑器
  • 【MySQL精通之路】SQL优化(1)-查询优化(3)-索引合并
  • Linux中安装配置并使用samba服务(Centos以及Ubuntu)
  • three.js能实现啥效果?看过来,这里都是它的菜(06)
  • 利用ESP32-C3将TF卡内容变成U盘进行读取
  • C++小病毒
  • 使用VUE3+TS+elementplus创建一个增加按钮
  • Python面试宝典:文件读写和上下文管理器以及输入输出流面试题(1000加python面试题助你轻松捕获大厂Offer)
  • Spring Boot | Spring Boot 实现 “记住我“ 功能
  • AGM AG32 MCU替代GD32F407/STM32F407的手持示波器方案
  • MongoDB基础入门到深入(八)MongoDB整合SpringBoot、Chang Streams
  • linux下的nfs概述与实验(openEuler22.03)
  • 影响Oracle数据库打开速度的因素
  • dify:开源 LLMOps平台。
  • CCF20220601——归一化处理