codeforces 688D
题意:
给你n和k,表示有n个数,c1到cn,然后让你求一个数x,可以告诉你x%ci的值,问你是否可以唯一确定一个x%k的值
题解:
反证:
假设有两个x1,x2同时是解,则对于所有ci,x1%ci==x2%ci&&x1%k!=x2%k,及(x1-x2)%ci==0&&(x1-x2)%k!=0,
及x1-x2==nlcm(ci)(n属于1到无穷大),所以对于所有的n,nlcm(ci)%k!=0,显而易见所有的nlcm%k!=0的话,则lcm%k!=0,
所以可以得出存在两个解的话,lcm%k!=0
所以我们只要判断lcm%k是否等于零即可
- #include<bits/stdc++.h>
- #define de(x) cout<<#x<<"="<<x<<endl;
- #define dd(x) cout<<#x<<"="<<x<<" ";
- #define rep(i,a,b) for(int i=a;i<(b);++i)
- #define repd(i,a,b) for(int i=a;i>=(b);--i)
- #define repp(i,a,b,t) for(int i=a;i<(b);i+=t)
- #define ll long long
- #define mt(a,b) memset(a,b,sizeof(a))
- #define fi first
- #define se second
- #define inf 0x3f3f3f3f
- #define INF 0x3f3f3f3f3f3f3f3f
- #define pii pair<int,int>
- #define pdd pair<double,double>
- #define pdi pair<double,int>
- #define mp(u,v) make_pair(u,v)
- #define sz(a) a.size()
- #define ull unsigned long long
- #define ll long long
- #define pb push_back
- #define PI acos(-1.0)
- #define qc std::ios::sync_with_stdio(false)
- #define db double
- const int mod = 1e9+;
- const int maxn = 1e6+;
- const double eps = 1e-;
- using namespace std;
- bool eq(const db &a, const db &b) { return fabs(a - b) < eps; }
- bool ls(const db &a, const db &b) { return a + eps < b; }
- bool le(const db &a, const db &b) { return eq(a, b) || ls(a, b); }
- ll gcd(ll a,ll b) { return a==?b:gcd(b%a,a); };
- ll lcm(ll a,ll b) { return a/gcd(a,b)*b; }
- ll kpow(ll a,ll b) {ll res=;a%=mod; if(b<) return ; for(;b;b>>=){if(b&)res=res*a%mod;a=a*a%mod;}return res;}
- ll read(){
- ll x=,f=;char ch=getchar();
- while (ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}
- while (ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
- return x*f;
- }
- //inv[1]=1;
- //for(int i=2;i<=n;i++) inv[i]=(mod-mod/i)*inv[mod%i]%mod;
- int n,k;
- ll c[maxn];
- bool ok(){
- ll ans = c[];
- rep(i,,n+) ans = lcm(ans,c[i]) % k;
- ans %= k;
- return !ans;
- }
- int main(){
- scanf("%d%d",&n,&k);
- rep(i,,n+) scanf("%lld",&c[i]);
- puts(ok()?"Yes":"No");
- return ;
- }
codeforces 688D的更多相关文章
- codeforces 688D D. Remainders Game(中国剩余定理)
题目链接: D. Remainders Game time limit per test 1 second memory limit per test 256 megabytes input stan ...
- Codeforces Round #360 div2
Problem_A(CodeForces 688A): 题意: 有d天, n个人.如果这n个人同时出现, 那么你就赢不了他们所有的人, 除此之外, 你可以赢他们所有到场的人. 到场人数为0也算赢. 现 ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
随机推荐
- PHP实现杨辉三角形
<?php /**** * 杨辉三角形:我的实现方式. * 下标 * 1 0 * 1 1 1 循环上一行数据1次,计算后结果追加到当前行末尾 * 1 2 1 2 * 1 3 3 1 3 * 1 ...
- man帮助
man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助.配置文件帮助和编程帮助等信息.
- caioj 1087 动态规划入门(非常规DP11:潜水员)(二维背包)
这道题的难点在于价值可以多. 这道题我一开始用的是前面的状态推现在的状态 实现比较麻烦,因为价值可以多,所以就设最大价值 为题目给的最大价值乘以10 #include<cstdio> #i ...
- 百度地图API的使用示例
刚刚工作的时候写过百度地图API文档,那时候没有记录到技术博客里面,今天在群里看见有个姑娘在问这个问题,重温了一遍,这个API还算好用.百度地图API,集成简单好用,全面,兼容问题,文档全面: 官方文 ...
- Spring Cloud学习笔记【五】Hystrix Dashboard监控面板
ystrix除了隔离依赖服务的调用以外,Hystrix 还提供了准实时的调用监控(Hystrix Dashboard),Hystrix 会持续地记录所有通过 Hystrix 发起的请求的执行信息,并以 ...
- UML之序列图
一 序列图概述: 序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸. 横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存 ...
- 美团实习生电面之谈(成功拿到offer)
3月底进行了美团的一次实习生面试(Java研发project师).当时顺利的通过一面.以下是我的一面: 1.CPU由哪些部分组成 2.线程和进程的差别 3.Java类载入机制 4.怎样实现一个字符串的 ...
- oracle job有定时执行功能
oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务. 一.查询系统中的 ...
- C#泛型链表Demo
/// <summary> /// 节点 /// </summary> /// <typeparam name="T"></typepar ...
- impala 概述
impala 概述 什么是Impala? Impala是用于处理存储在Hadoop集群中的大量数据的MPP(大规模并行处理)SQL查询引擎. 它是一个用C ++和Java编写的开源软件. 与其他Had ...