b844: 一堆按鈕

b844: 一堆按鈕


題 目 :
給 你 一 堆 按 鈕 ( 編 號 從 1 開 始 )  , 每 個 按 鈕 旁 邊 的 數 字 都 顯 示 為 0 , 按 下 第 K 個 按 鈕 可 以 把 第 K 個 以 後 的 數 字 1 變 0 , 0 變 1 ( 包 括 第 K 個 ) , 讓 你 按 下 按  鈕 N 次 之 後 , 有 Q 個 詢 問 , 問 第 P 個 數 字 為 0 還 1 ? 

N ≤ 500000,K ≤ 2147483647,Q ≤ 200000

solve:
一 般 暴 力 解 肯 定 不 會 過。暴 力 的 問 題 在 於 每 次 都 要 重 新 算 出 詢 問 的 燈 泡 狀 態,如 果 可 以 解 決 這 個 問 題,就 可 以 過 了。
觀 察 了 一 下 發 現 按 按 鈕 的 順 序 其 實 沒 差,既 然 如 此,就 把 按 鈕 重 新 排 序,接下 來 讀 入 詢 問,對 每 個 詢 問 都 在 按 鈕 陣 列 裡 二 分 搜 ,算 出 前 面 已 經 按 了 幾 顆 按 鈕,輸 出 答 案。

code:

留言

熱門文章