原创 ICPC Pacific Northwest Regional Contest 2016 - Barbells(狀態壓縮+枚舉子集的子集)

Your local gym has n barbells and m plates. In order to prepare a weight for lifting, you mustchoose a single barbell,

原创 CodeForces - 1368F Lamps on a Circle(交互+貪心)

題目鏈接:點擊查看 題目大意:給出一個環狀的燈泡,標號爲 1 ~ n ,初始時全部爲熄滅狀態,現在兩個人開始玩遊戲,第一個人可以選擇繼續遊戲,也可以選擇結束遊戲,繼續遊戲的話首先選擇一個正整數 k ,然後點亮 k 個熄滅的燈泡,第二個人可

原创 HDU - 4902 Nice boat(線段樹)

題目鏈接:點擊查看 題目大意:給出 n 個數字組成的數列 a ,需要進行 m 次操作,每次操作分爲以下兩種: 1 l r val:將區間 [ l , r ] 內的 a[ i ] 都賦值爲 val 2 l r val:將區間 [ l , r

原创 HDU - 6601 Keen On Everything But Triangle(主席樹)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 的數列 a ,再給出 q 次詢問,每次詢問給出一個區間 [ l , r ] ,要求從區間內選出三個數,使得構成的三角形周長最大,如果無解輸出 - 1 題目分析:如果將區間 [ l , r

原创 HDU - 5316 Magician(線段樹區間合併)

題目鏈接:點擊查看 題目大意:給出長度爲 n 的數列 a ,接下來進行 m 次操作,每次操作分爲兩種類型: 0 l r:詢問區間 [ l , r ] 內的最長子序列之和,要求相鄰兩個位置的下標奇偶性不同 1 pos val:修改 pos

原创 HDU - 6356 Glad You Came(線段樹)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 初始時全部爲 0 的數組 a ,給出一個數據生成器的 X , Y , Z,每次獲得 l , r , val 後,執行操作:對區間 [ l , r ] 內的 a[ i ] = max( va

原创 HDU - 5920 Ugly Problem(Java大數+貪心)

題目鏈接:點擊查看 題目大意:給出一個非常大的數字 n (),現在要求將其拆分爲數量不超過 50 個的迴文串之和 題目分析:貪心去分就好了,貪心策略如下,奇偶兩種情況:對於奇串 12345: 選擇前半段 123 將其減一,變爲 122 構

原创 CodeForces - 1373F Network Coverage(二分)

題目鏈接:點擊查看 題目大意:給出一個首尾相接的環,每個點的編號分別爲 1 ~ n ,其中每個點的需求量記爲 a[ i ] ,供應量記爲 b[ i ] ,每個點可以用 b[ i ] 向 a[ i ] 和 a[ i + 1 ] 提供需求,現

原创 HDU - 6315 Naive Operations(線段樹+思維)

題目鏈接:點擊查看 題目大意:給出一個數列 a 和一個數列 b ,其中數列 a 初始時全部爲 0 ,數列 b 初始時是一個 1 ~ n 的排列,接下來共有 m 次操作,每次操作分爲兩種: add l r :在區間 [ l , r ] 內的

原创 HDU - 5919 Sequence II(主席樹+思維)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 的數列 a ,再給出 m 次詢問,每次詢問給出一個區間 [ l , r ] ,問區間 [ l , r ] 內首次出現的數字的位置的中位數 題目分析:題目可能比較繞,但是涉及到區間內第 k

原创 HDU - 6406 Taotao Picks Apples(線段樹區間合併)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 的數列 a,再給出 m 次詢問,每次詢問假設如果設置 a[ pos ] = val 的話,那麼此時序列中的最長上升子序列是多少,此時的上升子序列指的是:若選取 a[ 1 ] 後,找到下一個

原创 牛客 - 騷區間(線段樹+思維)

題目鏈接:點擊查看 題目大意:給出一個 1 ~ n 的排列 a ,現在規定騷區間當且僅當 a[ l ] 是 [ l , r ] 這段區間內的次小值,同時 a[ r ] 是 [ l , r ] 這段區間內的次大值,現在問有多少個子區間(連續

原创 HDU - 5592 ZYBs Premutation(線段樹,逆序對)

題目鏈接:點擊查看 題目大意:給出 n 個數,分別表示數列 p 前綴 [ 1 , i ] 的逆序對個數,現在要求還原數列 p 題目分析:設 a[ i ] 爲前綴 [ 1 , i ] 的逆序對個數,則 a[ i ] - a[ i - 1 ]

原创 CodeForces - 1373D Maximum Sum on Even Positions(最大連續子段和)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 的數列 a ,允許選擇一個子串進行翻轉,問最後可以得到的,偶數位置的數字之和的最大值是多少 題目分析:模擬幾次不難發現,我們翻轉的長度必須是偶數纔能有貢獻,如果是奇數的話翻轉前後沒什麼區別

原创 HDU - 6610 Game(帶修莫隊)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 的序列 a,sum 爲數列 a 的前綴異或和,再給出 m 次操作,每次操作分爲兩種類型: 1 l r:詢問 sum 在區間 [ l , r ] 內有多少對不重複的數 2 pos:交換 a[