这个定理就像类似学扩展欧几里得判断是否有解的条件,当时是ax+by = c;仅当c = k*gcd(a,b)时有解,其实也就是只要是公约数的倍数就行。

而裴蜀定理是多个未知量x1*a1+x2*a2+...xn*an = c, 也是仅当 c = k * gcd(a1, a2....an)时有解。

思路:求出gcd,然后枚举所有解的可能就行了。也就是令k = 1 2 3 ....

下面的代码枚举到k是因为,枚举到k+1时和枚举1时一样的,(gcd*k + gcd)% k = gcd%k;

#include <bits/stdc++.h>
#define ll long long
using namespace std; set<int> ma;
int main(){
ll n, k, x, g;
cin >> n >> k >> g;
for(int i = 2; i <= n; i++){
cin >> x;
g = __gcd(g, x);
}
for(ll i = 1; i <= k; i++) ma.insert(i*g%k);
cout << ma.size() << endl;
for(auto it = ma.begin(); it != ma.end(); it++)
cout << *it << ' ';
return 0;
}

499div2-E Border :裴蜀定理的更多相关文章

  1. Codeforces #499 E Border ( 裴蜀定理 )

    题目链接 题意 : 给出 N 种纸币.并且给出面值.每种纸币的数量可以任选.问你得出来的数在 k 进制下.末尾位的数有多少种可能.输出具体方案 分析 : 纸币任意选择组成的和 可以用一个一次多项式来表 ...

  2. 【BZOJ-2299】向量 裴蜀定理 + 最大公约数

    2299: [HAOI2011]向量 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 1118  Solved: 488[Submit][Status] ...

  3. 【BZOJ-1441】Min 裴蜀定理 + 最大公约数

    1441: Min Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 471  Solved: 314[Submit][Status][Discuss] De ...

  4. BZOJ-2257 瓶子和燃料 分解因数+数论方面乱搞(裴蜀定理)

    一开始真没想出解法...后来发现那么水.... 2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 970 So ...

  5. 【BZOJ】1441: Min(裴蜀定理)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1441 这东西竟然还有个名词叫裴蜀定理................ 裸题不说....<初等数 ...

  6. BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理

    2257: [Jsoi2009]瓶子和燃料 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  7. BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】

    2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1326  Solved: 815[Submit][Stat ...

  8. 【Wannafly挑战赛22A计数器】【裴蜀定理】

    https://www.nowcoder.com/acm/contest/160/A 题目描述 有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数 ...

  9. [BZOJ 2299][HAOI 2011]向量 题解(裴蜀定理)

    [BZOJ 2299][HAOI 2011]向量 Description 给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), ...

  10. hdu 6444 网络赛 Neko's loop(单调队列 + 裴蜀定理)题解

    题意:有编号为0~n-1的n个游戏,每个活动都有一个价值(可为负),给你m,s和k,你可以从任意一个编号开始玩,但是下一个游戏必须是编号为(i + k)%n的游戏,你最多能玩m次游戏,问你如果最后你手 ...

随机推荐

  1. MySQL系列-详解mysql数据类型

    MySQL数据类型 (1)数值类型 1.整数型 2.浮点型 3.定点型 (2)日期时间类型 (3)字符串类型 MySQL字段属性 1.空\不为空值:NULL.NOT NULL 2.主键:primary ...

  2. 异步Udp监听关闭 出现异常,访问已释放的资源或者其他错误的解决方法

    在开发异步Udp程序的过程中,通常在关闭UDP的时候回遇到诸如socket 访问已释放的资源之类的异常,如下简单操作下: 1 Udp的监听 2 this.serverSocket = new Sock ...

  3. 什么叫IOCSABS呢

    所谓的IOCSABS,就是全新的管理技术,是结合客户端管理与网络平台管理为一体的创新观念及技术,     IOCSABS? (what is IOCSABS?) 英文的全称为Integrated Of ...

  4. python更改图片后缀名为jpg格式

    1 import os 2 import cv2 3 class GeneDataset(): 4 def __init__(self,rootdir): 5 self.rootdir = rootd ...

  5. php后端遇到的问题

    1.用文件记录日志,会有并发问题

  6. 【flask】建站经验随笔

    [前端] 1.前端table标签中每行使用template中 {%for i in rows%} {% endfor %}来生成之后,如果想对每行进行一个button处理,此时如果使用jquery的$ ...

  7. 操作系统|03.Linux基础(2)

    Linux基础(二) 3.vim编辑器 命令模式:控制光标移动,对文本进行删除.复制.粘贴等工作.编辑模式:正常的文本录入.末行模式:保存.退出和设置编辑环境. 3.1命令模式常用命令 -r:恢复系统 ...

  8. 后台传回来的Map类型的数据在前台中的JS代码中使用

    Map<String, String> projectTypeCodeMap = SysCodeUtils.getSysCodeMap(request, CommonFields.XT_P ...

  9. Mysql 查询最近一年的数量sql

    按月查询分月数量 , 某个月份没有的显示为0 SELECT@s := @s + 1 AS `index`,DATE_FORMAT( DATE_SUB( CURDATE(), INTERVAL @s M ...

  10. 记一次因为关键字OUT 导致的后台"sql injection violation" 报错的问题

    在navicat和mssm中执行用字段别名'out'均没有问题,但是在mybatis里使用就会报 "sql injection violation, syntax error: ERROR. ...