原创 【lucas定理】BZOJ4403 序列統計

題面在這裏 首先元素大小在[L,R] 等價於[1,R−L+1] 那麼長度爲i,元素大小[1,M] 的非降序列方案數爲CM−1i+M−1 所以答案就是: ∑i=1NCM−1i+M−1=(∑i=1NCM−1i+M−1)+CMM−1=

原创 【二分+貪心】BZOJ1816 [Cqoi2010]撲克牌

題面在這裏 沒什麼好說的,直接二分答案就好了 示例程序: #include<cstdio> typedef long long ll; const int maxn=55; int n,m,c[maxn]; bool check

原创 【期望DP】HDU4405 Aeroplane chess

題面在這裏 還是期望DP的老套路…… 從後往前DP,fi 表示i到終點的期望值,然後XJB轉移就好了 還有題意貌似是能飛就必須飛?沒講清楚啊 示例程序: #include<cstdio> #include<cstring> #in

原创 【莫比烏斯反演】BZOJ2820 YY的GCD

題面在這裏 與這道題類似。 先考慮枚舉質數p,答案就是: ∑p∑dμ(d)⌊npd⌋⌊mpd⌋ 設T=pd ,考慮枚舉T ,則有: ∑Tmin{n,m}⌊nT⌋⌊mT⌋∑p|Tμ(Tp) 如果能夠預處理∑p|Tμ(Tp)

原创 【二分+莫比烏斯函數】BZOJ2440 [中山市選2011]完全平方數

題面在這裏 顯然需要二分…… 問題轉化爲求[1,⌊n√⌋] 中無平方因子數的個數 根據容斥原理,顯然答案爲n−奇數個質數乘積的平方倍數+偶數個質數乘積的平方倍數 如果枚舉這個乘積i,根據莫比烏斯函數的定義,答案爲: ∑i=1⌊n

原创 【持續更新】莫比烏斯反演簡明教程

前言 開始學省選算法了…… 感覺莫比烏斯反演好厲害的樣子,就先學習一下 一入反演深似海…… 相關的東西太多了,以後會不定期更新 前置技能 莫比烏斯函數 莫比烏斯函數μ(n) 的定義如下: 設n=pk11⋅pk22…pkmm μ(

原创 【二分+最大流】BZOJ1305 [CQOI2009]dance跳舞

題面在這裏 考慮把每個人拆成自己xi 和不喜歡自己yi 如果i 喜歡j ,那麼連邊(xi,xj,1) ,否則連邊(yi,yj,1) 最多和討厭的人跳K次舞,連邊(xi,yi,k) 最後驗證(S,xi,mid) 是否滿流即可 示例程

原创 【狀壓DP】51Nod 1779 逆序對統計

題面在這裏 很水的狀壓DP…… fs 表示s這個狀態的最大逆序對數 顯然按照順序去處理M個數,用於修正後面的 轉移的權值其實就是算有幾個比當前大的 示例程序: #include<cstdio> #include<cstring>

原创 【概率DP】51Nod 1398 等公交

題面在這裏 考慮fi 表示用了i時間,用了任意輛車概率之和 然後就好了 示例程序: #include<cstdio> #include<cstring> #define cl(x,y) memset(x,y,sizeof(x))

原创 【貪心+最小割】BZOJ2521 [Shoi2010]最小生成樹

題面在這裏 考慮把圖分成含A和含B的兩個聯通塊 中間用給定的那條邊聯繫 那麼所有比他小的邊都要進行操作(一次操作等價於給一條邊權值+1) 那麼其實就是最小割了 示例程序: #include<cstdio> #include<cst

原创 【期望DP】HDU3853 LOOPS

題面在這裏 顯然直接倒推就好了 示例程序: #include<cstdio> const int maxn=1005; int n,m; double f[maxn][maxn],p[maxn][maxn][3]; int ma

原创 NOIP2017滾粗記

Day 1 一早就到了學校,和大家一起嘻嘻哈哈的但是心裏總有點發慌 …… 一進考場,就迅速敲好了板子,坐等密碼 8:30後,開始看題 三題都過了一遍後心裏很虛: T1不是一眼題,T2是個比較麻煩的模擬感覺要寫炸,T3什麼鬼啊是DA

原创 【莫比烏斯反演】51Nod 1678 lyk與gcd

題面在這裏 一開始不會做,在Lynstery大佬的點撥下秒懂了…… 首先推柿子: ∑j=1n[gcd(i,j)=1]aj⇒∑j=1naj∑d|(i,j)μ(d)⇒∑d|iμ(d)∑d|jaj 把∑d|jaj 看做是關於d的函數

原创 【容斥+莫比烏斯反演】BZOJ2301 [HAOI2011]Problem b

題面在這裏 首先容斥,把問題轉化爲求 ∑i=1n∑j=1m[gcd(i,j)=k]⇒∑i=1⌊nk⌋∑j=1⌊mk⌋[gcd(i,j)=1] 由u∗I=e ,得到: ∑i=1⌊nk⌋∑j=1⌊mk⌋∑d|(i,j)μ(d)⇒∑

原创 【莫比烏斯反演】BZOJ1101 [POI2007]Zap

題面在這裏 沒什麼好說的,反演裸題 示例程序: #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; const int