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);

  1. #include <cstdio>
  2. #define LL long long
  3. LL a1,a2,r1,r2,x,y,n;
  4. LL Extend_Gcd(LL a,LL b,LL &x,LL &y)
  5. {
  6. if (b==) {x=,y=; return a;}
  7. LL Ret=Extend_Gcd(b,a%b,x,y);
  8. LL Tmp=x;
  9. x=y; y=(Tmp-a/b*y);
  10. return Ret;
  11. }
  12. int main()
  13. {
  14. // freopen("c.in","r",stdin);
  15. while (scanf("%lld",&n)!=EOF)
  16. {
  17. scanf("%lld%lld",&a1,&r1); bool Ok=true;
  18. for (LL i=;i<n;i++)
  19. {
  20. scanf("%lld%lld",&a2,&r2);
  21. LL a=a1,b=a2,m=r2-r1;
  22. LL d=Extend_Gcd(a,b,x,y);
  23. if (m%d) Ok=false;
  24. x=(((x*m/d))%(b/d)+(b/d))%(b/d);
  25. r1=x*a1+r1;
  26. a1=(a1*a2)/d;
  27. }
  28. if (Ok) printf("%lld\n",r1); else puts("-1");
  29. }
  30. return ;
  31. }

POJ 2891

POJ 2407 欧拉函数

  1. #include <cstdio>
  2. int n;
  3. int main()
  4. {
  5. while (scanf("%d",&n)!=EOF)
  6. {
  7. if (n==) break;
  8. int Ans=; int Tmp=n;
  9. for (int i=;i*i<=Tmp;i++)
  10. if (n%i==)
  11. {
  12. Ans=Ans*(i-);
  13. n=n/i;
  14. while (n%i==) Ans=Ans*i,n=n/i;
  15. }
  16. if (n>) Ans=Ans*(n-);
  17. printf("%d\n",Ans);
  18. }
  19. return ;
  20. }

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. oracle当前的连接数

    怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了. select * from v$session where username is not null select us ...

  2. Binary Tree Zigzag Level Order Traversal [LeetCode]

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  3. jQuery对象与dom对象的转换

    一直以来对于通过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,现在此案知道,原来jQuery获得的对象并不和我们平时使用getElementById获得的 ...

  4. 许愿墙的搭建(基于Apache+php+mysql)

    一.准备部分:CentOS 7  , Linux 文本   各自配置好环境 二. CentOS 7准备如下: yum install httpd -y #安装httpd yum install php ...

  5. 几种jQuery 实现无限滚动的插件

    1.EndLess Scroll 2.infinite-scroll插件的使用

  6. 安装Windows 10后PDF补丁丁等程序界面变得模糊的解决办法

    对于使用高分辨率屏幕且屏幕缩放比例在 100%以上的用户,升级到 Windows 10 后将发现许多程序的界面,例如QQ.电脑管家.Windows本身的服务管理程序等等,都变得非常模糊,<PDF ...

  7. Jquery基础之DOM操作

    转自:http://www.cnblogs.com/bro-ma/p/3063942.html JQuery中的DOM操作主要对包括:建[新建].增[添加].删[删除].改[修改].查[查找][像数据 ...

  8. 【软件】【diamond】-管脚分配

    未用到的引脚设置,浮空引脚设置.可以设置浮空电压

  9. Git 撤消

    现在添加一个新的文件 t.c, 写一行 int a; 用 git add . 添加跟踪,当前状态 $ git status On branch master Changes to be committ ...

  10. MRPT笔记——使用编译好的MRPT库建立VS2013项目

    接着上一篇<MRPT在VS2013中的配置>,下面接收如何使用编译好的MRPT建立工程项目. 一.设置环境变量 上一篇中,配置MRPT时,使用到了几个相关库,opencv.zlib.wxW ...