\([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...