Codeforces #499 E Border ( 裴蜀定理 )
题目链接
题意 : 给出 N 种纸币、并且给出面值、每种纸币的数量可以任选、问你得出来的数在 k 进制下、末尾位的数有多少种可能、输出具体方案
分析 :
纸币任意选择组成的和
可以用一个一次多项式来表示
A1*B1 + A2*B2 + A3*B3 + ... + An*Bn ( A 为面值、B 为数量 )
根据裴蜀定理、这个一次多项式的结果集应当是 gcd( A1、A2 .... An ) 的倍数
然后考虑怎么得到每个数 k 进制下的最后一位数
实际上你考虑一下十进制是怎么转化为 k 进制的
就能够分析出、只要将这个十进制模以 k 就能得到
那么也就是说要求 ( A1*B1 + A2*B2 + A3*B3 + ... + An*Bn ) % k 的结果集
模可以转化为减法 故有 A1*B1 + A2*B2 + A3*B3 + ... + An*Bn - y*k
那么结果集就应当是 gcd( A1、A2 .... An 、k ) 的倍数
那么总数就有 k / gcd( A1、A2 .... An 、k )
具体的方案就直接枚举 gcd 的倍数就行了、上界为 k
#include<bits/stdc++.h> using namespace std;int main(void) {int n, k;cin>>n>>k;int GCD = -1;for(int i=1; i<=n; i++){int tmp;cin>>tmp;if(GCD == -1) GCD = tmp;else GCD = __gcd(GCD, tmp);}GCD = __gcd(GCD, k);cout<< k / GCD <<endl;for(int i=0; i<k; i+=GCD) cout<<i<<" "; cout<<endl;return 0; }
View Code
转载于:https://www.cnblogs.com/LiHior/p/9538467.html
Codeforces #499 E Border ( 裴蜀定理 )相关推荐
- CF510D Fox And Jumping(动态规划转换为最短路,O(n^2×2^9) -> O(nlogn),裴蜀定理应用)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 以下内容摘自 我的文章:算法竞赛中的数论问题 - 数论全家桶(信奥 / 数竞 / ACM)作者孟繁宇, ...
- 【裴蜀定理】BZOJ 1441 MIN
P4549 [模板]裴蜀定理 这是一道bzoj的权限题,同时又是一道luogu的模板题 在标题上写模板不是很好, 决定放bzoj的名字来撑撑场面 bzoj: 裴蜀定理:dalao题解 显然就很优秀ov ...
- BZOJ 2257: [Jsoi2009]瓶子和燃料【数论:裴蜀定理】
2257: [Jsoi2009]瓶子和燃料 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1326 Solved: 815 [Submit][St ...
- bzoj 1441: Min 裴蜀定理
题目: 给出\(n\)个数\((A_1, ... ,A_n)\)现求一组整数序列\((X_1, ... X_n)\)使得\(S=A_1*X_1+ ...+ A_n*X_n > 0\),且\(S\ ...
- [BZOJ 1441]Min(裴蜀定理)
Description 给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1*X1+...An*Xn>0,且S的值最小 Solution 裴蜀定理: 显然gcd(a,b)| ...
- BZOJ2299 [HAOI2011]向量 【裴蜀定理】
题目链接 BZOJ2299 题解 题意就是给我们四个方向的向量\((a,b),(b,a),(-a,b),(b,-a)\),求能否凑出\((x,y)\) 显然我们就可以得到一对四元方程组,用裴蜀定理判断 ...
- 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)
牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...
- 【BZOJ-2299】向量 裴蜀定理 + 最大公约数
2299: [HAOI2011]向量 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 1118 Solved: 488 [Submit][Statu ...
- P2231 [HNOI2002]跳蚤(裴蜀定理/莫比乌斯反演)
P2231 [HNOI2002]跳蚤 给定一个长度为n+1的一列数,第n+1位为m,前n位小于m 求解使得他n+1个数的加减可以凑出1的方案数 首先可以凑出1,这显然是裴蜀定理,推一推就发现他要求所有 ...
最新文章
- 今年1篇Science,2篇NBT,2篇MP,1篇PNAS等11篇文章,遗传发育所白洋组在植物微生物组取得系列进展!
- linux命令grpck,不可不知的的grpck命令【每日一个知识点第184期-Linux】
- 小叮咚切分词方法加入sourceforge.net中WebLucene分词模块
- 数据库存带微信表情的昵称
- don't run elasticsearch as root
- linux常用关机命令及其区别-Shutdown halt reboot init
- 河北体检系统诚信企业推荐_应用多的隔膜计量泵价格诚信企业推荐
- js 正则表达式判断价格
- java 俄语月份,适当的俄语月字符串翻译Java
- 开源激荡 30 年:从免费社区到价值数十亿美元公司
- 请详细描述listview与gridview的异同点_一建考试中,实在不会的怎么办?教你从题目中获取得分点!...
- SQLite指南(4) - FAQ列表(important)
- 前端自动化测试概览【超全面介绍】包你学废
- 手机微信连不上wifi服务器怎么回事,微信连不上wifi怎么办?
- 通俗易懂,unity和c#是什么关系
- Https证书的安装
- 如何用建木CI一键部署Java构件到Nexus
- 备份微信聊天记录到电脑上,并且可以随时导回
- 《Excel数据可视化:一样的数据不一样的图表》——导读
- 通用计算机的发展历程是巨型机大型机小型机,计组1——计算机系统概述
热门文章
- Python 相对路径问题:“No such file or directory“,原因及解决方法
- Python 技巧篇-字符串灵活处理:字符串过滤、字符串拼接,字符串切片,特殊、超长字符串的处理实例演示
- 4.3 matlab常用的特殊图形(条形图、直方图、饼图、散点图等)
- Simulink仿真 第八节 积分模块
- randn--创建正态分布随机矩阵
- DIP第六章习题解答
- 调用摄像头_摄像头 | 浏览器调用摄像头并实现截图保存的效果
- RxJava RxPermissions 动态权限 简介 原理 案例 MD
- (原创)cocos2dx-lua TableView官方demo分析
- PCB 内网实现《OCR文字识别》实现逻辑