jiangly CSP2020模擬賽 部分題解

2022-05-30 16:12:12 字數 1636 閱讀 8406

t3

思路:按位分治

大概就是從高到低考慮二進位制的每一位

設\(solve(s,i)\)表示當前我們考慮在\(s\)這個集合中選,當前只需要考慮只取出第\(i\)位及以下的限制\(x\),滿足題意的方案數

那麼對限制的第\(i\)位,我們把\(s\)中第\(i\)位是\(1\)和是\(0\)的分成兩個集合\(a\)和\(b\)

接下來討論

如果限制的這一位是\(1\)的的話,我們顯然只能在\(a\)和\(b\)中各至多選擇乙個,否則異或出來必然存在這一位是\(0\)的

那麼此時我們就滿足了\(x\)第\(i\)位的限制

於是這乙個我們可以考慮對\(a\)建一棵trie,對\(b\)中的每乙個數在trie數上統計滿足\(x\)的後\(i-1\)位的方案數,這一部分總複雜度是\(o(n\log a_i)\)

如果限制的這一位是\(0\)的的話,我們從兩個集合中各拉出來乙個數異或起來顯然是\(>=x\)的,所以只需要考慮a和b內部的選擇,我們發現這變成了兩個子問題\(solve(a,i-1)\)

\(solve(b,i-1)\)的答案的積

我們發現總共分治\(\log a_i\)層,每層總個數不超過\(n\),所以這部分總複雜度也是\(o(n\log a_i)\)的

總複雜度\(o(n\log a_i)\)

t4思路:容斥

我們考慮把每個\(k\)的答案分開來計算

首先我們發現,對於操作次數為\(k\)的答案是所有最長上公升子串長度至少是\(n-k\)的排列的個數

這一點不難證明,此處略去

我們考慮用總排列數減去所有不含長度至少是\(n-k\)的上公升子串的方案數

這一部分我們可以考慮容斥,用總方案數減去欽定了乙個長度是\(n-k\)的上公升子串的方案,再加上兩個\(n-k\)的上公升子串的方案數....

但是我們注意到多個重疊的上公升子串是需要合併的

於是我們就可以把長度為\(x\)的上公升子串的所有能夠構成他的方案的容斥係數求出來,這裡我們認為不屬於任意乙個上公升子串的單個數,其長度是\(1\)

然後這裡可以dp,大概就是

\(f[1]=1\ \ \ \ \ f[n-k]=-1\)

\(f[i]=-\sum_^f[i-j]\)

得到這個以後就可以計算了

我們設\(g[i]\)表示總長度是i的所有排列方案的容斥係數總和

那麼\(g[i]=\sum_^g[i-j]f[j]\)

但是我們還要給每乙個上公升子串分配他是哪些數怎麼搞

我們發現分配方案恰為\(\frac\)其中\(a_i\)是我們欽定的每乙個上公升子串的長度

\(n!\)可以提出來,\(a_i!\)這個東西是可以揉到容斥係數裡的,即對於dp出來的\(f_i\)都乘上\(\frac\)

單次dp複雜度是\(o(n^2)\),總複雜度是\(o(n^3)\)

過不了怎麼辦?

我們把dp出來的\(f[i]\)打出來,發現乙個驚人的事情!

對於\(i=(n-k)*t\),\(f[i]\)是\(-1\)

對於\(i=(n-k)*t+1\),\(f[i]\)是\(1\)

其他的都是\(0\)

其實這一點非常好證,此處略去

於是我們的轉移只有\(n/(n-k)\)個

單次dp複雜度降至\(o(\frac)\),總複雜度降至\(o(n^2\ln n)\)

2023年低壓電工試題及答案及低壓電工模擬考試題庫

1 判斷題 自動開關屬於手動電器。2 判斷題 測量電流時應把電流錶串聯在被測電路中。3 判斷題 驗電是保證電氣作業安全的技術措施之一。4 判斷題 雷雨天氣,即使在室內也不要修理家中的電氣線路 開關 插座等。如果一定要修要把家中電源總開關拉開。5 判斷題 低壓斷路器是一種重要的控制和保護電器,斷路器都...

2023年P氣瓶充裝找答案及P氣瓶充裝模擬考試題庫

1 判斷題 槽車卸液前中後因檢查儲罐液位,防止儲罐超液位執行。2 判斷題 在加氣過程中,加氣人員應觀察加氣機顯示屏,而無需檢視正在加氣的鋼瓶。3 判斷題 新瓶或者定期檢驗合格後的氣瓶首次充裝,未經置換或者抽真空處理的不得充裝。4 判斷題 防震圈主要功能是使氣瓶免受直接衝撞。5 判斷題 在最高使用溫度...

2023年高壓電工多少分及格及高壓電工模擬試題

1 判斷題 環網櫃的高壓母線截面積,應根據本變電所負荷電流和穿越電流之和進行選擇。2 判斷題 過電壓對電氣裝置和電力系統安全執行危害極大。3 判斷題 當電壓互感器二次斷線時,備自投裝置不應動作。4 判斷題 無功功率中的 無功 的含義是 無用 5 判斷題 一般情況下,分支終端杆的單橫擔應裝在受電側。6...