BZOJ 1406 [AHOI2007]密码箱 数论
题意:链接
方法:数论
解析:
对于这道题,假设n=a*b;然后b是较大的因子
之后怎么来想呢?
之后就是根号找因子,找到每个a,b,之后从0~n枚举b的倍数。
因为x2−1=0(modx^2-1=0(mod n)n)
所以(x−1)∗(x+1)=0(mod(x-1)*(x+1)=0(mod n)n)
因为我们枚举的数就是k1*b,所以我们只要讨论一下,k1*b是等于x-1还是x+1就好了,之后就是判断下边界什么的就把所有的可能值加到一个set里!千万不要犯傻加到map里!!千万不要!!不要认为map啥都能干!!
之后因为set内元素的唯一性。直接输出内部所有元素就行了。
另外说一下,原题内并没有 1 这个数据,1这个数据应该输出none,其他的全部有解,因为1一定使其他的成立,而0又不能使1成立。
代码:
#include <set>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
ll n;
set<ll>s;
set<ll>::iterator it;
int main()
{scanf("%lld",&n);for(ll i=1;i*i<=n;i++){if(n%i==0){ll a=i,b=n/i;for(ll j=0;j<=n;j+=b){if((j+2)%a==0&&j+2<n)s.insert(j+1);if((j-2)%a==0&&j-2>=0)s.insert(j-1);}}}if(s.empty()){puts("None");return 0;}for(it=s.begin();it!=s.end();it++){printf("%lld\n",*it);}
}
BZOJ 1406 [AHOI2007]密码箱 数论相关推荐
- bzoj 1406: [AHOI2007]密码箱
1406: [AHOI2007]密码箱 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1629 Solved: 967 [Submit][Status ...
- BZOJ1406: [AHOI2007]密码箱 数论
Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示.经过艰苦的破译,小可可 ...
- BZOJ 1406 密码箱(数论)
很简洁的题目.求出x^2%n=1的所有x<=n的值. n<=2e9. 直接枚举x一定是超时的. 看看能不能化成有性质的式子. 有 (x+1)(x-1)%n==0,设n=a*b,那么一定有x ...
- 【刷题】BZOJ 4176 Lucas的数论
Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目"求Sigma(f(i)),其中1<=i< ...
- BZOJ 2277 Poi2011 Strongbox 数论
题目大意:给定n和k个整数,求mod n加法下的群G的一个子群G',满足a[1]~a[k-1]都不在群中而a[k]在群中 首先易证G'一定是一个循环群 证明:显然若a在群中则a的逆元在群中 那么我们就 ...
- 2019.5.summary
2019.5.1 CF C. Prefix Sum Primes 感觉CF就是训练妳如何养成对题目强大的YY能力的QAQ 我们构造 如果只有一种,没辙,只能这样放 否则先放一个2,再放一个1 接下来把 ...
- 算法笔记——数学相关
算法笔记--数学相关 高精度 乘法逆元 排列组合 二项式定理 质数的判定和应用 约数 拓展欧几里得 大步小步算法(BSGS) 拓展大步小步算法 快速乘和快速幂 矩阵相关 欧拉函数 欧拉定理及费马小定理 ...
- 浅谈积性函数求前缀和
转载至https://blog.csdn.net/skywalkert/article/details/50500009 前置技能 积性函数的定义 若f(n)f(n)的定义域为正整数域,值域为复数,即 ...
- ACM里的生成函数初探
生成函数 前情提要:由于本人不太喜欢写博客(懒),所以写的时候一般是由于某些原因写的专题内容.这次是2020CCPC长春热身赛的D题没做出来. 大佬论文放前面:推荐阅读:毛杰明 母函数的性质及应用 基 ...
- 知识点 - 数论函数导论
知识点 - 数论进阶 abstract:整除分块,积性函数,线性筛,莫比乌斯反演,迪利克雷卷积,积性函数前缀和,杜教筛,阁洲筛,min_25筛 0.引入 Gym - 101485D debugging ...
最新文章
- oracle断电 ora01110,oracle在做备份的时候断电
- python学习--练习题1、2、3、4、5--
- Linux知识点记录
- 数据结构-线性相关代码
- Linux Bash Shell中的特殊参数含义
- Java 第四次作业
- 部分高级正则特性 使用
- Linux之磁盘挂载
- 动态主机配置协议DHCP
- OpenResity + nginx + mysq配置
- 前后端开源的一款简单的微信个人博客小程序
- mysql查询以 开头的记录_sql 查询以指定字符开头sql查询语句
- 关于在Onenote online导出笔记的笔记
- 红米手机连接小米wifi显示已连接服务器,小米手机连wifi已连接却无法访问互联网怎么回事...
- 极进网络(Extreme Networks )Extreme VDX 6940 交换机光模块配置方案
- 设计稿 自动html,简单的登陆页面PSD设计稿来演示转化为HTML页面的全部过程
- win7声音图标不见,此图标当前处于未活动状态
- 极米NEW Z6X和坚果G9哪个好?
- 常用符号的Unicode表
- python学习(一)