2016寒假训练3
題目鏈接
A CodeForces 362A Two Semiknights Meet
題意:在一個棋盤中有兩個定義了特殊走法的棋子,同時移動他們,問是否會相遇(只能在合法的位置)。
做法:直接暴力dfs處理出這兩個棋子到達各個位置的時間,如果到達同一個格子的時間差%2==0,就可以相遇。
B CodeForces 362B Petya and Staircases
題意:跳臺階,有的位置是壞的,問是否可以跳到頂層
正解就是直接模擬
C CodeForces 362C Insertion Sort
題意:給定n個數0~n-1的數列,求逆序對以及交換該數列中任意兩個數之后最小的逆序對數
做法:dp預處理之后,枚舉修改的兩個數。也可以用樹狀數組。
D CodeForces 362D Fools and Foolproof Roads
題意:給定一個n個點m條邊的無向圖,要求在圖里面增加p條邊(邊權按照題目給的條件),并且這張圖的連通分量數為q。
做法:貪心。每次取出連通塊中最小的兩塊進行合并。
E CodeForces 362E Petya and Pipes
費用流模版題
F CodeForces 365A Good Number
題意:題意坑爹。能過樣例基本就沒問題了。給定n和k,問接下去的n個數中有哪些數字是由0~k組成的(0~k都必須出現)。
做法:直接做。。
G CodeForces 365B The Fibonacci Segment
題意:找出最長的符合斐波那契的長度。
做法:預處理之后直接做。但是要注意n=1,n=2,以及連續0的情況。
H CodeForces 365C Matrix
題意:給定a和s,構造一個矩陣bij?=?si·sj,問有多少個子矩陣的和為a。
做法:先預處理出前綴和數組sum[i],然后構造times數組,times[i]表示和為i的前綴和段的出現次數。然后枚舉。a=0的情況需要特殊討論。
I CodeForces 365D Free Market
題意:每天可以去市場上進行一次物品交換,要求交換的物品當前沒有,并且價值差不小于d。求可以獲得的最大價值以及天數。
做法:dp預處理出可以取到的所有價值。然后從0開始取物品,直到某一天不能進行交換為止。
題目+簡要題解+代碼
轉載于:https://www.cnblogs.com/Coolaaa/p/5221184.html
總結
- 上一篇: 黄鹤楼一包多少钱啊?
- 下一篇: 同人不同命下一句是什么呢?