1. 程式人生 > >大白書

大白書

範圍 滿足 都是 -c sort 現在 簡單貪心 個數字 刪除

UVA 11292 (簡單貪心)

題意:

  n條惡龍,m個勇士,用勇士來殺惡龍。一個勇士只能殺一個惡龍。而且勇士只能殺直徑不超過自己能力值的惡龍。每個勇士需要支付能力值一樣的金幣。問殺掉所有惡龍需要的最少金幣。

思路:

  貪心,均從小到大排序。為每一條龍找一個恰好能殺他的騎士。簡單貪心。

UVA 11729 (經典貪心問題)

題意:

  n個任務,需要交代B分鐘,執行J分鐘,讓你合理選擇交代任務的次序,求得n個任務完成的最小總時長。

思路:

  經典貪心,通過比較倆倆的關系,得到整個序列的貪心排序方法。這個不明白可以問啊,雖然寒假講過0 0.貪心套路。需要稍微理解一下sort函數

UVA 11300 (數學題)

題意:

  n個人圍成一圈,每個人都有一些硬幣,,每個人只能給左右相鄰的人硬幣,問最少交換幾個硬幣,使每個人硬幣一樣多;

思路:

  大白書上的例題我就不寫題解了吧,不懂群裏問,我給你po照片。

UVA 10881 (思維題)

題意:

  有很多只螞蟻在一條直線上,每個螞蟻移動速度都是1,並且有一個初始方向。並且當相鄰兩個螞蟻相撞時轉向。現在問t時間後各個螞蟻的位置,及狀態。

思路:

  需要理解:因為兩只螞蟻碰撞以後一起回頭,所以結束以後和發生以前的螞蟻之間的相對順序是不變的。

UVA 11464(經典翻轉問題)

題意:
給你一個 n * n 的 01 矩陣,現在你的任務是將這個矩陣中盡量少的 0 轉化為 1 ,使得每個數的上下左右四個相鄰的數加起來是偶數。求最少的轉化個數。n <= 15.

思路:

  經典的翻轉問題。枚舉第一行的狀態,2^15。遞推即可。

UVA 11384 (思維/分治思想+遞歸)

題意:
用最少的操作數使得所有數字都變成0。操作:選擇所有或者幾個整數同時減去一個正整數。1<=N<=1000000000。

思路:
就是看一下...你能/2幾次唄,因為每次規模為n的問題可看做是兩個n/2規模的問題做一次相同操作。遞歸即可。

UVA 10795 (思維+遞歸)

題意:

  漢諾塔問題。有n個盤子,放在3個盤子上,給你一個初始狀態和一個結束狀態,問你從初始狀態轉移到結束狀態的最小步數。

思路:

UVA 11520 (搜索+貪心)

題意:
給你一個n*n的格子,有些裏面有大寫字母,用大寫字母填滿格子,相鄰的格子中字母不相同,並且使得從上到下,從左到右的字母字典序最小。n<=15。
思路:
先肯定一定有解,然後貪心著暴力枚舉,就可以了。

UVA 11636 (水貪心?)

題意:

  經過復制/粘貼可以變成原來的兩倍,求最小復制/粘貼次數。

UVA 11039(貪心)

題意:

  n個絕對值各不相同的非0整數,選出盡量多的數,排成一個序列,使得正負號交替且絕對值遞增。

思路:

  按絕對值排序,然後間次輸出正負數即可。

UVA 10970(思維)

題意:

  給你一塊M*N的巧克力,問把它切成最小單元需要最少切幾刀,分開的就不能一起切了。

思路:

  每次下刀,只能多增加一塊,一共需要切成m*n塊,所以顯然答案。

UVA 10340(經典問題)

題意:

  從字符串s中刪除一些字符,能否得到字符串t。

UVA 10382 (經典貪心問題)

題意:

思路:

  灑水器灑水區域是圓形,草地是矩形,勾股定理求出灑水器所撒橫向範圍然後貪心就好了。也就是把圓這種二維的模型,降到線段上,成為一維的模型。當我們一開始選擇了一個右端點最靠右的,左端點能滿足左邊界的灑水器的時候,我們會得到右端點R。那麽接下來就是在灑水器中找,左端點<=R的,最遠的右邊界,然後選定這個灑水器。同理貪心貪下去就行了。

UVA 10905 (經典貪心問題)

題意:

  給你n個數字,讓你用這n個數組組成一個最大的數字並輸出來。

思路:

  兩兩比較排序。經典貪心方式。

UVA 11627 ()

UVA 11134 (經典上下界貪心)

題意:

  在一個n*n(1<=n<=5000)的棋盤上放置n個車,每個車都只能在給定的一個矩形裏放置,使其n個車兩兩不在同一行和同一列,判斷並給出解決方案。

思路:   

  首先我們思考一個簡單的問題,如果把題目裏的二維的改成一維的,你會不會做,就是有一行,讓你放,每個車可以放一個區間[li,ri],問你能不能找到一種方案,使得每個車不在同一個格子裏。   

  針對這個問題是不是,這樣貪心:枚舉每個格子,記為i,那麽是不是所有滿足左端點li <= i的裏頭,挑一個右端點盡可能小的來放在這一個格子裏面?,因為右端點越大,它後面可能可以放的格子越多,越小,可放的格子越小,所以我們這樣貪心的來放。   

  如果上一個一維的問題會做了,我們再來想,其實長和寬這兩個維度是無關的對不對,比如說我們解決了長這個方向上的擺放,那麽對於第i個棋子我們知道他放的列是第k列好了。此時它仍然能選擇它自己矩形中的任意一行,對於解決寬這一維度是沒有任何影響的,也就是兩個維度是相互獨立的。

  轉換!這個問題可以分解成x方向上的問題,和相似的y方向上的問題。然後這個問題就解決了。

UVA 11100 (water)

思路:

  大白書上題意有誤,看懂題意以後水題。

UVA 11389 (water)

思路:

  水題。

uva 10825

uva 10639

大白書