题意:求关于$n$的方程$n\cdot a^n\equiv b\left(mod\ p\right)$在$[1,x]$中整数解的数量

果然是Chinese round,interesting round

首先注意到那个指数很令人痛苦,所以用费马小定理把指数弄掉

令$n=\left(p-1\right)i+j\left(i\geq0,0\leq j\lt p-1\right)$

$\left[\left(p-1\right)i+j\right]a^{\left(p-1\right)i+j}\equiv b$

$\left(p-1\right)i+j\equiv\dfrac{b}{a^j}$

$i\equiv j-\dfrac{b}{a^j}$

所以对于每个给定的$j$,$i$的取值是$j-\dfrac{b}{a^j}+tp$的形式

所以我们可以枚举$0\leq j\lt p-1$,直接按$i\geq0,1\leq n\leq x$统计一下就好

注意减去$i=0$且$j=0$,也就是$n=0$的情况

#include<stdio.h>
#define ll long long
ll a,b,p,x,y,j,r,l,res;
int main(){
	scanf("%I64d%I64d%I64d%I64d",&a,&b,&p,&x);
	r=1;
	for(j=0;j<p-2;j++)r=r*a%p;
	y=b;
	for(j=0;j<p-1;j++){
		l=j-y;
		if(l<0)l+=p;
		if(x>=j&&l<=(x-j)/(p-1)){
			res+=((x-j)/(p-1)-l)/p+1;
			if(l==0&&j==0)res--;
		}
		y=y*r%p;
	}
	printf("%I64d\n",res);
}

[CF919E]Congruence Equation的更多相关文章

  1. cf 460 E. Congruence Equation 数学题

    cf 460 E. Congruence Equation 数学题 题意: 给出一个x 计算<=x的满足下列的条件正整数n的个数 \(p是素数,2 ≤ p ≤ 10^{6} + 3, 1 ≤ a ...

  2. E. Congruence Equation

    E. Congruence Equation 思路: 中国剩余定理 \(a^n(modp) = a^{nmod(p-1)}(modp)\),那么枚举在\([0,n-2]\)枚举指数 求\(a^i\)关 ...

  3. [Codeforces 919E]Congruence Equation

    Description 题库链接 求满足 \[n\cdot a^n\equiv b \pmod{p}\] 的 \(n\) 的个数, \(1\leq n\leq x\) , \(a,b,p,x\) 均已 ...

  4. Codeforces Round #460 E. Congruence Equation

    Description 题面 \(n*a^n≡b (\mod P),1<=n<=x\) Solution 令 \(n=(P-1)*i+j\) \([(P-1)*i+j]*a^{[(P-1) ...

  5. Codeforces.919E.Congruence Equation(同余 费马小定理)

    题目链接 \(Description\) 给定a,b,x,p,求[1,x]中满足n*a^n ≡b (mod p) 的n的个数.\(1<=a,b<p\), \(p<=1e6+3\), ...

  6. Codeforces 919 E Congruence Equation

    题目描述 Given an integer xx . Your task is to find out how many positive integers nn ( 1<=n<=x1&l ...

  7. 【Codeforces】Round #460 E - Congruence Equation 中国剩余定理+数论

    题意 求满足$na^n\equiv b \pmod p$的$n$的个数 因为$n \mod p ​$循环节为$p​$,$a^n\mod p​$循环节为$p-1​$,所以$na^n \mod p​$循环 ...

  8. Codeforces Round #460 (Div. 2) E. Congruence Equation (CRT+数论)

    题目链接: http://codeforces.com/problemset/problem/919/E 题意: 让你求满足 \(na^n\equiv b \pmod p\) 的 \(n\) 的个数. ...

  9. Codeforces 919E Congruence Equation ( 数论 && 费马小定理 )

    题意 : 给出数 x (1 ≤ x ≤ 10^12 ),要求求出所有满足 1 ≤ n ≤ x 的 n 有多少个是满足 n*a^n  = b ( mod p ) 分析 : 首先 x 的范围太大了,所以使 ...

随机推荐

  1. hibernate连接mysql,自动建表失败

    hibernate的列名使用了mysql的关键字.

  2. (转)详解HTML网页源码的charset格式

    关于HTML网页源码的字符编码(charset)格式(GB2312,GBK,UTF-8,ISO8859-1等)的解释 crifan http://www.crifan.com/summary_expl ...

  3. DOM操作的一个小坑

    最近在苦读<JavaScript高级程序教程>,真不愧是前端圣经,学到了很多东西. nodeList.NameNodeMap.HTMLCollection这三个集合是动态的!每当文档发生变 ...

  4. js中Date()对象详解

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  5. 转:A Painless Q-learning Tutorial (一个 Q-learning 算法的简明教程)

    demo 参见 MDP DEMO   本文是对 http://mnemstudio.org/path-finding-q-learning-tutorial.htm 的翻译,共分两部分,第一部分为中文 ...

  6. Html 让文字显示在图片的上面

    如题: 第一种方式便是将 image 作为背景图片,即:background-image:url("......."); 在此可以控制背景图片的横向和纵向的平铺: backgrou ...

  7. 【bzoj1096-仓库建设】斜率优化

    dsy1096: [ZJOI2007]仓库建设 [问题描述] L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚. 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品 ...

  8. 【BZOJ2663】灵魂宝石 [二分]

    灵魂宝石 Time Limit: 5 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description “作为你们本体的灵魂,为了能够更好的 ...

  9. 服务器应用程序不可用,由于无法创建应用程序域,因此未能执行请求。错误: 0x80070002 系统找不到指定的文件。

    使用360更新网站补丁导致.net2.0环境报错问题现象:服务器应用程序不可用查看日志:出现由于无法创建应用程序域,因此未能执行请求.错误: 0x80070002 系统找不到指定的文件. 搜索定位:罪 ...

  10. 使用DRF视图集时自定义action方法

    在我们用DRF视图集完成了查找全部部门,创建一个新的部门,查找一个部门,修改一个部门,删除一个部门的功能后,views.py的代码是这样子的: class DepartmentViewSet(Mode ...