原创 【HDU1950】Bridging signals (最長上升子序列DP(nlogn))

這裏是題目 Bridging signals Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total

原创 【LIS最長上升子序列】O(n^2)與O(nlogn)算法(HDU1257)

LIS(最長上升子序列) 子序列:不連續元素 如:4 2 3 1 5; 2 3 5就是LIS 有兩種方法求,時間複雜度分別爲O(n^2)與O(n log n),空間複雜度均爲O(n)。但是 第一種可以同時求出LIS本身,而第二

原创 【HDU 1087】Super Jumping! Jumping! Jumping!(最大上升子序列和,動態規劃)

這裏是題目 Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java

原创 【vector】用法

原文— 是一個能夠存放任意類型的動態數組。 簡單的用法: vectortest;//建立一個vector test.push_back(1); test.push_back(2);//把1和2壓入vector這樣test[

原创 【HDU1069】 Monkey and Banana(動態規劃)

這裏是題目 Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total

原创 【南陽OJ108】士兵殺敵(一)(線段樹)

士兵殺敵一 士兵殺敵(一) 時間限制:1000 ms | 內存限制:65535 KB 難度:3 描述 南將軍手下有N個士兵,分別編號1到N,這些士兵的殺敵數都是已知的。 小工是南將軍手下的軍師,南將軍現在想知道第m號到

原创 【HDU1257】最少攔截系統(動態規劃)

這裏是題目 最少攔截系統 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(

原创 【lower_bound】【upper_bound】二分查找

頭文件: #include<algorithm> using namespace std; //一般加上這個 lower_bound:查找序列中的第一個出現的值大於等於val的位置(地址) upper_bound:返回

原创 【快速冪】【快速冪取模】

原文:http://www.cnblogs.com/CXCXCXC/p/4641812.html 快速冪這個東西比較好理解,但實現起來到不老好辦,記了幾次老是忘,今天把它系統的總結一下防止忘記。   首先,快速冪的目的就是做到快速

原创 【HDU1029】B - Ignatius and the Princess IV (動態規劃)

這裏是題目 Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32767 K (Java/Oth

原创 【拓撲排序】基礎

對一個有向無環圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若< u,v> ∈E(G),則u在線性序列中出現在v之前。通常,這樣的線性序列

原创 【POJ2533】Longest Ordered Subsequence (動態規劃&最長上升子序列)

這裏是題目 Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 54195 Ac

原创 【最短路】基礎

用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點爲中心向外層層擴展,直到擴展到終點爲止。Dijkstra算法能得出最短路徑的最優解,但由於它遍歷計算的節點很多,所以效率低。 /* n個點,m條邊,求1 - n

原创 【揹包九講】

揹包問題九講 前言 本篇文章是我(dd_engi)正在進行中的一個雄心勃勃的寫作計劃的一部分,這個計劃的內容是寫作一份較爲完善的NOIP難度的動態規劃總結,名爲《解動態規劃題的基本思考方式》。現在你看到的是這個寫作計劃最先發布

原创 【最長公共子序列】(LCS)

按順序走,如果不相等就向左或那個方向走右走,當然說向哪兒走就都向 /* LCS BDCABA ABCBDAB dp[1][2] = 1 dp[1][1] = 0 dp[2][1] = 0 //子串:連續 //子序列:可以不