原创 毛毛蟲算法——尺取法

有這麼一類問題,需要在給的一組數據中找到不大於某一個上限的“最優連續子序列” 於是就有了這樣一種方法,找這個子序列的過程很像毛毛蟲爬行方式,我管它叫毛毛蟲算法,比較流行的叫法是“尺取法”。   喏,就像圖裏的妹紙一樣~   還是舉個栗子:

原创 poj3617 貪心

題意:對給的字符串只能進行兩種操作(從頭或尾拿走一個字符),使得目標字符串字典序儘可能小 題意明白了思路就清晰了,字典序儘可能小,就把頭和尾進行比較,如果相同就比較打頭第二個和倒數第二個的大小,直到出現較小的那個再將其(首++或尾

原创 poj2376區間貪心

題意 題意:給出n段區間和區間長度T(從1開始),以下n行爲每段區間的首位地址,求最少需要幾段將所有區間覆蓋,如果不能全覆蓋就輸出-1. 思路 這道題要先注意能不能完全覆蓋,如果n段區間打頭的沒有1,那就

原创 玩轉vim系列——命令&操作篇

配置的過程我想單獨寫,這裏我就介紹vi的一些常用(至少我覺得常用)命令和使用方法。 vim三種模式: Vim打開文件直接cd到文件目錄然後 Vim 文件名 如果當前目錄沒有文件,vim會自動創建這個文件。 打開後並不能直接編輯,vim有

原创 Linux 使用雜記(長期更新)

alias 給命令重命名,非常方便,相當於#define 例: alias wj=’nautilus’ //’=’前面是重命名,後面引號裏的是原命令 就是把GUI文件管理器重命名爲拼音縮寫wj ,方便了許多,但是alias這個命令只能在這

原创 poj 1862 還是哈夫曼思想貪心

題意:科學家發現一種奇怪的玩意,他們有重量Wi,             如果他們碰在一起,總重變成2*sqrt(t1*t2)。         

原创 HDU 1003 MAX SUM 貪心

原來就寫過的經典貪心,本來今天想用尺蠖法再寫的,後來發現好像寫不出來。。。 其實也不太算貪心,就是從頭掃到尾,找當前的子序列的大小關係: 初始化sum和ans都爲負無窮,然後從頭開始掃,僞代碼如下: sum < 0:

原创 算法競賽入門經典訓練指南——例18 max(a[i]-a[j])且(i

題意:如標題所示,給一個數組讓你輸出a[i]-a[j]的最大值, 其中i < j表示a[i]在a[j]前面。 思路:常規解法就是通過兩層for循環找每一次a[i]和i後面的a[j]之間的差值,最後輸出即可。但是數據量在1萬以上

原创 poj3253 哈夫曼貪心

題意:把木板切成長度如第二行(及以後)的n塊(第一行爲n)木板,且切斷木板耗費的能量爲當前木板本身的長度,想辦法求出 所需最少能量並輸出。 注意:輸出結果要用long long 來存,int存不下 思路:先找問題切入點

原创 poj3069貪心、思想、技巧

題意:設置哨兵位置,給一堆點,每個哨兵可以覆蓋m米的地方(向前或向後),問如果把所有的點都覆蓋到需要最少多少個哨兵點。 給一組數據,第一行兩個數哨兵範圍m和點的數量n

原创 poj1328 區間貪心 雷達覆蓋島嶼

題目地址傳送門:http://poj.org/problem?id=1328 題意: 給若干的島嶼座標和雷達覆蓋半徑,讓你在海岸線(X軸)上建立雷達站以覆蓋所有島嶼,求出最少需要多少個雷達,如果不能覆蓋全部就輸出-1 思路: 典型的區間貪

原创 poj1017 貪心 思維 好題

題意:運輸公司有6種規格的物品各若干件:1*1 , 2*2,3*3 ,4*4,5*5,6*6的,這六種物品都要放在6*6的箱子裏運輸,讓你求出最少用多少個箱子。 解題思路:有兩種方法來做,第一種特別繁瑣,也是最直接的解決方式,

原创 DP入門50題(2)——NYoj252 01串

題意: 知道某一01串的長度,但他想知道不含有“11”子串的這種長度的01串共有多少個,他希望你能幫幫他。 注:01串的長度爲2時,有3種:00,01,10。 思路: 從長度爲2開始考慮,有00,01,10三

原创 DP入門50題(3)——poj2229 sumsets

題意:求n的以2的次冪之和的形式組成的方法有多少種 思路: 類似遞推關係,還要考慮n的奇偶性: 首先: dp[1] = 1; dp[2] = 2; 然後開始考慮從3開始: 當n是奇數的時候,dp[i] = dp[i-1

原创 poj2287 田忌賽馬

題意:田忌和齊王各有n匹馬,想辦法儘可能讓田忌贏更多的錢,贏一場200,輸一場-200,平不扣。 貪心思想:先拿田忌最好的馬跟齊王最好的馬比: 如果快則贏下,如果慢則用最慢的馬跟齊王最快的馬比