国产美女主播视频一区_国产精品蜜臀在线观看_亚洲成人动漫一区_亚洲视屏在线播放

首頁(yè) > 體育

今日熱文:『題解』BZOJ3462 DZY Loves Math II

來(lái)源:博客園 時(shí)間:2023-06-25 07:18:34


(資料圖片)

前言

沒(méi)啥前言,擺了擺了。

題面長(zhǎng)這個(gè)樣子

思路

沒(méi)啥思路,擺了擺了。這題總的來(lái)說(shuō)挺難想的,思考過(guò)程比較繁瑣,我也就不辭辛勞列舉一下。

  1. 顯然,條件 \(2\) 和條件 \(3\) 很好說(shuō),放一邊。

  2. 我們?cè)O(shè)一個(gè)質(zhì)數(shù)數(shù)列 \(\{p_k\}\) ,假定這些質(zhì)數(shù)是由 \(S\) 分解坤坤數(shù)質(zhì)因數(shù)得到的,若要滿(mǎn)足條件 \(4\) (即 \(\mathbb{lcm}\{p_k\} = S\) ) ,則需要滿(mǎn)足 \(\{p_k\}\) 中的元素兩兩互不相等,否則無(wú)解。\(\\\) 證明顯然。 \(\\\) 設(shè) \(sum = \sum_{i = 1}^{k}{p_i}\) ,我們討論另一種無(wú)解的情況。當(dāng) \(n < sum\) 時(shí)無(wú)解。\(\\\) 證明如下:\(\\\) 因?yàn)?\(n\) 一定由 \(\{p_k\}\) 中的全部元素組成,當(dāng)然,每個(gè)元素可以有多個(gè)。若 \(n < sum\) ,則 \(n\) 一定不能由 \(\{p_k\}\) 中的全部元素組成(因?yàn)樵谶@種情況下 \(sum = \sum_{i = 1}^{k}{p_i} > n\) ,就算每個(gè)元素只選一個(gè),這些選的元素相加也會(huì)比 \(n\) 大),所以便不能滿(mǎn)足條件 \(4\) 。

  3. 下面我們只考慮有解的情況。乍一看,這個(gè)題很像多重背包。\(\\\) 你說(shuō)得對(duì),但是這題數(shù)據(jù)范圍很大,只用多重背包會(huì)炸掉。\(\\\) 所以,我們便要采取一些優(yōu)化手段。\(\\\) 設(shè) \(S = p_i \times k_i\) , 則 \(k_i\) 的含義便是除了坤坤子 \(p_i\) 外所有坤坤子的乘積。\(\\\) 設(shè) \(n = \sum_{i = 1}^{k}{p_i \times c_i}\) ,\(c_i\) 是坤坤子 \(p_i\) 出現(xiàn)的個(gè)數(shù),對(duì)于每一項(xiàng) \(p_i \times c_i\) ,我們可以寫(xiě)成 \(p_i \times (x_i \times k_i + y_i),(y_i < k_i)\) ,拆開(kāi)括號(hào)得 \(p_i \times k_i \times x_i + p_i \times y_i\) ,即 \(S \times x_i + p_i \times y_i , (p_i \times y_i < S)\) 。把每一項(xiàng)加在一起便可得 \(n = S \times \sum_{i = 1}^{k}{x_i} + \sum_{i = 1}^{k}{p_i \times y_i} , (\sum_{i = 1}^{k}{p_i \times y_i} < k \times S)\) 。簡(jiǎn)化一下(就不設(shè)了,知道什么跟什么對(duì)應(yīng)就行)可得 \(n = a \times S + b,(b < k \times S)\) 。\(\\\) 有了這個(gè)式子(別管為什么能這么得到這個(gè)式子),我們便用加號(hào)前面的跑組合數(shù),加號(hào)后面的跑多重背包就行。

  4. 組合數(shù)怎么跑?對(duì)于 \(a \times S\) ,因?yàn)?\(\{p_k\}\) 中每一個(gè)元素都是 \(S\) 的約數(shù),所以每個(gè) \(S\) 都可以用任何一個(gè) \(p_i\) 表示。因?yàn)橛?\(k\) 個(gè)坤坤數(shù),所以 \(S\) 最多能表示成 \(k\) 種形式(有的可以不用表示),一共有 \(a\) 個(gè)這樣的數(shù),所以轉(zhuǎn)化一下就是插板法求組合數(shù),(根據(jù)條件 \(3\) 可知是有序的)把 \(a\) 個(gè)數(shù)分成 \(k - 1\) 個(gè)可空的部分,答案顯然是 \(\mathrm{C}_{a + k - 1}^{k - 1}\)。

  5. 背包怎么跑?我們不知道 \(a \times S\) 和 \(b\) 中是否都存在 \(p_i\) ,所以我們用 \(2\) 的 \(sum\) ,讓 \(b = b - sum\) ,保證每一個(gè) \(p_i\) 都存在,然后我們就可以跑完全背包了。這題讓求方案數(shù),稍微改一下就行了。我們先枚舉每一個(gè)坤坤子 \(p_i\) ,先都加上,然后再把多的減去即可(這里我犯懶了Orz)。

