1. 程式人生 > >2018年8月6日暑假訓練日記

2018年8月6日暑假訓練日記

上午:

HDU 5372 Segment Game(線段樹)

覆蓋區間數=左端點大於L-右端點大於R

由於區間比較大,所以進行離散化處理

然後樹狀陣列維護一下就可以了

The shortest problem(hdu5373+11的倍數)

結論題:能被11整除的數字,奇數和偶數位之和的差可以被11整除。

HDU 5381 The sum of gcd(莫隊+rmq+二分):

由於n比較小先用rmq+二分預處理一下gcd變換的位置

然後莫隊處理區間移動就行了

HDU 5377 Root(擴充套件歐幾里得 + 生成元)

小範圍暴力+大範圍bsgs裸題,因為比較大的質因子只可以有一個

HDU 5386 Cover

逆向思維,在已知結果的前提下看看這個操做是否合法,合法則記錄路徑並更新對應行或者列為任意顏色即可

HDU 5387 Clock

模擬指標的移動就行了,為了防止除不盡,全部擴大120倍在進行處理

下午:

一看1005計算幾何題目有好多人過,找了個假模板搞了兩小時,後來發現就是一個公式,肝到懷疑人生。之後線段樹維護最大值和lazy標記,最後tle,結果賽後改成維護最小值就過了......分析一下應該和資料的隨機性有關係,實際更新次數並不多