原创 CodeForces - 1368D AND, OR and square sum(位運算+貪心)

題目鏈接:點擊查看 題目大意:給出 n 個數組成的序列 a ,現在可以進行的操作是,任選兩個下標 i 和 j ,滿足 i != j ,使得: 設 x = a[ i ] , y = a[ j ] a[ i ] = x and y a[ j

原创 ICPC Pacific Northwest Regional Contest 2016 - Paint(線段樹+dp)

You are painting a fence with n sections, numbered from 1 to n. There are k artists, each willingto paint their design

原创 山東理工大學第十二屆ACM程序設計競賽 - Cut the tree(樹上啓發式合併+線段樹)

題目鏈接:點擊查看 題目大意:給一個具有 N 個節點的有根樹,以 1 號節點爲根,節點編號從 1 開始,點有點權。樹的第 H 層權值爲深度爲 H 的所有點的點權之和。樹的總權值爲所有層權值的最大值。問分別割掉以 1,2,..,N 爲根的子

原创 CodeForces - 1370D Odd-Even Subsequence(二分+思維)

題目鏈接:點擊查看 題目大意:給出一個數組 a ,現在要求選出一個長度恰好爲 k 的子序列 s ,使得的值最小 題目分析:當知道了 k 的大小之後,就可以計算出子序列奇數位置和偶數位置各有多少個數了,我們記爲 k1 和 k2 ,因爲我們要

原创 CodeForces - 1368E Ski Accidents(拓撲排序)

題目鏈接:點擊查看 題目大意:給出一張 n 個點和 m 條邊組成的有向無環圖,規定:每個點的出度一定小於等於 2 ,現在要求刪除掉至多  個點,使得任意一條路徑的長度都不大於 1 題目分析:主要是這個出度小於等於 2 和 4/7 有點難搞

原创 ICPC Pacific Northwest Regional Contest 2016 - Illumination(2-SAT)

You inherited a haunted house. Its floor plan is an n-by-n square grid with l lamps in fixedlocations and no interior w

原创 CodeForces - 1370F2 The Hidden Pair (Hard Version)(交互題+二分)

題目鏈接:點擊查看 題目大意:給出一棵無向無根樹,事先確定好了兩個點 s 和 t ,現在需要通過詢問找到這兩個點 每次詢問可以給出一個點集,系統會返回點集中距離點 s 和點 t 距離之和最小的那個點以及其距離,如果有多個符合條件的點,會返

原创 HDU - 5790 Prefix(主席樹+字典樹)

題目鏈接:點擊查看 題目大意:給出 n 個字符串,再給出 m 次詢問,每次詢問需要輸出區間 [ l , r ] 內的所有字符串有多少個不同的前綴,要求算法強制在線 題目分析:統計字符串的前綴,不難想到藉助字典樹實現,再將問題簡化爲在線求區

原创 ICPC Pacific Northwest Regional Contest 2016 - Buggy Robot(bfs+dp)

You are trying to program a robot to navigate through a 2-dimensional maze and find the exit.  The maze can be represen

原创 ICPC Pacific Northwest Regional Contest 2016 - Tournament Wins(組合數學求期望)

You are one of 2^k competitors invited to enter a single elimination tournament. You are rankedrth in the published ran

原创 洛谷 - P2057 [SHOI2007]善意的投票 / [JLOI2010]冠軍調查(最大流最小割)

題目鏈接:點擊查看 題目大意:有 n 個人,每個人都有兩種意見,且有許多朋友,需要讓朋友之間的意見儘可能統一,問最少有多少衝突 題目分析:因爲每個人有兩種意見,所以分別將其與源點和匯點相連,因爲最後可以通過連邊從源點到達的點都是位於源點所

原创 CodeForces - 1370E Binary Subsequence Rotation(思維)

題目鏈接:點擊查看 題目大意:給出一個只由 0 或 1 組成的字符串 s ,和一個字符串 t ,問 s 至少需要操作多少次,才能變爲 t,每次操作是:可以選擇字符串 s 中的一個子序列,使得他們全部向右移動一個單位,如:,選擇的子序列爲位

原创 HDU - 6602 Longest Subarray(線段樹+思維)

題目鏈接:點擊查看 題目大意:給出一個長度爲 n 的序列,每個數字的範圍是 [ 1 , C ] ,現在需要求一個子串,使得字串中的字母,要麼出現 0 次,要麼出現至少 K 次,問這個子串的最大長度是多少 題目分析:第一反應是二分+尺取,但

原创 HDU - 4866 Shooting(主席樹+掃描線)

題目鏈接:點擊查看 題目大意:給出 n 條平行於 x 軸的線段,每條線段都的 [ l , r ] 都位於 [ 1 , X ] 之間,每條線段的高度爲 d,也就是距離 x 軸的位置,接下來給出 m 次詢問,每次詢問給出一個 x 和 k ,問

原创 山東理工大學第十二屆ACM程序設計競賽 - 猜數字(區間dp)

題目鏈接:點擊查看 題目大意:給出一個範圍 n ,在其中有一個數字 x ∈ [ 1 , n ] ,你需要猜這個數字,如果猜錯了,代價就是猜的這個數字的權值,並會得知是猜大了還是猜小了,問猜到任意一個數字最大的代價之和最小是多少 題目分析: