2022年3月14日(开始学习线性代数和组合数学)

【2022年3月14日(开始学习线性代数和组合数学)】1.看了组合数学:
bilibili:算法竞赛入门——初等数论与组合数学初步(有四个文件)

学到了:

  • 逆元
  • 欧几里得算法和证明
  • 扩展欧几里得算法
  • 中国剩余定理的公式
  • 各种素数判断
  • 素数筛
  • 组合数和杨辉三角的关系
  • 奇葩的算组合数的方法(O(最大数值+访问次数))
2.刷题:
2022年3月14日(开始学习线性代数和组合数学)
文章图片


2022年3月14日(开始学习线性代数和组合数学)
文章图片





#include using namespace std; int main(){ int n,x,y; cin>>n; int mn=0,l[130],v[10005]; memset(v,0,sizeof(int)*10004); for(int i=0; i>l[i]; mn=max(mn,l[i]); } x=mn; mn=0; for(int i=0; i

原理非常简单,先假设x>y,因为一个数的约数一定小于等于自己(当然),所以序列中最大的数是x(也很当然),然后从序列中去掉x的约数每个一次,剩下一定是y的所有约数(还是当然),其中最大的数一定是y。

    推荐阅读