zoukankan      html  css  js  c++  java
  • 推式子小技巧

    推式子小技巧

    标签(空格分隔): 数学


    先讲一些万金油

    • 交换求和顺序,这个很(naive)
    • 式子可以随意提到与其无关的枚举项前后,这个也很(naive)
    • 算贡献思想,这个非常重要,一般需要一点个人能力,只要转化前后每一项被算的次数一样就可以
    • 熟记常见结论,对模数敏感一点,该卷积的就卷起来用多项式,该反演的反演,该容斥的容斥。
    • 还要一些灵感啊(QAQ)

    卷积

    这个我玩的不怎么熟,只会常见形式。

    [sumlimits_{i=1}^{n}f(i)g(n-i) ]

    没错你碰见什么式子尽量拆成只与(i)和只与(n-i)有关系的函数就可以了,基本上就是卷积。

    [sumlimits_{i=1}^{n}f(i)g(i+d) ]

    这个嘛,你把(g)数组(reverse)一下,使得(g^{'}(n-i-d)=g(i)),然后又可以卷了。


    组合数学

    这个我也不熟,随便鬼扯一点。

    • 看到模数是质数又和组合数有关,先想能不能用(lucas)优化推理过程,如这道题
    • 基本上所有的扩展数论算法都基于把模数分成(prod p_i^{a_i})然后对每个(p_i^{a_i})分别处理。
    • 遇到一些特殊的计数(dp)找性质,利用数量相等的关系推转移方程,如卡农地精部落地形生成
    • 该二项式反演的就二项式反演,两种形式记清楚
    • (f(k) = sumlimits_{i = k}^{n} (-1)^{i}inom{i}{k}g(i) Leftrightarrow g(k) = sumlimits_{i = k}^{n} (-1)^{i} inom{i}{k}f(i))
    • (f(k) = sumlimits_{i = k}^{n} inom{i}{k}g(i) Leftrightarrow g(k) = sumlimits_{i = k}^{n} (-1)^{i - k} inom{i}{k}f(i))
    • 然后主要就是容斥,容斥的本质就是减掉多算的,让每个数变成它该算到的次数。
    • 叉姐的标准容斥形式,设(B_i)表示第(i)件坏事发生的概率,那么(n)个坏事都不发生的概率,可以通过(2^n)个同时发生的概率计算,({S|B_iin S})的容斥系数是((-1)^{|S|})

    筛法

    这个我还是不熟,又要随便扯一点。

    • 线性筛还不会的可以退役了。
    • 埃式筛有时候有奇效,(min\_25)差不多就是个埃式筛的过程
    • 看数据范围行事,(le 10^6)基本上是埃式筛,(le2*10^7)之类就要线性筛了,$le 10^{10} $~(10^{11})杜教和(min\_25)准没错,再大了,就要看灵感了。
    • 积性函数是非常非常非常重要的!
    • 判断一个函数是不是积性的,先看是不是基本函数,再根据函数定义判断是不是积性函数,实在不行,两个积性函数的狄利克雷卷积函数是积性的,还不能判断那我也没办法了。
    • 看到一个函数(f(p)),看它是不是积性的,如果是,那基本上能线筛,只要能快速求(f(p))(f(p^k))就能线筛,如果不是积性函数,那也可能有一些和线筛过程有关的性质,于是有可以线筛。如此题就是线筛非积性函数的栗子。
    • (min\_25)筛的原理一定要理解,用它可以干一些与最小质因子(第一步魔改),最大次大质因子(第二步魔改),特定质因子(都要魔改)等毒瘤问题。
    • 杜教筛是可以有神仙操作的,没事可以试试拿常见的一些函数去卷,毕竟任何积性函数卷任何积性函数结果还是积性函数。如循环之美

    常见结论

    [sum_{d|n}mu(d)=[n=1]\ sum_{d|n}varphi(d)=n\ (varphi*e)=(mu*I)\ sum_{d=1}^nsum_{i=1}^nsum_{j=1}^m[gcd(i,j)==d]\ =sum_{d=1}^nsum_{i=1}^{lfloorfrac nd floor}sum_{j=1}^{lfloorfrac md floor}[gcd(i,j)==1]\ =sum_{d=1}^nsum_{i=1}^{lfloorfrac nd floor}mu(i)lfloorfrac n{id} floorlfloorfrac m{id} floor]

    咕咕咕

  • 相关阅读:
    STL算法概述
    pentaho DI Tutorial (spoon)
    pentaho DIGet Started (spoon)
    Apache Tomcat 7学习笔记(一) 介绍tomcat7
    蜻蜓resin3.1配置文件中文注释
    CentOS防火墙开启、关闭以及开放指定端口
    CentOS5.6蜻蜓resin服务器的搭建
    (总结)RHEL/CentOS 5.x使用第三方软件库(EPEL与RPMForge、RPMFusion软件库)
    用yum安装lamp环境
    蜻蜓resin服务器虚拟目录的设置
  • 原文地址:https://www.cnblogs.com/cx233666/p/10187205.html
Copyright © 2011-2022 走看看