今天是最后一节正课,讲了一部分数论内容,最后还讲了高斯消元法。
讲了整除和同余与相关的概念、问题和定理。
大概讲得内容有:
二分答案与取模
快速幂、矩阵快速幂、等比数列快速求和等
一次同余方程
gcd相关(二元一次同余方程):gcd和lcm、拓展gcd、ax+by=c(gcd(a,b)|c)[ax=c(mod b)]整数解与最小非负整数解;
一次同余方程组:孙子定理、拓展孙子定理。
素数筛
线性筛
欧拉函数与费马小定理
(未讲,尚不会)
例题:POJ 3101 Astronomy POJ 2142 The Balance
待完成:POOJ 2689 /POJ 2478 /POJ 3696
晚上的训练赛:
A掉的题:B是叉积,D是水题,E是规律+快速幂。
未A掉的题:A是贪心,C还没搞懂。
A没时间看了,C没看懂题在说啥。
总体来讲打得还是不错的。B、E两道题刚好是我最近在捣鼓的东西,做起来比较亲切。
说一下那个E(CodeForce-227B),是个递推的规律,读题和推规律都蛮久的,推出递推式之后算出来竟然是3^n-1(结果就是规律比较简洁,很多人直接猜出来了emmm),拿快速幂写就可以,但是要注意res=(fastpow(3,n,mod)+mod-1)%mod,(这个题还要-1),因为有可能变成负数取模。错了两三次了,这次要记住!
以及B和D都卡了long long,wa了两发...
昨天的B搞明白了,还是题意理解错了,这个阅读理解能力是真的要提高。
数论的知识先搁置一下,比较感兴趣,想抽个时间相对系统地学一下。最近的一段时间要保持题感,同时也要把这两周学的东西仔细回复与训练。