---恢复内容开始---
我感觉自己真的是太弱了,和那些从初中开始学的人TT
今天讲的数学,毕竟以前尖子生培训打过点基础,感觉还不错,但也仅限于听懂而已,打代码什么的……
今天的内容:
一.数论
1. 判断一个数是否是质数 因为一个合数n必然包含一个不超过sqrt(n)的 质因子 所以筛一遍从2到sqrt(n)即可
求1~n间所有质数?
埃拉托色尼筛选法 每次取出素数的倍数,最后判断?记住POJ2689这道题,怎么也要做出来
2.约数
质因数分解
gcd(a,b)=gcd(a,a-b) BZOJ 1876?刷刷刷!!!
gcd与lcm并存 noip2009T2做了
裴蜀定理
对于任意整数 a, b,存在一对整数 x, y 满足 ax + by = (a, b)。
那么 拓展欧几里得算法(好吧我承认讲这时我睡着了TT)
贴代码:var a,b,x,y,k:longint;
function extended_gcd(a,b:longint;var x,y:longint):longint;
var t:longint;
begin
if b=0 then
begin
x:=1;y:=0;
exit(a);
end;
extended_gcd:=extended_gcd(b,a mod b,x,y);
t:=x;
x:=y;
y:=t-(a div b)*y;
end;
begin
readln(a,b);
k:=extended_gcd(a,b,x,y);
writeln(a,‘*(‘,x,‘)+‘,b,‘*(‘,y,‘)=‘,k);
readln;
end.
3.乘法逆元,快速幂
不太懂……
4.一次线性同余方程noip2012
5.欧拉函数,欧拉定理
6.分块与GCD统计是什么鬼……
二.组合数学部分(然而这部分好多都是高中数学?)
排列数、组合数、二项式定理 还有好多啊
等等还有好多 就不一一列出了 总之回去之后还要慢慢来啊啊啊
第一次测试没想到水了50分,233333
还有就是,以后要加紧时间学C++了,,,时间真的不够用啊啊
至于计划嘛,我是这样想的
1.回去之后花一周时间转C++?期间再学些简单算法
2.课件上的题一道一道往过刷,主战场TYVJ,CODEVS
3.刷真题!
加油吧孩子,我相信现在努力至少一等不是梦!加油加油!
PS:有些人真的是够了,觉得我好欺负?