能力強化!!! NOI爆零賽

2021-09-02 23:33:53 字數 1435 閱讀 4005

資料範圍 n,m,k<=100

首先我們得知道有乙個東西叫min-max容斥

然後我們可以知道只有乙個能力時

f[i]表示對於乙個能力強化i次後,不強化到滿級的方案數

那麼dp[i][j]表示對於i個能力,總共強化j次,沒有任何乙個能力強化到滿級的方案數

那麼dp[i][j]每次用f來轉移一下,相當於做個揹包,乘上組合數就是新的方案數

然後我們把dp[i][0]-dp[i][i*(k-1)]全部加起來,沒有乙個強化到滿級的方案數,就等於強化次數大於i次的方案數

所以我們累加起來就是只有乙個滿級的方案數,再除以總的方案數,就是當前子集期望了

我們要求的是全部滿級的期望步數,那麼就是min-max容斥一下就可以了

複雜度大概是o(n^4)

#include #include using namespace std ; 

#define ll long long

int mod = 998244353 ;

int fp ( int x , int k )

return yl ;

} int a[105] , f[105][205] , n , m , k ;

int p[105] , g[10005] ;

int md ( int x )

int jc[100005] , vjc[100005] ;

void init ( )

int group ( int big , int small )

int ans = 0 ;

int main ( ) }

printf ( "%d\n" , ans ) ; }/*

1 2 1

11 3 2

12 2 3

1 2

3 5 5

1 2 4

*/

程式設計能力強化(4) 模擬SQL語句解析

這是2010年軟體大賽的樣題,用到的知識點比較多,也比較實用。題目 資料庫中有 表 的概念。表 由若干 行 組成,每 行 由許多 列 組成。一般的資料庫都提供了對 sql的支援。我們可以模擬乙個最簡單版的 sql,只能實現簡單的排序,簡單的選擇條件,列的顯示順序等功能。具體如下 1 輸入help,會...

所謂溝通能力強 智商水平中游

假設人群主體的智商正太分布在83到89這個區間,每個人可以和相同智商的人平等的交流,和低一級智商的人交流需要適當的遷就,當智商差距大於3時將無法遷就,導致交流無法進行。那麼各類智商可以交流範圍大致分布如下 智商83的人可以交流的範圍是83到86,智商84的人可以交流的範圍是83到87,智商85的人可...

工作能力強的人有哪些共同特徵?

越是工作能力強的人,越是能夠從全域性出發,了解公司 部門最終的核心目的是什麼?為了這個目的我們要做什麼?細化任務 如何才算是做好?至少要達到什麼水平?制定任務目標 從全域性出發 從根本目的出發,細化工作目標,制定工作任務,有目標有方向地使勁幹,而不是抓起來就像 無頭蒼蠅 一般蠻幹。每乙個目標下,都會...