acm icpc n.
Download
Skip this Video
Download Presentation
ACM/ICPC 中的数学

Loading in 2 Seconds...

play fullscreen
1 / 18

ACM/ICPC 中的数学 - PowerPoint PPT Presentation


  • 238 Views
  • Uploaded on

ACM/ICPC 中的数学. 李凤界 lfj_2@126.com. 数论 组合数学(计数问题) 博弈 概率 二、三分,积分. 预备代数知识. 代数结构 半群 群、子群、 Lagrange 定理 环、交换幺环. 快速幂乘. 半群上元素幂的 lgN 算法 计算 a^b%c 细节:在 32 位机器上如何计算 64 位整数相乘对 64 位整数取模? 矩阵快速幂乘 Fibnacci 数列 题目:字符串接力计数. 初等数论在 ICPC 中的几点. Euclid 辗转相除法 中国剩余定理 Euler 定理. 一些记号和结论.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'ACM/ICPC 中的数学' - vito


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
acm icpc

ACM/ICPC中的数学

李凤界

lfj_2@126.com

slide2
数论
  • 组合数学(计数问题)
  • 博弈
  • 概率
  • 二、三分,积分
slide3
预备代数知识
  • 代数结构
  • 半群
  • 群、子群、Lagrange定理
  • 环、交换幺环
slide4
快速幂乘
  • 半群上元素幂的lgN算法
  • 计算a^b%c细节:在32位机器上如何计算64位整数相乘对64位整数取模?
  • 矩阵快速幂乘Fibnacci数列题目:字符串接力计数
slide5
初等数论在ICPC中的几点
  • Euclid辗转相除法
  • 中国剩余定理
  • Euler定理
slide6
一些记号和结论
  • 整除 :若a = b*q , b!=0 , 称b整除a,记作b|a
  • 同余:若c|(b-a),称a,b对c同余,记作a = b(mod c)
  • 除法定理:给定a,b两个整数,b> 0,则存在两个唯一的整数q,r,使得a = b*q+r,0<=r<b成立
  • 唯一分解定理(标准分解):任一自然数n>0,均可唯一表示为素数之积:
slide7
最大公约数
  • 最小公倍数
  • 模m的剩余类环
  • 缩系
slide8
N个数的最大公约数给定N个数,求它们的最大公约数N个数的最大公约数给定N个数,求它们的最大公约数
euclid
Euclid辗转相除法
  • 给定a,b不全为0,求gcd(a,b)
  • 结论:
  • 复杂度O(lg(b)),可参看《算法导论》
slide10
青蛙的约会(浙江OI):长L的纬度线上,两只青蛙同时往西跳,规定从东往西为正方向建立坐标轴,两只青蛙的坐标分别为x和y,每一跳分别跳m米和n米,二只青蛙每一跳花的时间相同。问两只青蛙能否相遇?青蛙的约会(浙江OI):长L的纬度线上,两只青蛙同时往西跳,规定从东往西为正方向建立坐标轴,两只青蛙的坐标分别为x和y,每一跳分别跳m米和n米,二只青蛙每一跳花的时间相同。问两只青蛙能否相遇?
euclid1
拓展Euclid算法
  • 给定a,b不全为0,求d,x,y使得d=gcd(a,b)=a*x+b*y注:不唯一,调整下就可以作为另一组解
  • 在Euclid算法上作一点手脚:设 a > b > 0 , a = b*q + c(除法定理)若d = x’*b + y’*c则d = y’*a + (x’ – q)*b
exeuc c
exEuc最直接的实现(C++)
  • struct T{
  • int d,x,y;
  • };
  • T exEuc(int a,int b){
  • if( b == 0)return T(a,0,0);
  • T tmp = exEuc(b,a%b);
  • return T(tmp.d, tmp.y, tmp.x-(a/b)*tmp.y);
  • }//自己证明求得的x,y是否小于max(a,b)
slide13
中国剩余定理
  •      两两互素,求一次同余方程组             的解
  • 只看n=2,构造
  • POJ2891
slide14
质数表
  • 质数表:保存素因子,标准分解
  • 平方往外筛法(O(n*lglg(n)),复杂度未验证)
  • 线性筛法(O(n))
euler
Euler函数
  • 小于n且与n互素的数的个数
  • n为素数或素数幂时的
  • 设n的标准分解为    
euler1
Euler定理
  • 若(a,n)=1,则
  • Fermat小定理
slide17
多少个连续的8能整除给定的数m(网络赛)
  • 质数原根个数(贾怡@PKU)
  • 大素数检验的Miller-Rabin概率算法
slide18
单调函数(数列)二分求解如有序数列的查找方程的数值计算(二分法求数值解)次数(复杂度) :离散的:lg(n);方程的
  • 单峰函数:三分法求峰值:dp优化等
  • 数值积分基本概念Gauss型
  • 外推法,Romberg数值积分