數學之組合數學於2020 8 13

2021-10-09 03:59:47 字數 1284 閱讀 2495

原理1: 把多於n+1個的物體放到n個抽屜裡,則至少有乙個抽屜裡的東西不少於兩件。

原理2:把多於mn+1(n不為0)個的物體放到n個抽屜裡,則至少有乙個抽屜裡有不少於m+1的物體。

原理3:把無數多件物體放入n個抽屜,則至少有乙個抽屜裡有無數個物體。

原理4:把mn-1個物體放入n個抽屜中,其中必有乙個抽屜中至多有m-1個物體。

只考慮最多的一種糖果的數量和其餘所有的糖果總數之間的關係

使用ramsey定理,大於等於6的情況直接判斷

3,4,5的情況特判

和上題一樣

題意:就是讓你求(a,b)區間於n互質的數的個數

轉化為先求出(1,m)區間與n不互質的數的個數:先求出n的質因子,再利用容斥原理

難點:如何模擬容斥原理

#include#includeusing namespace std;

int prime[33],pn;

long long calc(long long n)

if(cnt&1) res+=n/tmp;

else res-=n/tmp;

}return n-res;

}int main()

if(n!=1) prime[pn++]=n;

printf("case #%d: %lld\n",cse,calc(b)-calc(a-1));

}return 0;

}

比上題多乙個列舉

正數分解定理+組合數學

有一定的思維成分

第一億個斐波那契數,矩陣快速冪有

隱藏的斐波那契,其實更應該說是遞推

母函式的原理:

把組合問題的加法與冪級數的乘冪對應起來

整數劃分題

常規做法是dp

*dp[n][m]=dp[n][m-1]+dp[n-m][m]*還沒搞懂

指數型別的母函式

稍後待補

數學 組合數學

mod must be a prime const int mod 1e9 7 namespace combinatory ll inv ll x ll fac maxn invfac maxn void initc int n ll a ll n,ll m ll c ll n,ll m ll d ...

組合數學 求組合數

對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...

組合數學筆記

從n個數中選m個數,每個數至多選一次,方案數 性質 c n,0 c n,n 1 c n,m c n,n m c n,m c n 1,m 1 c n 1,m 楊輝三角 二項式展開 x y n i 0.n c n,i x iy n i 那這裡先說一下楊輝三角 前提 每行端點與結尾的數為1 每個數等於它上...