Java-POJ1006-Biorhythms(中国剩余定理)】的更多相关文章

Biorhythms Description人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏捷,精力容易高度集中.因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天.对于每个人,我们想知道何时三个高峰落在同一天.对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间).你的任务是给定一个从当年第一天开始数的天…
http://shuxueshi.jie.blog.163.com/blog/static/13611628820104179856631/ 这篇博客写的很棒! #include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int a,b,c,t; int i,j; ; while(scanf("%d%d%d%d",&a,&b,&c,&t)!=…
B - Biorhythms Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Submit Status Practice POJ 1006 Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏捷,精力容易高度集中.因为三个周期的周长…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 103539   Accepted: 32012 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
题目地址:POJ 1006 学习了下中国剩余定理.參考的该博客.博客戳这里. 中国剩余定理的求解方法: 假如说x%c1=m1,x%c2=m2,x%c3=m3.那么能够设三个数R1,R2,R3.R1为c2,c3的公倍数且余c1为1,同理.R2,R3也是如此.然后设z=R1*m1+R2*m2+R3*m3,那么z就是当中一个解.并且每隔(c1,c2,c3)的最小公倍数就是一个解.想要最小解的话,仅仅需对最小公倍数取余即可了. 以下的代码未删改.比赛的时候为了避免超时,R1,R2,R3的求解过程全然没有…
中国剩余定理 x = ai (mod mi)  ai和mi是一组数,mi两两互质,求x 令Mi = m1*m2*~mk     其中,mi不包含在内. 因为mi两两互质,所以存在x和y, st   Mi*xi + mi*yi = 1 令ei = Mi*xi ,则有: 则e0a0 + e1a1 + e2a2+ - +en-1*an-1是方程一个解 因为n%3=2,n%5=3,n%7=2且3,5,7互质       使5×7被3除余1,用35×2=70:        使3×7被5除余1,用21×1…
Biorhythms 题意:读入p,e,i,d 4个整数,已知(n+d)%23=p;   (n+d)%28=e;   (n+d)%33=i ,求n .        (题在文末) 知识点:中国剩余定理. /*解释*/ 题解:已知(n+d)%23=p;   (n+d)%28=e;   (n+d)%33=i        33×28×a模23的逆元为8,  则33×28×8=5544:        23×33×b模28的逆元为19,则23×33×19=14421:        23×28×c模3…
poj 1006 题的思路不是很难的,可以转化数学式: 现设 num 是下一个相同日子距离开始的天数 p,e,i,d 如题中所设! 那么就可以得到三个式子:( num + d ) % 23 == p: ( num + d ) % 28 == e: ( num + d ) % 33 == i: p,e,i,d 是我们输入的,那么我们需要求出num即可,为了方便,我们将num+d暂时作为一个整体!令x = num + d: 即:x % 23 == p: x % 28 == e: x % 33 ==…
生理周期  简单模拟 对于超出23 * 28 * 33(21252)时进行求余运算即可. #include<stdio.h> int main() { //freopen("in.txt","r",stdin); ; ||b!=-||c!=-||d!=-)) { s=a; if(b>s) s=b; if(c>s) s=c; do { s++; }!=)|| ((s+d-b))%!= ||((s+d-c)%!=) ); ) s=s%; prin…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 117973   Accepted: 37026 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 139500   Accepted: 44772 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
题目大意 略...有中文... 题解 就是解同余方程组 x≡(p-d)(mod 23) x≡(e-d)(mod 28) x≡(i-d)(mod 33) 最简单的中国剩余定理应用.... 代码: #include<iostream> #include<cstdio> using namespace std; void gcd(int a,int b,int &d,int &x,int &y) { if(!b) { d=a,x=,y=; } else { gcd…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 117973   Accepted: 37026 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 110991   Accepted: 34541 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 127339   Accepted: 40342 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
POJ1006: 中国剩余定理的完美演绎   问题描述 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天.一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好.通常这三个周期的峰值不会是同一天.现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期.然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现. 问题分析 首先我们要知道,任意两个峰值之间一定相距整数倍的周期.假设一年的第N天达到峰值,则下次达到峰值的时间为N+Tk…
POJ.1006 Biorhythms (拓展欧几里得+中国剩余定理) 题意分析 不妨设日期为x,根据题意可以列出日期上的方程: 化简可得: 根据中国剩余定理求解即可. 代码总览 #include <iostream> #include <cstdio> #include <algorithm> #include <cmath> using namespace std; typedef int ll; ll p,e,i,d; void exgcd(ll a,…
Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 111285   Accepted: 34638 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,…
0.引子 每一个讲中国剩余定理的人,都会从孙子的一道例题讲起 有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二.问物几何? 1.中国剩余定理 引子里的例题实际上是求一个最小的x满足 关键是,其中r1,r2,--,rk互质 这种问题都有多解,每一个解都为最小的解加上若干个lcm(r1,r2,...,rk),这个不用我证了吧(-_-||) 解决这个问题的方法是构造法, 先构造k个数 满足, 这样就保证 ,但是由于 bi 乘了除 ri 以外所有 r,所以bi模其它的 r 都为 0, 再把所有 b…
/* 中国剩余定理可以描述为: 若某数x分别被d1..….dn除得的余数为r1.r2.….rn,则可表示为下式: x=R1r1+R2r2+…+Rnrn+RD 其中R1是d2.d3.….dn的公倍数,而且被d1除,余数为1:(称为R1相对于d1的数论倒数) R1 . R2 . … . Rn是d1.d2.….dn-1的公倍数,而且被dn除,余数为1: D是d1.d2.….的最小公倍数: R是任意整数(代表倍数),可根据实际需要决定: 且d1..….必须互质,以保证每个Ri(i=1,2,…,n)都能求…
在POJ上有译文(原文右上角),选择语言:简体中文 求解同余方程组:x=ai(mod mi) i=1~r, m1,m2,...,mr互质利用中国剩余定理令M=m1*m2*...*mr,Mi=M/mi因为mi两两互质,所以(Mi,mi)=1令Mi*yi=1(mod mi)的解为yi,即Mi模mi的逆元则方程的解为:(a1*M1*y1+a2*M2*y2+...+ar*Mr*yr)%M 方法一:用扩展欧几里德求逆元 #include <iostream> #include <stdio.h&g…
题目链接: http://poj.org/problem?id=1006 http://acm.hdu.edu.cn/showproblem.php?pid=1370 题目大意: (X+d)%23=a1,(X+d)%28=a2,(X+d)%33=a3,给定a1,a2,a3,d,求最小的X. 题目思路: [中国剩余定理] 23,28,33互素,可以套中国剩余定理. 也可以直接手算逆元. 33×28×a模23的逆元为8,则33×28×8=5544: 23×33×b模28的逆元为19,则23×33×1…
裸题,没什么好说的 第一个中国剩余定理 写暴力都过了..可见这题有多水 代码: #include<iostream> #include<stdio.h> #include<math.h> #include<string> #include<map> #include<algorithm> using namespace std; #define MAX 200000000 #define ull unsigned long long…
问题描述 人自出生起就有体力,情感和智力三个生理周期,分别为23,28和33天.一个周期内有一天为峰值,在这一天,人在对应的方面(体力,情感或智力)表现最好.通常这三个周期的峰值不会是同一天.现在给出三个日期,分别对应于体力,情感,智力出现峰值的日期.然后再给出一个起始日期,要求从这一天开始,算出最少再过多少天后三个峰值同时出现. 问题分析 首先我们要知道,任意两个峰值之间一定相距整数倍的周期.假设一年的第N天达到峰值,则下次达到峰值的时间为N+Tk(T是周期,k是任意正整数).所以,三个峰值同…
蒟蒻并不会中国剩余定理 交的时候还出现了PE的错误 下面是AC代码 #include<iostream> #include<cstdio> using namespace std; int main() { ; cin>>p>>e>>i>>d; do{ ; *p+*e+*i-d+lcm)%lcm; ) ans=lcm; cout<<"Case "<<T++<<": th…
孙子定理: 当前存在三个式子,t%3=2,t%5=3,t%7=2.然后让你求出t的值的一个通解. 具体过程:选取3和5的一个公倍数t1能够使得这个公倍数t1%7==1,然后选取3和7的一个公倍数t2使得这个公倍数t2%5==1,然后再选取5和7的一个公倍数t3使得这个公倍数t3%3==1,求出来 t1==15,t2==21,t3==70,然后最终的答案就是(15*3+21*3+70*2)+105*n.这里的105指的是3 5 7 的最小公倍数,为什么这样做?既然是有余数,那么就把这个余数搞没了就…
http://poj.org/problem?id=1006 题目大意: 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰,人会思维敏捷,精力容易高度集中.因为三个周期的周长不同,所以通常三个周期的高峰不会落在同一天.对于每个人,我们想知道何时三个高峰落在同一天.对于每个周期,我们会给出从当前年份的第一天开始,到出现高峰的天数(不一定是第一次高峰出现的时间).你的任务是…
UVA756:https://www.luogu.org/problemnew/show/UVA756 思路 几乎是裸的中国剩余定理模板题 但是需要注意的是此题并不是求最小正整数解 而是求大于d的解 因此对于ans我们需要分类讨论 当ans<=d时 ans=M-(d-ans) 当ans>d时 输出ans即可 代码 #include<iostream> #include<cstdio> using namespace std; **,ans,t; ]={,,,};//存m…
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:266 解决:189 题目描述: Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical, emotional, and intellectual cycles, and they have periods of l…
题目传送门 题意:POJ有中文题面 分析:其实就是求一次同余方程组:(n+d)=p(%23), (n+d)=e(%28), (n+d)=i(%33),套用中国剩余定理模板 代码: /************************************************ * Author :Running_Time * Created Time :2015/9/15 星期二 16:53:01 * File Name :POJ_1006.cpp **********************…