正题

题目链接:https://www.luogu.com.cn/problem/P4296


题目大意

一个数字nnn,求有多少个x<nx<nx<n使得x2%n=1x^2\%n=1x2%n=1。


解题思路

x2=kn+1x^2=kn+1x2=kn+1
x2−1=knx^2-1=knx2−1=kn
(x−1)(x+1)%n=0(x-1)(x+1)\%n=0(x−1)(x+1)%n=0
⇒\Rightarrow⇒
x(x+2)%n=0(x+2<=n)x(x+2)\%n=0(x+2<=n)x(x+2)%n=0(x+2<=n)
对于这个式子,我们若有ab=n(b>a)ab=n(b>a)ab=n(b>a),a∣xa|xa∣x且b∣yb|yb∣y的话那么就有xy%n=0xy\%n=0xy%n=0

所以我们可以先求出每一个≥n\geq \sqrt{n}≥n​的nnn的约数zzz,然后这个约数是aaa还是bbb都行,然后暴力枚举z∣xz|xz∣x的即可。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,p[100000],ans[200000],m,cnt;
int main()
{scanf("%d",&n);for(int i=1;i*i<=n;i++)if(!(n%i)) p[++m]=n/i;for(int i=1;i<=m;i++){int x=p[i];for(int j=x;j<=n;j+=x){if(!((j-2)%(n/x))) ans[++cnt]=j-1;if(!((j+2)%(n/x))) ans[++cnt]=j+1;}} sort(ans+1,ans+1+cnt);printf("1\n");for(int i=1;i<=cnt;i++)if(ans[i]!=ans[i-1]&&ans[i]<n)printf("%d\n",ans[i]);
}

P4296-[AHOI2007]密码箱【数论】相关推荐

  1. BZOJ1406: [AHOI2007]密码箱 数论

    Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示.经过艰苦的破译,小可可 ...

  2. bzoj 1406: [AHOI2007]密码箱

    1406: [AHOI2007]密码箱 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1629  Solved: 967 [Submit][Status ...

  3. BZOJ 1406 密码箱(数论)

    很简洁的题目.求出x^2%n=1的所有x<=n的值. n<=2e9. 直接枚举x一定是超时的. 看看能不能化成有性质的式子. 有 (x+1)(x-1)%n==0,设n=a*b,那么一定有x ...

  4. 2019.5.summary

    2019.5.1 CF C. Prefix Sum Primes 感觉CF就是训练妳如何养成对题目强大的YY能力的QAQ 我们构造 如果只有一种,没辙,只能这样放 否则先放一个2,再放一个1 接下来把 ...

  5. 算法笔记——数学相关

    算法笔记--数学相关 高精度 乘法逆元 排列组合 二项式定理 质数的判定和应用 约数 拓展欧几里得 大步小步算法(BSGS) 拓展大步小步算法 快速乘和快速幂 矩阵相关 欧拉函数 欧拉定理及费马小定理 ...

  6. 【BZOJ1406】【codevs2478】密码箱,数论练习

    传送门1 传送门2 写在前面:纯洁的污,还要恍然大污 思路: (感觉数论一段时间不做就找不到感觉了呢) 题意就是求x2≡1(mod n)x^2≡1(mod n)在[0,n]上所有的整数解 方程可化为( ...

  7. 数论(一)——素数,GCD,LCM

    这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...

  8. 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工

    近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...

  9. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

最新文章

  1. asp.net基础复习(二)——母版页
  2. 理解SQL Server中的锁
  3. java 数组遍历_Java中遍历数组使用foreach循环还是for循环?
  4. 深度学习(24)随机梯度下降二: 常见函数的梯度
  5. python模型部署方法_终极开箱即用的自动化Python模型选择方法
  6. sql查询索引语句_sql优化总结--基于sql语句优化和索引优化
  7. 前端学习(1976)vue之电商管理系统电商系统之解决attr_val为空
  8. warning: function declaration isn’t a prototype(函数声明不是原型)的解决办法
  9. 理论与实践中的 C# 内存模型
  10. 如何在React中使用gRPC-web
  11. Windows Server 2008 R2 Network Recovery
  12. python练手经典100例-10 个最值得 Python 新人练手的有趣项目
  13. Git:本地Git仓库连接码云并新建分支提交
  14. cesium--3d-tiles译文[官方]
  15. jdk和jre安装配置
  16. 紧急求助SPSS大神。spss在xml神经网络预测值为空是怎么回事?
  17. c语言system自动关机,用一个自动关机小程序小试牛刀,玩转C语言System函数,边学边玩...
  18. Win8系统108个运行命令
  19. Android Studio的Signature Versions选择,分别是什么意思
  20. MFC画图的基本知识 转载链接http://lc7cl.iteye.com/blog/1336221

热门文章

  1. python的所有库_Python 常用库
  2. oracle挂证多少钱一个月_惊呆,一条sql竟然把Oracle搞挂了
  3. java io流学设置编码_Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)...
  4. arcgis xml 下载 切片_GIS开发:Arcgis的切片格式
  5. 自定义依赖注解无效_最详细的自定义Spring Boot Starter开发教程
  6. 计算机基础知识 pdf答案,计算机基础知识练习 答案版.pdf
  7. windows安全模式_鲁大师正式挂牌上市,使用鲁大师如何开启笔记本电脑全面节能模式...
  8. 695.岛屿的最大面积(026)BFS
  9. 利用vector实现一对一(pair<int,int>)
  10. [SpringSecurity]web权限方案_CSRF功能