499div2-E Border :裴蜀定理
这个定理就像类似学扩展欧几里得判断是否有解的条件,当时是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 :裴蜀定理的更多相关文章
- Codeforces #499 E Border ( 裴蜀定理 )
题目链接 题意 : 给出 N 种纸币.并且给出面值.每种纸币的数量可以任选.问你得出来的数在 k 进制下.末尾位的数有多少种可能.输出具体方案 分析 : 纸币任意选择组成的和 可以用一个一次多项式来表 ...
- 【BZOJ-2299】向量 裴蜀定理 + 最大公约数
2299: [HAOI2011]向量 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 1118 Solved: 488[Submit][Status] ...
- 【BZOJ-1441】Min 裴蜀定理 + 最大公约数
1441: Min Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 471 Solved: 314[Submit][Status][Discuss] De ...
- BZOJ-2257 瓶子和燃料 分解因数+数论方面乱搞(裴蜀定理)
一开始真没想出解法...后来发现那么水.... 2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 970 So ...
- 【BZOJ】1441: Min(裴蜀定理)
http://www.lydsy.com/JudgeOnline/problem.php?id=1441 这东西竟然还有个名词叫裴蜀定理................ 裸题不说....<初等数 ...
- BZOJ 2257: [Jsoi2009]瓶子和燃料 裴蜀定理
2257: [Jsoi2009]瓶子和燃料 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1326 Solved: 815[Submit][Stat ...
- 【Wannafly挑战赛22A计数器】【裴蜀定理】
https://www.nowcoder.com/acm/contest/160/A 题目描述 有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数 ...
- [BZOJ 2299][HAOI 2011]向量 题解(裴蜀定理)
[BZOJ 2299][HAOI 2011]向量 Description 给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), ...
- hdu 6444 网络赛 Neko's loop(单调队列 + 裴蜀定理)题解
题意:有编号为0~n-1的n个游戏,每个活动都有一个价值(可为负),给你m,s和k,你可以从任意一个编号开始玩,但是下一个游戏必须是编号为(i + k)%n的游戏,你最多能玩m次游戏,问你如果最后你手 ...
随机推荐
- 更改NX TITLE为路径
#include<iostream>#include <conio.h>#include <math.h>#include <stdio.h>#incl ...
- HDFS 内部工作机制
HDFS 内部工作机制 HDFS集群分为两大角色:NameNode.DataNode (Secondary Namenode) NameNode 负责管理整个文件系统的元数据 DataNode 负责管 ...
- vue实现按钮多选
需求是这样: 首先考虑使用elementui中的组建实现,但是有时候会忽略组建.实现方式两种: 1.直接使用element实现 let weekTimeData: [ '星期一', '星期二', '星 ...
- CSS 常用样式-盒子实体化三属性
如果想在浏览器中具体看到一个盒子占有的实际位置,需要设置盒子可以实体化的三属性. 实体化属性:
- linux查看所有的用户和组信息
1.cat /etc/passwd 查看所有用户 2.cat /etc/passwd|grep 用户名,用于查找某个用户 3.cat /etc/group查看所有组信息 4.cat /etc/g ...
- pytorch卷积模块
nn.Conv2d() 常用的参数有in_channels,out_channels,kernel_size,stride,padding; 除此之外还有参数dilation,groups,bias ...
- git在linux安装步骤详解!!
linux上安装,以centos 7.x为例 yum命令安装 yum install gityum install 安装的git不是最新版本,如需最新版本需要自行编译 到下面的网站下载合适的版本 ht ...
- 第12组 Beta冲刺 总结
1.基本情况: 组长博客链接:https://www.cnblogs.com/yaningscnblogs/p/14050343.html 答辩总结:答辩中,对于老师提出的意见,我们认为能够帮助我们更 ...
- 多文件下载并打成zip文件传输到浏览器响应流
import lombok.extern.slf4j.Slf4j; import javax.servlet.http.HttpServletResponse; import java.io.*; i ...
- JavaScript基础学习之一
目录 let和var之间的区别 作用域不同 变量提升 暂时性死区(temporal dead zone,简称 TDZ) 相同作用域下的重复声明 脚本调用 数据类型 Boolean Object 对象 ...