完結(jié)撒代碼

#include #define LL long longusing namespace std;const int MOD(1e9 + 7), maxn(2000005);inline LL read() {    LL f(1), x(0);    char c = getchar();    for (; !isdigit(c); c = getchar()) if (c == "-") f = -1;    for (; isdigit(c); c = getchar()) x = (x << 1) + (x << 3) + (c & 15);    return f * x;}LL s, q, n, cnt, sum, M, ans;LL inv[maxn], prime[maxn], v[10], dp[7 * maxn];void DP() {    dp[0] = 1;    for (int i = 1; i <= cnt; ++i) {        for (int j = 0; j + v[i] <= M; ++j) {            if (dp[j]) dp[j + v[i]] = (dp[j] + dp[j + v[i]] + MOD) % MOD;        }        for (int j = M - s; j >= 0; --j) {            dp[j + s] = (dp[j + s] - dp[j] + MOD) % MOD;        }    }}bool divide(LL n) {    LL x = n;    for (int i = 2; i <= sqrt(x); ++i) {        if (!(x % i)) {            v[++cnt] = i;            sum += i;        }        while (!(x % i)) {            ++prime[i];            if (prime[i] == 2) return false;            x /= i;        }    }    if (x > 1) {        ++prime[x];        v[++cnt] = x;        sum += x;    }        return true;}LL QuickPow(LL a, LL b, LL p) {    LL res(1);    for (; b; b >>= 1) {        if (b & 1) res = res * a % p;        a = a * a % p;    }    return res % p;}int main() {    s = read(), q = read();    if (!divide(s)) {        while (q--) {            n = read();            printf("0\n");        }        return 0;    }    M = cnt * s;    DP();    inv[1] = 1;    for (int i = 2; i <= 8; ++i) {        inv[i] = inv[i - 1] % MOD * QuickPow(i, MOD - 2, MOD) % MOD;    }    while (q--) {        n = read();        if (n < sum) {            printf("0\n");            continue;        }        n -= sum;                for (int i = 0; i < cnt && i <= n / s; ++i) {            LL a = n / s - i;            LL b = n % s + i * s;            int res1(1), res2(0);            res1 = inv[cnt - 1] % MOD;            for (int j = 1; j < cnt; ++j) {                res1 = res1 * ((a + j) % MOD) % MOD;            }            res1 %= MOD;            res2 = res1 % MOD * dp[b] % MOD;            ans = (ans + res2) % MOD;        }        ans = (ans % MOD + MOD) % MOD;        printf("%lld\n", ans);        ans = 0;    }}

相關(guān)稿件

今日熱文:『題解』BZOJ3462 DZY Loves Math II

今日視點(diǎn):天通股份(600330):材料與設(shè)備共舉 研發(fā)不輟

點(diǎn)雄黃、釣粽子、猜謎、投壺…端午最后一天這里依然熱鬧非凡!

瓦格納人員撤離俄南部軍區(qū)總部所在區(qū)域 天天新要聞

國(guó)鐵集團(tuán):全國(guó)鐵路今日預(yù)計(jì)發(fā)送旅客1515萬(wàn)人次

崔永輝調(diào)研推進(jìn)城中村現(xiàn)代化治理工作

中俄戰(zhàn)略合作與烏克蘭局勢(shì):中國(guó)應(yīng)做好最壞打算_環(huán)球熱聞

每日快報(bào)!江南華南多地暴雨如注 京津冀魯?shù)鹊鼗蛟偬魬?zhàn)40℃

環(huán)球頭條:在美國(guó),掌握了這項(xiàng)技能,年入570萬(wàn)不是夢(mèng)

