[CSP-S模拟测试]:math(裴蜀定理)
题目传送门(内部题22)
输入格式
第一行有$2$个整数$n,k$。
第二行有$n$个正整数$a_i$。
输出格式
第一行有一个整数$s$,表示可以生成的非负整数的个数。
第二行有$s$个可以生成的非负整数。
样例
样例输入:
2 8
4 12
样例输出:
2
0 4
数据范围与提示
样例解释:
有无穷种方案可以得到$x=0$,例如:
$b_1=0$、$b_2=0$,$b_1=2$、$b_2=0$,$b_1=1$、$b_2=1$等等。
有无穷种方案可以得到$x=4$,例如:
$b_1=1$、$b_2=0$,$b_1=1$、$b_2=2$,$b_1=3$、$b_2=4$等等。
更多输入输出样例请见选手下发文件夹。
数据范围:
对于所有数据,$1\leqslant n\leqslant 5\times {10}^5,1\leqslant k\leqslant {10}^6,1\leqslant a_i\leqslant {10}^9$。
题解
利用裴蜀定理(找规律)可以发现所有能生成的数都是$k$和所有$a_i$的$gcd$且比$k$小,于是我们就$A$掉这道题了。
时间复杂度:$\Theta(n)$。
期望得分:$100$分。
实际得分:$100$分。
代码时刻
#include<bits/stdc++.h>
using namespace std;
int k,x,g,i;
main()
{
cin>>x>>k;
g=k;
while(cin>>x)g=__gcd(g,x);
cout<<k/g<<endl;
while(i<k)cout<<i<<' ',i+=g;
}
rp++
[CSP-S模拟测试]:math(裴蜀定理)的更多相关文章
- HDU 6444 Neko's loop ( 2018 CCPC 网络赛 && 裴蜀定理 && 线段树 )
题目链接 题意 : 给出一个 n 个元素的环.可以任意选择起点.选完起点后.可以行走 m 步.每次前进 k 个单位.所走到的点将产生正或负贡献.问你一开始得准备多少才能使得初始资金加上在环上获取最大利 ...
- [洛谷P4549] [模板] 裴蜀定理
18.10.03模拟赛T1. 出题人xcj(Mr.Handsome)十分良心,给了一道送分题...... 互测题好久没有出现送分题了.xcj真棒. 题目传送门 幸亏之前看过,否则真的是送分题都拿不到. ...
- 【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中的任意一个整数 ...
随机推荐
- WPF国际化方式1之资源文件
先看效果吧,个人觉得由于MVVM模式的UI响应属性变化的特殊机制,资源文件和内存数据都是国际化不错的选择. 1.首先准备两个资源文件用来做中文和英文的转换使用,将程序中需要转换语言都弄成两个版本,分别 ...
- Dockerfile设置时区alpine
背景: 最近在写golang相关代码.其中用到了时间操作的相关函数,如下: nowTime := time.Now() nUnixEndTime := nowTime.Unix() nHour, nM ...
- HttpUrlConnection工具类
package com.ligotop.core.utils; import com.ligotop.core.exceptions.BusinessException; import java.io ...
- jvm(1)性能监控-linux相关命令
top命令能够实时显示系统中各个进程的资源占用情况,其输出信息分为两部分,前半部分为系统统计信息,后半部分是进程信息. 第一行是任务队列信息,它的结果等同于uptime命令. 第二行是进程统计信息: ...
- js提交map类型参数
方式一:使用 xmlHttpRequest 对象发送数据 function sendMapPost(map, url){ var xmlHttpRequest = createXMLHttpReque ...
- dp(最长升序列)
http://poj.org/problem?id=2533 题意:给你n(1-1000)个数,求这n个数的最长升序列. 题解:dp[i]表示以第i个数结尾的最长升序列. #include & ...
- php页面出现空白解决方法
查询php程序使用内存情况 $size = memory_get_usage(); file_put_contents("d:/data.php", var_export($siz ...
- 1-for循环套生成器的面试题
参考自: https://www.cnblogs.com/shuimohei/p/9686578.html https://segmentfault.com/a/1190000016577353 题目 ...
- PHP实现上传文件到服务器
<?php /**************************** *** 功能:上传文件到服务器 ****************************/ session_start() ...
- Nmap参考指南中文版
Nmap参考指南中文版 来源: http://www.nmap.com.cn/doc/manual.shtm 译注 该Nmap参考指南中文版由Fei Yang <fyang1024@gmail. ...