HNOI AHOI2018 尋寶遊戲

2022-05-07 20:15:13 字數 766 閱讀 2123

\([hnoi/ahoi2018]\)尋寶遊戲

思維好題。

將每一位領出來,組成\(m\)個長度為\(n\)的二進位制數。

考慮將操作轉化為\(01\)序列,\((\lor\to0,\land\to1)\)。

觀察之後發現要使得第\(j\)位運算結果是\(1\)則最後乙個\(\lor1\)操作的位置一定要在\(\land0\)後面。

轉化一下就是就要求\(x\gt\)操作串。

反之,第\(j\)為\(0\)的情況同理可知最後乙個\(\land0\)操作的位置一定要在\(\lor1\)後面。

轉化一下就是就要求\(x\leq\)操作串。

將領出來的二進位制數排個序,找到操作上下界,相減即可。

有一些細節要注意,比如二進位制串的最高位來自原串的第\(1\)個還是第\(n\)個。

#includeusing namespace std;

#define int long long

inline int read()

while(x!=eof&&x>='0'&&x<='9')

return w*f;

}const int p=1e9+7;

const int n=5e3+10;

string s[n];

int n,m,m[n],rnk[n],q,sum[n];

struct number

printf("%lld\n",(sum[e]-sum[b]+p)%p);

}}

題解 HNOI AHOI2018 毒瘤

題目傳送門 給出乙個 n 個點 m 條邊的無向圖,問有多少個點集滿足點集中任意兩點均不存在邊相連。n le 10 5,m n le 10 答案對 998244353 取模。妙啊!首先我們從樹的形態開始考慮,你發現答案其實就是獨立集的個數,具體來說我們可以設 f 表示 u 點選或不選的方案數,可以得到...

洛谷 HNOI AHOI2018 道路

初見安 這裡是傳送門 洛谷p4438 道路 題目乍一看很複雜,其實挺簡單的 就是一棵有根的滿二叉樹,要從每個葉子節點出發到根節點,每條路有個性質,公路or鐵路,現在要選n 1條道路翻新,滿足題目所述的條件。看n的範圍明顯是不能暴力列舉的。但是我們可以抓住一點 樹的深度不超過40。也就是說每個節點到根...

HNOI AHOI2018 轉盤 題解

題目鏈結 好難的題。首先,有等待操作不太好弄。可以發現 在總時間一定的情況下,到每個點越晚越好。所以,可以把所有等待都移到起點處,解不會變差。由於是環,破環為鏈處理。如果在 s 時間在 i 1 i n 出發,那麼到 j i j的時間為 s j i 根據要求,得 s j i t j 即 s max t...