POJ 1006-Biorhythms,中国剩余定理,学信安的路过!
我竟然1A了, 终于从一天的浑噩中找回点自信了。人生第一次做中国剩余定理的题,靠着自己的理解。
题意:人的一生分别有体力,情感,智商三个生理周期巅峰,循环时间分别是23,28,33天。现在给出你这三个生理活动在今年出现巅峰的时期(不一定是今年的第一次巅峰状态),然后给出今天的日期,求下一次同时达到巅峰距今天有多少天,如果今天就是同时达到巅峰那么需要求出下一次巅峰。
思路:如果会扩展欧几里德算法就很简单了。很明显是中国剩余定理的一个运用。分别用两个数组存模数和这三个生理日期,然后利用公式:M1*M11*b1+M2*M22*b2+M3*M33*b3+...+Mi*Mii*bi。这里Mii是Mi关于模mi的乘法逆元。
ll e_gcd(ll a,ll b,ll &x,ll &y)
{
if(a==0&&b==0) return -1;
if(b==0)
{
x=1,y=0;
return a;
}
ll d=e_gcd(b,a%b,y,x);
y-=a/b*x;
return d;
}
int main()
{
ll b[3],d;
ll m[3]={23,28,33};
int t=1;
while(~scanf("%I64d%I64d%I64d%I64d",&b[0],&b[1],&b[2],&d))
{
if(d==-1) return 0;
b[0]=b[0]?b[0]:23;
b[1]=b[1]?b[1]:28;
b[2]=b[2]?b[2]:33;
ll M=21252;
ll ans=0;
for(int i=0;i<3;i++)
{
ll x,y;
ll mi=M/m[i];
ll k=e_gcd(mi,m[i],x,y);
ans=(ans+M+mi*x*b[i])%M;
}
ans=ans<=d?ans+M:ans;
printf("Case %d: the next triple peak occurs in %I64d days.\n",t++,ans-d);
}
return 0;
}
POJ 1006-Biorhythms,中国剩余定理,学信安的路过!的更多相关文章
- POJ 1006:Biorhythms 中国剩余定理
Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 121194 Accepted: 38157 Des ...
- POJ1006 Biorhythms —— 中国剩余定理
题目链接:https://vjudge.net/problem/POJ-1006 Biorhythms Time Limit: 1000MS Memory Limit: 10000K Total ...
- 1284-Primitive Roots,学信安的路过
Primitive Roots 此题通过率如此之高,料想不会很难,但是再简单小菜还是不会.. 嗯,下 ...
- POJ 1006 Biorhythms 中国的法律来解决剩余的正式
这个问题以前用模拟的方法来解决亚军,正如溶液是一个通用的解决方案. 这里使用数学方法:剩下的孙子法(当然,被称为中国剩余法).由于建议的孙子.所以也承认外国的孙子是数学家. 参考数论建议大家学习的专业 ...
- POJ 1006 中国剩余定理
#include <cstdio> int main() { // freopen("in.txt","r",stdin); ; while(sca ...
- 数论E - Biorhythms(中国剩余定理,一水)
E - Biorhythms Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Subm ...
- POJ 1006 - Biorhythms (中国剩余定理)
B - Biorhythms Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Subm ...
- POJ 1006 Biorhythms(中国剩余定理)
题目地址:POJ 1006 学习了下中国剩余定理.參考的该博客.博客戳这里. 中国剩余定理的求解方法: 假如说x%c1=m1,x%c2=m2,x%c3=m3.那么能够设三个数R1,R2,R3.R1为c ...
- POJ1006——中国剩余定理
题目:http://poj.org/problem?id=1006 中国剩余定理:x= m/mj + bj + aj 讲解:http://www.cnblogs.com/MashiroSky/p/59 ...
随机推荐
- OGG How to Resync Tables / Schemas on Different SCN s in a Single Replicat
To resync one or more tables/schemas on different SCN's using a single or minimum number of replicat ...
- 当document.write 遇到外联script
先来看个例子: <!DOCTYPE html> <html> <head> <title>测试 document.write</title> ...
- JVM初探
### JVM分为类的加载生命周期和gc垃圾回收两个大的方面#####首先是类的生命周期, 类的加载: --> 记载字节码 ---> 这个过程有类的加载起参与,双亲委托机制() --> ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第六天(非原创)
文章大纲 一.课程介绍二.今日内容简单介绍三.Httpclient介绍与实战四.项目源码与资料下载五.参考文章 一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工 ...
- java写跳一跳辅助程序
##起初是想使用按键精灵脚本程序控制,但还是选择熟悉的java.我这里使用了工具,造成延迟问题.也求教:java控制安卓的正确姿势, 参考了.NET玩跳一跳,思路都是一样的,只不过使用ADB控制安卓的 ...
- UART协议
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART,读音/ˈjuːart/)是一种异步收发传输器,是电脑硬件的一部分,将资料由 ...
- Implicit Animations 默认动画 读书笔记
Implicit Animations 默认动画 读书笔记 Do what I mean, not what I say. Edna Krabappel, The Simpsons Part I ...
- MYSQL 二次筛选,统计,最大值,最小值,分组,靠拢
HAVING 筛选后再 筛选 SELECT CLASS,SUM(TOTAL_SCORES) FROM student_score GROUP BY CLASS HAVING SUM(TOTAL_SCO ...
- Gym - 100676G Training Camp (状压dp)
G. Training Camp[ Color: Yellow ]Montaser is planning to train very hard for ACM JCPC 2015; he has p ...
- Markdown的安装和语法
步骤: 1.打开webstorm,File-->Setting-->输入plugin-->Install JetBrains plugin-->输入markdown--> ...