关闭

[数论] BZOJ 1406 [AHOI2007]密码箱

330人阅读 评论(0) 收藏 举报
分类:

n=ab

a|(x-1) b|(x+1) || a|(x+1) b|(x-1)


#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<set>
using namespace std;
typedef set<int>::iterator ITER;

set<int> S;
int n;

int main()
{
    scanf("%d",&n);
    if(n==1) return printf("None"),0;
    for(int a=1;a*a<=n;a++) 
		if(n%a==0){
       		int b=n/a;
       		for(int i=1;i<=n;i+=b)   if((i+1)%a==0) S.insert(i);
        	for(int i=b-1;i<=n;i+=b) if((i-1)%a==0) S.insert(i);
    	}
    for (ITER it=S.begin();it!=S.end();it++)
        printf("%d\n",*it);
}


0
0
查看评论

BZOJ 1406 [AHOI2007]密码箱 数论

BZOJ 1406 [AHOI2007]密码箱 数论
  • wzq_QwQ
  • wzq_QwQ
  • 2015-07-17 20:01
  • 998

BZOJ 1406: [AHOI2007]密码箱 数论

Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示。经过艰苦的破译,小可可发现,这些图标表示一个数以及这个数与密码的关系。假设这个数是n,密码为x,那么可以得到如下表述: ...
  • just_sort
  • just_sort
  • 2017-04-27 14:15
  • 268

BZOJ 1406 AHOI2007 密码箱 数论

题目大意:给定n,求[1,n)内所有满足x^2≡1(mod n)的x x^2=kn+1 x^2-1=kn (x+1)(x-1)=kn 令x+1=k1n1,x-1=k2n2,其中k1k2=k,n1n2=n 因此我们可以枚举n的约数中所有大于等于√n的,分别作为n1和n2代入验证 最后排序去重输出即可(...
  • PoPoQQQ
  • PoPoQQQ
  • 2015-02-02 13:21
  • 1665

BZOJ 1406: [AHOI2007]密码箱

Description在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示。经过艰苦的破译,小可可发现,这些图标表示一个数以及这个数与密码的关系。假设这个数是n,密码为x,那么可以得到如下表述: 密码...
  • ypxrain
  • ypxrain
  • 2017-10-23 08:24
  • 37

bzoj 1406: [AHOI2007]密码箱

1406: [AHOI2007]密码箱 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1138  Solved: 674 [Submit][Status][Discu...
  • clover_hxy
  • clover_hxy
  • 2016-04-02 18:12
  • 218

bzoj 1406: [AHOI2007]密码箱 数学

bzoj 1406 密码箱 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1406 Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着...
  • DJS_K_D
  • DJS_K_D
  • 2015-02-06 21:08
  • 331

【二次剩余】【bzoj 1406】: [AHOI2007]密码箱

http://www.lydsy.com/JudgeOnline/problem.php?id=1406 x^2=1(mod n) (x+1)(x-1)=kn 这个时候很关键 不能说充要条件为x+1|n且x-1|n,因为这是最小公倍数 正确的方法是枚举n=a*b #define _TEST ...
  • willinglive
  • willinglive
  • 2014-12-31 14:41
  • 432

1406: [AHOI2007]密码箱

题目大意:求0 容易化成x^2-ny=1;  设 n=n1*n2 y=y1*y2 n1*n2*y1*y2=(x+1)(x-1) 设n1*y1=x+1   n2*y2=x-1 相减得n1*y1-n2*y2=2 然后扩展欧几里得直接上就可以了。 这样求的答案可能有重复,用...
  • qq_36808030
  • qq_36808030
  • 2017-07-09 08:51
  • 115

【bzoj 1406】[AHOI2007]密码箱(数学相关)

愿你被这世界温柔以待,即使生命总以刻薄荒芜相欺
  • reverie_mjp
  • reverie_mjp
  • 2016-11-17 16:09
  • 270

BZOJ系列1406《[AHOI2007]密码箱》题解

Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示。经过艰苦的破译,小可可发现,这些图标表示一个数以及这个数与密码的关系。假设这个数是n,密码为x,那么可以得到如下表述...
  • Dante__Alighieri
  • Dante__Alighieri
  • 2015-02-27 09:06
  • 334
    个人资料
    • 访问:364958次
    • 积分:13025
    • 等级:
    • 排名:第1238名
    • 原创:975篇
    • 转载:3篇
    • 译文:0篇
    • 评论:56条
    文章分类
    最新评论