2017.10.22
来源:互联网 发布:知之一字众妙之门 编辑:程序博客网 时间:2024/05/22 06:50
虽然专题快结束了,但是我还是先做的数学。就是找了几个题补了一下,有的题目刚开始就是做一些稍微水一点的,我就简要总结不写题解。poj上的private roots,这是个欧拉函数的题,就是给出一个奇素数,求出他的原根的个数。对于给出的素数p,p的元根必然是存在的,并且模的原根的个数为φ(p−1),如果{xi%p| 1 <= i <= p - 1} = {1,2,…,p-1},则称x是p的原根,原根个数为phi(phi(p)), 由于phi(p)=p-1, 所以为phi(p-1),讲的可能不太清楚。还有一个POJ的Relatives,这也是一个欧拉函数,这个题就是用来熟练的,求一个整数的函数值,类似于模板题用来理解记忆。再有就是拓展欧几里德a*x+b*y=gcd(a,b),一个很经典的题目,青蛙的约会,同样利用gcd(a,b)==gcd(b,a%b)把a*x+b*y==gcd( a, b )转化为b*x’+(a%b)*y’==gcd( b, a%b ),这个地方的转化好像用的挺多的我就记下来了。
这个是模板
int ex_gcd(int a,int b,int &x,int &y){ if (b==0){ x=1,y=0; return a; } int q=gcd(b,a%b,y,x); y-=a/b*x; return q;}
设a=m-n,b=L,c=y-x,然后套用模板求出特解t的值,注意t>0,所以要用通解公式得出最小正整数,这个地方就是一个基本公式来回推。再有POJ的Strange Way to Express Integers,就是求解方程组
X%m1=r1
X%m2=r2
….
X%mn=rn
然后
X%m1=r1
X%m2=r2
联立可得
m1*x+m2*y=r2-r1
用ex_gcd求得一个特解x’,得到X=x’*m1+r2,X的通解,X’=X+k*LCM(m1,m2),上式可化为:X’%LCM(m1,m2)=X,做后求出X‘即可。我还得把那个中国剩余定理补完,这个和exgcd有关联,刚开始做数学就是有的人的题解会有一些我没见过的名词,我老是想查查看看,但是有时候概念比较难懂理解了也没什么特别的用处,可是真的费时间,还得有点分寸不能看概念就没完了。主要还是巩固和看新的,还有就是规律思维题,有空就补两个,感觉还行。
- 2017.10.22
- 2017.10.22
- 2017.10.22
- 【队内胡策】2017.10.22
- 周末记录--2017.10.22
- 自考总结-2017.10.22
- 2017.10.22 LeetCode
- 2017.10.22作业
- 练习(2017.10.22)
- java小白 2017.10.22
- 2017.10.22 方格染色 失败总结
- 【LCA】2017.10.22杂题[宝藏探寻]题解
- 2017.10.22_数位dp模板分析
- 2017.10.22开学第八周周总结
- 2017.10.22 最多的方案 失败总结
- [2017.10.21-22]多态&抽象类&接口
- Test 2017.10.22(周末做,周一测)
- C面试题(2017.10.22)
- C/C++:面试题 int *ptr=(int *)(&a+1);
- Oracle学习之case when的用法
- 237. Delete Node in a Linked List
- NIO基础(1)-缓冲区用法
- BAT等大厂已开源的70个实用工具盘点(附下载地址)
- 2017.10.22
- Activity的生命周期
- 动态规划问题2
- loadrunner Lr_类函数之lr_end_transaction()
- mysql联合索引(复合索引)详解
- js获取到的浏览器的一些计算属性
- Java标准教程:Java 2D绘图--第1章 Java 2d API概念概述
- 第五周项目二__建立链栈算法库
- MySQL乐观锁总结和实践