POJ 2891

x=r1 (mod a1)

x=r2 (mod a2)

x=a1*x+r1,x=a2*y+r2;

a1*x-a2*y=r2-r1;

用Extend_Gcd求出m1*x+m2*y=d; d=Gcd(x,y);

那么就可以解出原来的x=(x*(r2-r1)/d)

那么代入原式r1=a1*x+r1 新的a1=lcm(a1,a2);

 #include <cstdio>
#define LL long long
LL a1,a2,r1,r2,x,y,n;
LL Extend_Gcd(LL a,LL b,LL &x,LL &y)
{
if (b==) {x=,y=; return a;}
LL Ret=Extend_Gcd(b,a%b,x,y);
LL Tmp=x;
x=y; y=(Tmp-a/b*y);
return Ret;
}
int main()
{
// freopen("c.in","r",stdin);
while (scanf("%lld",&n)!=EOF)
{
scanf("%lld%lld",&a1,&r1); bool Ok=true;
for (LL i=;i<n;i++)
{
scanf("%lld%lld",&a2,&r2);
LL a=a1,b=a2,m=r2-r1;
LL d=Extend_Gcd(a,b,x,y);
if (m%d) Ok=false;
x=(((x*m/d))%(b/d)+(b/d))%(b/d);
r1=x*a1+r1;
a1=(a1*a2)/d;
}
if (Ok) printf("%lld\n",r1); else puts("-1");
}
return ;
}

POJ 2891

POJ 2407 欧拉函数

 #include <cstdio>
int n;
int main()
{
while (scanf("%d",&n)!=EOF)
{
if (n==) break;
int Ans=; int Tmp=n;
for (int i=;i*i<=Tmp;i++)
if (n%i==)
{
Ans=Ans*(i-);
n=n/i;
while (n%i==) Ans=Ans*i,n=n/i;
}
if (n>) Ans=Ans*(n-);
printf("%d\n",Ans);
}
return ;
}

POJ 2407

NOIP 考前 数论复习的更多相关文章

  1. NOIP 考前 队列复习

    BZOJ 1127 #include <cstdio> #include <cstring> #include <iostream> #include <al ...

  2. NOIP 考前 数据结构复习

    BZOJ 1455 左偏树即可 #include <cstdio> #define LL long long ; struct Info{LL l,r,v,Dis;}Tree[Maxn]; ...

  3. NOIP 考前DP 复习

    POJ 2533 最长不降子序列 #include <cstdio> ; int a[Maxn],Pos[Maxn],F[Maxn],n,Ans; inline int Max(int x ...

  4. NOIP 考前 Tarjan复习

    POJ 1236 给定一个有向图,求: 1) 至少要选几个顶点,才能做到从这些顶点出发,可以到达全部顶点 2) 至少要加多少条边,才能使得从任何一个顶点出发,都能到达全部顶点 第一个就是缩点之后有多少 ...

  5. noip考前模板复习

    网络流 Dinic(搭配飞行员) //Serene #include<algorithm> #include<iostream> #include<cstring> ...

  6. noip数论复习总结

    (上不了p站我要死了,侵权度娘背锅) 勉勉强强算是把数论复习的差不多了. 总结一下吧. 其实数论的知识大部分是结合在一起的,勉强分类总结 组合数 求法 组合数的求法根据不同情况选用不同的方法 2.3都 ...

  7. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  8. NOIP考前划水

    NOIP考前划水 君指先跃动の光は.私の一生不変の信仰に.唯私の超電磁砲永世生き! 要开始背配置了? 3行不谢. (setq c-default-style "awk") (glo ...

  9. noip级别数论?

    TAT快noip了才开始去接触数论(真心不敢学..)这里做一下整理吧(都是些定义之类的东西= =) 欧几里德:gcd(a,b)=gcd(b,a%b);具体证明见百科? 扩展欧几里德: 求a*x+b*y ...

随机推荐

  1. document.all.wb.ExecWB

      <%@ page language="java" pageEncoding="UTF-8"%>   <%@ taglib uri=&quo ...

  2. 机器学习实战knn

    最近在学习这本书,按照书上的实例编写了knn.py的文件,使用canopy进行编辑,用shell交互时发现运行时报错: >>> kNN.classify0([0,0],group,l ...

  3. 深入springMVC------文件上传源码解析(上篇)

    最近在项目中,使用springmvc 进行上传文件时,出现了一个问题: org.springframework.web.multipart.MultipartException: The curren ...

  4. [转]C#中POST数据和接收的几种方式

    POST方式提交数据,一种众所周知的方式: html页面中使用form表单提交,接收方式,使用Request.Form[""]或Request.QueryString[" ...

  5. HashMap & HashTable的区别

    HashMap & HashTable的区别主要有以下: 1.HashMap是线程不安全的,HashTable是线程安全的.由这点区别可以知道,不考虑线程安全的情况下使用HashMap的效率明 ...

  6. mybatis-generator-config工具的使用

    generator.xml <?xml version="1.0" encoding="UTF-8" ?>   <!DOCTYPE gener ...

  7. springMVC中实现servlet依赖注入

    记录一下开发过程中遇到的问题: 首先看一下这个帖子: http://blog.csdn.net/gaogaoshan/article/details/23540129 由于我使用的是springMVC ...

  8. <java基础学习>RE 基础语法(2)

    Java Modifiers(java修饰符): Like other languages, it is possible to modify classes, methods, etc., by u ...

  9. (BFS)poj3669-Meteor Shower

    题目地址 为判断某时刻能否走到某位置,建立shi数组,记录某位置最早t时刻就不能走.(初始化为-1)之后开始从(0,0)出发bfs,用bu数组记录走到某一位置时花费的步数,并且需要用vi数组记录是否走 ...

  10. Pyunit测试框架

    一.概述 本系列主要解决的问题是“接口自动化测试”,选择的测试语言是 python 脚本语言.截至目前为止,python是公认的最好的用于自动化应用的语言之一 二.PyUnit测试框架 使用 pyth ...