何雄會(huì)見(jiàn)特斯拉汽車(chē)(北京)有限公司客人 拓展合作領(lǐng)域豐富合作內(nèi)容 提供更多新產(chǎn)品新技術(shù)新服務(wù)

【天天聚看點(diǎn)】俄稱(chēng)擊退烏軍進(jìn)攻 烏稱(chēng)打擊俄導(dǎo)彈系統(tǒng)

端午假期交通部門(mén)加強(qiáng)多種出行方式聯(lián)動(dòng) 今日熱門(mén)

微軟宣布恢復(fù)Win11文件管理器功能 多項(xiàng)經(jīng)典功能回歸

從批發(fā)市場(chǎng)到高精尖產(chǎn)業(yè)園區(qū),北京低效樓宇加速“改頭換面”|當(dāng)前短訊

世界熱議:推動(dòng)整改復(fù)耕須避免“一刀切” “水稻上山”引熱議 農(nóng)業(yè)部門(mén)相關(guān)負(fù)責(zé)人回應(yīng)網(wǎng)民關(guān)切

【全球新視野】創(chuàng)維EV6 II汽車(chē)上市:CLTC續(xù)航最高620公里,15.68萬(wàn)元起

河北200萬(wàn)臺(tái)農(nóng)機(jī)收麥忙-速訊

強(qiáng)鏈延鏈贏得發(fā)展主動(dòng)權(quán)——訪(fǎng)恒力集團(tuán)董事長(zhǎng)、總裁陳建華-每日速訊

天天頭條:江西產(chǎn)業(yè)鏈創(chuàng)新鏈高效融合 組建科技創(chuàng)新聯(lián)合體

玩法“上新” “暑期檔”旅游持續(xù)升溫 環(huán)球視訊

湖北經(jīng)濟(jì)學(xué)院法商學(xué)院2023屆畢業(yè)生齊聚一堂參加畢業(yè)典禮_世界快看

天天視訊!【鄉(xiāng)村振興】年產(chǎn)值達(dá)2.4億!子洲黃芪種植面積達(dá)15萬(wàn)畝

“藍(lán)絲帶”護(hù)考 交警將為送考車(chē)輛開(kāi)辟“綠色通道”

捆綁兩年P(guān)S Plus會(huì)員,PS5主機(jī)包裝盒曝光

2023商業(yè)物業(yè)市場(chǎng)開(kāi)發(fā)現(xiàn)狀分析 商業(yè)物業(yè)行業(yè)發(fā)展空間巨大_每日動(dòng)態(tài)

【房地產(chǎn)開(kāi)發(fā)】房地產(chǎn)/行業(yè)深度:更新改造、人均居住面積改善驅(qū)動(dòng)未來(lái)住宅需求-全球簡(jiǎn)訊

2023廣州露營(yíng)房車(chē)展談下未來(lái)房車(chē)走向和期待

intel Yes!英特爾4小核處理器N100跑分達(dá)i5-7400水平_天天看熱訊

環(huán)球報(bào)道:“哪涼快哪待著” 青島威海上榜全國(guó)前十

消息稱(chēng)松下將中高端空調(diào)生產(chǎn)撤回日本,此前曾與小米達(dá)成戰(zhàn)略合作 天天亮點(diǎn)


主站蜘蛛池模板: 亚洲高清不卡一区| 狠狠色综合网站久久久久久久| 欧美日韩精品中文字幕一区二区 | 精品日本一区二区三区在线观看| 日韩有码在线观看| 91久久久久久久| 国产精品成久久久久三级| 成人精品网站在线观看| 亚洲欧洲国产精品久久| 欧美日韩第二页| 国产欧美欧洲| 91九色视频在线观看| 久久亚洲精品毛片| 精品国偷自产一区二区三区| 久久久www成人免费精品| 国产精品久久精品| 日韩中文字幕av在线| 国产精品免费观看久久| 日本中文字幕不卡免费| 国产精品高清在线| 久久久久久亚洲精品不卡| 99精彩视频在线观看免费| 久久久中文字幕| 奇米四色中文综合久久| 97欧美精品一区二区三区| 久久精品国产精品| 日韩在线视频在线观看| 国产欧美日韩高清| 国模吧无码一区二区三区| 99国产视频| 国产99视频在线观看| 久久久中精品2020中文| 亚洲在线不卡| 国产精品91一区| 欧美精品成人在线| 日韩最新av在线| 91久久久久久久久| 国内一区二区在线视频观看| 久久视频中文字幕| 日韩中文有码在线视频| 国产欧美一区二区三区久久|