zoukankan      html  css  js  c++  java
  • 暑假学习日记2013/7/22

        今天打了一下学校的个人赛,仍然是CF上的题.总的来说水平有限,能dp出来的dp出来了,能找规律的也找了,能构造的也构造了,但是复杂的组合数学,或者是图论搜索,还真的打不出来了...

        再说下今天的学习的一些算法吧,主要是看了一下最大流和最小费用流,对拍了一下代码,个人对最大流的理解也深入了一点,但是对算法的正确性,以及最大流最小割定理的证明,都觉得不太懂,后来还有二分图的匹配,用最大流的思想来看豁然开朗,找增广路的思想感觉挺重要的.学最大流就看了两个算法,Flord和Dicnic,分别跑了一下POJ3187的Flow problem,Flord比Dicnic快,应该是因为该题的点少(N<=15),所以Dicnic广搜的意义不大吧,反而拖慢的进度。然后就看了下模运算的东西,逆元的求法其实就是那么回事  ax=1(mod p) 相当于存在k使得 ax=pk+1  ax-pk=1 解这个方程就好了,就是典型的exgcd啦,注意到当gcd(a,p)!=1时无解,所以说逆元求的时候一般都是对素数吧。后来看了一下费马小定理,多年前搞奥数竞赛的时候学过,还看过怎么证的,不过数论这东西,从来都不是一般人搞得起的,所以就不细究其怎么证的了,结论就是一个 x^p=x(mod p) 当p为素数,x整除p时有  x^(p-1)=1(mod p), x^(p-2) *x =1(mod p) .当p为素数时,一个数x的逆元就是x^(p-2)次方。有了这些求逆元的方法,以后求组合数的中间步骤就可以化简一下了。对了,今天还补了一下昨天没看完的旋转卡壳求对踵点,利用叉积判断先转到那个方向的方法甚是神奇,别的旋转的方法慢慢学习吧。

    总结一下:

    1.旋转卡壳求对踵点

    2.Flord最大流算法

    3.Dicnic最大流算法

    4.逆元

    5.费马小定理

  • 相关阅读:
    Roce ofed 环境搭建与测试
    Ubuntu 1804 搭建NFS服务器
    Redhat 8.0.0 安装与网络配置
    Centos 8.1 安装与网络配置
    SUSE 15.1 系统安装
    VSpare ESXi 7.0 基本使用(模板、iso、SRIOV)
    VSpare ESXi 7.0 服务器安装
    open SUSE leap 15.1 安装图解
    KVM虚拟机网卡连接网桥
    GitHub Action一键部署配置,值得拥有
  • 原文地址:https://www.cnblogs.com/chanme/p/3204547.html
Copyright © 2011-2022 走看看