原创 HDU 1402 A * B Problem Plus 高精度乘法

這個題的高精度乘法就數據來說算是比較大的有,長度有5000 * 5000 ,我也沒有用字符串去做,不知道會不會超時。我用的是一個整數存四位的方法做的,就效率上來講也是比較低的,但是還是可以AC的。也不知道還有什麼效率更高的算法。 // h

原创 usaco 4.1.2 Fence Rails 搜索剪枝

這個題是我做usaco第一個不看解題報告做不出來的題目。 題目大意:有N根木料,和需要R根木板,我們就要判斷最多可以用那些木料可以切出多少根木板。木料和木板的長度都可能是不同的。N <=50   R  <1024   還有木板的長度要小於

原创 HDU 2128 Tempter of the Bone II(BFS)有數據

這個題是比較難的寬搜題,之所以難是因爲他比以前的這個類似題目多了一個炸彈,增加了題目難度。不過杭電的數據好像不強,也就讓很多人可以過了。 剛開始的時候我也只有考慮到時間和炸彈數這兩個因素。後來我發現有一個因素我們同樣需要考慮就是炸彈炸的地

原创 2010杭州賽區網絡預賽 1006 Fate Stay Night (DP)

The 35th ACM/ICPC Asia Regional Hangzhou Site —— Online Contest  1006  Fate Stay Night 題目鏈接 http://acm.hdu.edu.cn/showp

原创 2010杭州賽區網絡預賽 1007 Tetris(DFS)

這個題其實沒有什麼特別的技巧,就是直接DFS就行了,至於時間嘛,按一般的DFS都不會超時。 題目鏈接  http://acm.hdu.edu.cn/showproblem.php?pid=3647 這裏還可以提交 這個題只要細心就沒有多大

原创 hdu 1574 RP問題 DP

  問題描述:有N件連續的事件,有些事件是RP值增加a,獲益值減少c。有些則相反。每件事件還有一個RP門檻b,RP值增加的事件RP得>=RP門檻,RP值減少的事件則得RP<=RP門檻。滿足上述條件不一定就會發生。其中N<= 1000 ,a

原创 hdu 3749

此題解題報告在http://mnlm.comyr.com/?p=5

原创 hdoj(hdu)-2813-KM+Trie

這個題做得我很鬱悶,自己的KM模板照理說應該是沒有問題,時間複雜度也是N^3,而N<201;一直超時,我在網上找代碼也和我的代碼差不多,我就相當的不理解爲什麼他們就可以過,而我的就是超時呢.後來我只得拿別人的代碼一個一個地方改成我的代碼的

原创 poj-1390-Blocks(方塊消除)-DP

這個題是算法藝術那本書裏面的一個例題。雖然看了那裏的分析知道了狀態方程,但是那裏有時間複雜度是O(N^4).這樣肯定是要優化的。我也是根據書裏的提示來優化的,弄了差不多6個多小時才搞定,而且時間效率也很低,自己的算法能力真的是有待提高。

原创 hdoj(hdu)-1561-the more the better

這個是我的第一道樹型DP的題 解題思路: 首先添加一個0節點這樣可以簡化. 根據子節點用多重揹包算出根節點 代碼: /* ID: mnlm1991 PROG: hdoj 1561 the more the better LANG: C++

原创 64位整數全解(增補板)

64位整形引起的混亂主要在兩方面,一是數據類型的聲明,二是輸入輸出。 首先是如果我們在自己機器上寫程序的話,情況分類如下: (1) 在win下的VC6.0裏面,聲明數據類型的時候應該寫作 __int64

原创 usaco-4.4.1-shuttle

這道題做起來挺杯具的,剛開始用BFS,爆內存了,我是用set判重.上網看了一下大部分都是用構造法,我哪知道怎麼構造啊,不過還好也有人用BFS,我看了一下他們的好像是用貪心+BFS,就是B只能向右走,而W只能向左走.其實也不怎麼理解爲什麼一

原创 高精度類-有 + - * / < 還有 開方 等運算

#include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; const int MOD = 10000; co

原创 hdoj-3000-字符串處理

這個題沒有什麼好說的,只要細心就好了. /* ID: mnlm1991 PROG: hdoj 3000 LANG: C++ */ #include<cstdio> #include<cstdlib> #include<cmath> #i

原创 usaco-4.3.4-lgame

這個題以前看到了都不敢做,就停了幾個月做usaco,重新做的時候發現這個題好像並不難. 我是把每個單詞都排序,然後用字典樹存起來,然後對輸入的單詞同樣對其排序,這樣就會比較容易找到只有一個單詞構成的最優解.在這個過程中同時找出可能用於二個