原创 HDU - 5037 Frog 貪心(思維好題)

傳送門:HDU 5037 題意:有一條小河長爲M的小河,小河裏存在N個石頭,有一個每次能跳L米的小青蛙,隨意添加石頭保證青蛙能從頭跳到尾的前提下,問青蛙使用最優策略跳到對岸最多需要多少次。 思路:我們要使青蛙跳的次數最多,那麼必然要每L

原创 HDU - 4777 Rabbit Kingdom 預處理 + 樹狀數組(區間更新點查詢)

傳送門:HDU4777 題意:給出一個長度爲n的序列和m個詢問,每次詢問求[l, r]區間內和區間內其他數都互質的數有多少個。 思路:對於每個位置的數先向左向右預處理出最長互質區間L[i], R[i],然後將所有詢問記錄下來按左端點排序,

原创 CodeForces - 540E Infinite Inversions 離散化 + 樹狀數組

題意:有一個1,2,3,4...無限序列,進行m次操作,每次交換i,j位置上的數,問操作完以後有多少對逆序數。 思路:來自:點擊打開鏈接 思維點在於將沒有操作過的連續序列也離散成一個點,權值爲序列中數的個數,這樣就可以無腦進行交換操作,然

原创 HDU - 5556 Land of Farms 枚舉 + 無向二分圖最大獨立集

題意:有一個農場大小爲n*m  裏面有一些古老的農田,你現在需要新建一些農田,要求新建的農田之間不能相連,古老的農田不可拆分,如果你選擇了一塊土地(原爲古老的農田)建立新農田則該新農田需要把一整塊連通的古老的農田全部包含。問最多能新建多少

原创 Gym-100851F Froggy Ford 最短路變形 dijkstra || spfa

題意:有條寬爲w的河流,兩岸分別在x = 0, x = w處,河中間有n個石頭。在河的左岸有一隻青蛙想通過石頭跳到對岸去。現在可以在河中間某個位置多加一塊石頭,使得青蛙在單步跳躍中的最大值最小,問應在哪裏加。 思路:將左岸抽象成原點,右岸

原创 Codeforces 873D. Merge Sort 分治 + 構造

傳送門:Codeforces 873D 題意:給出一種特殊的歸併排序,分治的方法同普通的歸併排序一樣,只是如果當前待排序的區間已經是有序的,就不會再繼續遞歸了,讓你構造一個會調用k次mergesort函數的序列。 思路:因爲我們上來就會調

原创 HDU - 6191 Query on A Tree 可持久化字典樹(01Trie) || 字典樹啓發式合併

題意:給出一個含有n個節點的樹,每個點有一個權值,現有q次詢問,每次詢問給出u,x,問以u爲根的子樹中的點權值和x異或最大是多少。 思路1:在線做法,用dfs序將對子樹的詢問化成對一個連續的序列的詢問,然後對dfs序建立可持久化字典樹,每

原创 2015-2016 Northwestern European Regional Contest (NWERC 2015) 補題

C.Cleaning Pipes 題意:給出n條管道(線段),任意兩個管道之間之多有一個交點,忽略一個管道頭部和其他管道的交點,問能否選出一個不相交的管道集合來使得所有交點都被這些管道覆蓋。 思路:將管道抽象成點,兩個管道的交點抽象成邊,

原创 HDU - 5009 Paint Pearls dp + 鏈表 + 下界優化

傳送門:HDU 5009 題意:給出n個連續的珠子,珠子有不同的顏色,現將其劃分成任意多段,每一段的代價爲該段中顏色種數的平方,問劃分的最小總代價和是多少。 總思路:dp[i]代表處理到第i個珠子的最小花費,顯然dp[i] = min(d

原创 HDU - 5036 Explosion floyd(bitset優化) + 概率期望

題意:給出n個房間。每個房間上都有鎖。每個房間內有一定數量的能開其他房間的鑰匙,若當前手裏的鑰匙不能再打開新的房間,我們可以選擇用炸彈炸開一個新的房間,給出每個房間中鑰匙的數目和具體能開那個房間,求要打開所有房間,需要使用的炸彈數目。 思

原创 linux 環境下GDB調試器基本用法

轉載自:http://blog.csdn.net/yeyuangen/article/details/6825542 侵刪。 本文寫給主要工作在Windows操作系統下而又需要開發一些跨平臺軟件的程序員朋友,以及程序愛好者。 GD

原创 HDU - 5573 Binary Tree 構造

題意:給出一顆二叉樹,根節點爲1,子節點爲父節點的2倍和2倍+1,從根節點開始依次向下走k層,問如何走能使得將路徑上的數進行加減最終結果得到n。 思路:來自:點擊打開鏈接 做題一定要注意數據範圍!  n <= 2^k啊! 是真的沒想到利用

原创 HDU 5008 Boring String Problem 二分 + 後綴數組

傳送門:HDU 5008 題意:給出一個字符串和q次詢問,每次問字典序第k小的子串是哪個,若有多個字典序相同的第k小字符串,輸出起始點最小的那個。 思路:後綴數組經典應用之一有求一個字符串的不同子串個數,由於後綴數組的後綴都是按字典序排好

原创 HDU - 4850 Wow! Such String! 構造(字符串上的歐拉回路)

題意:構造一個長度爲N的小寫字母字符串,要求所有長度大於等於4的子串只能出現一次。不能構造輸出“Impossible”。 思路:詳見:點擊打開鏈接 類似的字符串構造題應該也能抽象出類似的模型。 另一種寫法:點擊打開鏈接 代碼: #inc

原创 Codeforces 869 E. The Untended Antiquity 二維樹狀數組

傳送門:Codeforces 869E 題意:在一個n×m的方格板上,操作1將一個矩形區域的邊界上加上一圈障礙,操作2將一個矩形區域的邊界上的障礙移除,操作3詢問兩點是否能不越過障礙互相到達。題目保證任意兩圈矩形障礙不會相交。 思路:很容