首页 > 其他分享 >题解:CF1912D Divisibility Test

题解:CF1912D Divisibility Test

时间:2024-07-18 20:18:42浏览次数:16  
标签:10 pmod 题解 sum times CF1912D Test 整除 equiv

又是一道水绿。

刚刚小学毕业的数学 idiot——我释怀地笑了。

第一种很好判断,当 $b^k$ 为 $n$ 的倍数时,取基数为 $b$ 的能被 $n$ 整除的整数 $c$ 的最后 $k$ 位数显然能被 $n$ 整除。

第二种也不难,当 $b^k \equiv 1 \pmod n$ 时,取以 $b$ 为底数的能被 $n$ 整除的整数 $c$ 的 $k$ 位数的各组之和能被 $n$ 整除。

为什么呢?

令 $a_1,a_2,\dots,a_l$ 为 $c$ 从低位到高位各个 $k$ 位数,则 $c=\sum _ {i=1} ^ {l} a_i \times 10^{(i-1)k}$,而和 $d$ 为 $\sum _ {i=1} ^ {l} a_i$。∵$10^{(i-1)k}\equiv 1 \pmod n$。于是 $c=\sum _ {i=1} ^ {l} a_i \times 10^{(i-1)k} \equiv \sum _ {i=1} ^ {l} a_i \times 1 \pmod n$。∴$c \equiv d \pmod n$。

第三种也很好判断,按第二种的方法,能推出式子。当 $b^k \equiv -1 \pmod n$ 时,取以 $b$ 为底数的能被 $n$ 整除的整数 $c$ 的 $k$ 位数的各组之和能被 $n$ 整除。

令 $a_1,a_2,\dots,a_l$ 为 $c$ 从低位到高位各个 $k$ 位数,则 $c=\sum _ {i=1} ^ {l} a_i \times 10^{(i-1)k}$,而和 $d$ 为 $\sum _ {i=1} ^ {l} (-1)^i\times a_i$。∵$10^{(i-1)k}\equiv -1 \pmod n$。于是 $c=\sum _ {i=1} ^ {l} a_i \times 10^{(i-1)k} \equiv \sum _ {i=1} ^ {l} a_i \times (-1)^i \pmod n$。∴$c \equiv d \pmod n$。

My code:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t,b,n;
ll power;
int main(){
	cin>>t;
  	while(t--){
	    cin>>b>>n;
	    power=1; 
		bool f=0;
	    for(int k=1;k<=n&&!f;k++){
	    	power=power*b%n; 
	      	if(!power)cout<<"1 "<<k<<'\n',f=1;
	      	else if(power==1)cout<<"2 "<<k<<'\n',f=1;
	      	else if(power==n-1)cout<<"3 "<<k<<'\n',f=1;
	    }
	    if(!f) cout<<"0\n"; 
  }
  return 0;
}



标签:10,pmod,题解,sum,times,CF1912D,Test,整除,equiv
From: https://www.cnblogs.com/OIerHhy/p/18310368

相关文章

  • Load balancer does not contain an instance for the service service-B [503] duri
    场景:service-A服务通过openFeign远程调用service-B服务的test()方法,结果报错Loadbalancerdoesnotcontainaninstancefortheserviceservice-Bfeign.FeignException$ServiceUnavailable:[503]during[POST]to[http://service-B/test]原因:报错信息的意思......
  • [题解]P1896互不侵犯
    数位DP模板题link题面[SCOI2005]互不侵犯题目描述在\(N\timesN\)的棋盘里面放\(K\)个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共\(8\)个格子。输入格式只有一行,包含两个数\(N,K\)。输出格......
  • T3 飞刀传承 题解
    题目描述李家自古以来就是飞刀名门,每一任家主都唤作小李。这一代的小李更是青出于蓝,将祖传的飞刀绝技使得出神入化,年纪轻轻便继承了李家祖传的招式,担下了家主之位。不料有日凶兽来袭,李家满门几尽被灭,只剩少数流落在外的弟子得以幸存。他一度想要自尽,却因李家飞刀绝技不能在他手上......
  • T2 替换字母2 题解
    题目描述:有长度为\(n\)的字符串,仅包含小写字母。小信想把字符串变成只包含一种字母。他每次可以选择一种字符\(c\),然后把长度最多为\(m\)的子串中的字符都替换成\(c\)。小信想知道最少需要操作几次能让字符串只包含一种字母。题意简述给定一个长度为\(n\)的小写字母串,每次可以......
  • T1 此方的身高排序 题解
    题目描述:体育馆里有\(n\)个人正在排队等待着上体育课,他们每个人都不一样高。此方想要把队伍从小个子到高个子进行排序,即让队伍身高为升序。此方每次调出一人,让此人和在他后面的人比身高,如果比对方高,则两人交换位置并和下一个人继续比较,直到比对方矮或者已经在队尾。现在给出......
  • CF208E 题解
    BloodCousins前置知识:线段树合并。我们先把题目转化一下。这里先设\(v\)的\(p\)级祖先为\(u\),事实上要求的东西就是\(u\)的\(p\)级后代的个数减\(1\),减\(1\)是因为要把自己减去。显然这个目标点\(t\)要满足两个要求:\(t\)在\(u\)子树内。设\(dep_u\)表......
  • P3242 接水果 题解
    Statement树,给\(m\)条带权路径\((a,b,v)\),\(q\)次询问包含\((u,v)\)的路径中的第\(k\)小权值.Solution好题!这篇题解延伸出了很多东西。首先路径的包含关系转为矩形(二维限制关系)是比较显然的.具体地,\((u,v)\)包含\((a,b)\)有两种情况:\(u,v\)无祖先关系:\(a\)在......
  • P1912 [NOI2009] 诗人小G 题解
    我们设\(s_i\)表示前\(i\)个句子的长度之和,这样就有dp\[f_i=\min_{j<i}\big\{f_j+|s_i-s_j+i-j-1-L|^P\big\}\]我们设\(w(l,r)=|s_r-s_l+r-l-1-L|^P\),如果\(w\)满足四边形不等式,则原dp具有决策单调性。设\(u=(s_i+i)-(s_j+......
  • [题解]P1452 【模板】旋转卡壳 | [USACO03FALL] Beauty Contest G
    P1452【模板】旋转卡壳|[USACO03FALL]BeautyContestG旋转卡壳模板题。凸包用的是Andrew算法,就不详述了,具体可以查查资料了解,但提一嘴Andrew算法的一些细节问题:Andrew算法的一些细节Andrew算法的模板代码如下:sort(a+1,a+1+n,cmp);st[++top]=1;for(inti=2;i<=n;i++){ ......
  • 【数学建模】——多领域资源优化中的创新应用-六大经典问题解答
    目录题目1:截取条材题目 1.1问题描述1.2数学模型1.3求解1.4解答题目2:商店进货销售计划题目2.1问题描述2.2数学模型2.3求解2.4解答题目3:货船装载问题题目3.1问题重述 3.2数学模型3.3求解3.4解答题目4:城市消防站选址问题 题目4.1问题重述4.2......