YBTOJ 防具布置

2022-06-13 13:48:10 字數 604 閱讀 3162

有 \(n\) 組防具。第 \(i\) 個防具會標記在區間 \(\[s_i,e_i\]\) 中模 \(d_i\) 的值是 \(s_i\bmod d_i\) 的位置。求哪個位置被標記了奇數次。

我們可以考慮二分。那麼找一下題目中隱藏的單調性。

可以發現,我們可以用一段區間的標記總值作為 key,比如當前二分到 \([l,r]\),我們可以先判斷 \([l,mid]\) 的是否為奇數。如果是,則縮短範圍到 \([l,mid]\);若不是,說明 \([mid+1,r]\) 必有一點是奇數,則縮小範圍至 \([mid+1,r]\)。

const int n = 2e5 + 10;

int t, n;

ll a[n][3];

ll calc(ll r)

return ans;

}bool check (ll l, ll r)

int main()

if (!check(l, r))

while (l <= r)

printf ("%lld %lld\n", l, calc(l) - calc(l - 1));

} return 0;

}

貪心 Ybt 防具布置

設 k ik i ki 為從 0 i0 i 0i的防具的多少。由於題目中說到,整個防線上只可能有乙個破綻。所以輸入的防線如果有破綻,則 k 0k 0 k0 k ik i ki 全是偶數,k ik i ki 後全是奇數。二分破綻點即可。如果沒有破綻,則 k kk 全是偶數。include includ...

B 例題2 防具布置

第一眼看題目,壓根就沒去想要用二分,但看到是在二分這個章節中才去用二分去想 不說廢話了,進入正題 首先 二分因先考慮二分什麼 二分看破綻是在前面還是在後面 插播一條訊息 由於,破綻只有乙個,也就是說整個陣列中 每個位置的防具的個數的那個陣列 只有乙個為奇數,則其他的都為偶數 那就可以用字首和判斷破綻...

攻防具體實踐(1)

一 kali linux黑掉windowsxp 1.首先,在kali用命令 msfconsole 開啟metasploit。2.然後執行如下命令 useexploit windows smb ms08 067 netapi 使用ms08067漏洞攻擊程式set lhost 192.168.234.1...