2017 8 15訓練日記

2021-08-06 06:31:00 字數 1305 閱讀 9707

上午寫了乙個二分題,然後卡住了,卡在了最後乙個題上。。。。。。練習二還沒做完,練習三開了qaq

下午做的練習賽

一共a了三個題

poj2229     

poj3170     

poj2376     

poj2229

乙個遞推解的題,直接做肯定tle,先打表就ok了.

一、當n為奇數時,a[n]=a[n-1];

二、當n為偶數時有兩種情況:

1、n=n-2+1+1;

2、n=n/2*2;

所以:a[n]=a[n-2]+a[n/2];

poj3170

你的角色從2出發,到3終止,但你要拿到乙個4 給3,其中1不能走,0是可以走的路,問最短路的長度

可以兩次bfs,  一次從起點2開始,記錄每乙個點到起點的最短距離, 

第二次bfs從終點3開始,記錄每乙個點到終點的最短距離,最後遍歷4的位置,取個最小距離之和

poj2376

所有的活必須在1~t天裡完成,每頭牛可以在a[i].begain~a[i].end時間內幹活,現將活安排給牛去做,盡量安排最少的牛去完成。

就是貪心演算法

以每頭牛開始的時間為標準,從小到大為牛排序。然後,對於沒有找過的牛,選取begin小於max且end大於max的最大區間(牛),直到end>=t為止。

一下午做了三個題,其中遇到了幾個問題

第乙個就是按位運算子來判斷奇偶性

與運算,兩個數同時為1的時候才為1,你可以隨便取乙個奇數,轉成二進位制最後一位肯定是1

比如:11 轉成二進位制

1  0  1  1

& 0  0  0  1

------------------

0  0  0  1

所以,奇數與1作與運算,結果肯定是1

第二個如何在不新建結構體的情況下用queue在同一時間存兩個變數(這麼表達好像不是很清楚)

今天才問度娘搜到的  pair

pair 是 一種模版型別。每個pair 可以儲存兩個值。這兩種值無限制。也可以將自己寫的struct的物件放進去。。

pairp;

pairp;

pairp;

都可以。。。  

應用:如果乙個函式有兩個返回值 的話,如果是相同型別,就可以用陣列返回,如果是不同型別,就可以自己寫個struct ,但為了方便就可以使用 c++  自帶的pair ,返回乙個pair,其中帶有兩個值。除了返回值的應用,在乙個物件有多個屬性的時候 ,一般自己寫乙個struct ,如果就是兩個屬性的話,就可以用pair 進行操作。。。

基本上就這樣了,明天新專題差不多到線段樹那塊了,開荒去

訓練日記 20161024

初賽好像不會掛了,好開心!版權原因,不上傳題目。題意 求1 n n 1000 的排列中逆序對恰好為 k 個的排列數目。多測。題解 f i j 表示前 i 個數,逆序對個數恰好為 j的排列個數,易得轉移方程f i j i 1k 0f i 1 j k 用字首和優化可使複雜度降為o n2 題意 對於乙個長...

訓練日記 20170324

長久不更新部落格了。期間經歷了恰好被ag線踩的wc,經歷了漫長痛苦的小高考準備。現在終於可以重整旗鼓,向省選進發!幾個月來,唯一不變的是我仍然是個超級蒟蒻 版權原因,不上傳題目。題意 最小樹形圖 去年就接觸 聽說 過的演算法,一直沒有真正寫過。因為各種奇怪的細節錯誤,調了好幾個小時 比如找環時沒有判...

訓練日記 20170328

今天的題目似乎很水 好多人都提前ak離場了,於是提前一小時收題。但是我還是各種不會。思維江化?話說,聽到一句很有趣的話 山不在高,有林則徐 水不在深,有江 題意 給定一棵有n n 105 個節點的有根樹,編號互不重複。詢問有多少棵子樹內節點編號構成乙個連續區間。題解 水題,對於每個節點 i 記錄以該...