原创 Milking Grid POJ - 2185

題目傳送門 題意:這個題就是用一個最小的矩陣構成這個大的矩陣。 思路:把一個一維的最小覆蓋子串變成一個二維的就可以了,一個字符串的最小覆蓋子串是n - nex[n]。 #include <algorithm> #include <

原创 動物園 BZOJ - 3607

題目傳送門 思路:KMP還是學的不到家,一開始寫了一個超時的代碼然後不會優化了,然後看別人的代碼發現num數組可以在進行KMP預處理的時候計算出來可以節省很多時間,然後就是再重新的KMP進行計算(一開始直接用的nex數組,但是可能

原创 Simpsons’ Hidden Talents HDU - 2594

題目傳送門 題意:給你兩個字符串,求一個最長子串即是s1的前綴也是s2的後綴。 思路:一個裸的KMP,直接求就可以了。 #include <algorithm> #include <cmath> #include <cstdio>

原创 第二章作業題3-鏈表(2)

一、判斷題 1-1 在具有N個結點的單鏈表中,訪問結點和增加結點的時間複雜度分別對應爲O(1)和O(N)。 F 訪問節點的時間複雜度爲O(N) 1-2 若用鏈表來表示一個線性表,則表中元素的地址一定是連續的。F 1-3 將長度

原创 第四十二屆ACM亞洲區域賽瀋陽站總結

這個星期去了瀋陽打了ACM生涯的第一場ICPC比賽,有諸多感想,寫一篇總結來整理一下。 一、準備比賽 星期四下午就坐上了去瀋陽的火車,經過了一天的顛簸終於到了瀋陽,瀋陽的天氣相較於青島更加的寒冷,到了賓館以後收拾了一下東西開始

原创 旅行comf BZOJ - 1050

題目傳送門 思路:這個題先把所有的邊從小到大排序,然後枚舉起點,然後就可以用Kruskal來加邊,直到s和t聯通,這樣求出來最小的比值。 #include <algorithm> #include <cmath> #include <cs

原创 第一章作業3-鏈式存儲結構及其操作

一、單選題 2-1 線性表若採用鏈式存儲結構時,要求內存中可用存儲單元的地址 B A 必須是連續的 B 連續或不連續都可以 C 部分地址必須是連續的 D 一定是不連續的 2-2 線性表L在什麼情況下適用於使用鏈式結構實現? A

原创 掛飾 BZOJ - 4247

題目傳送門 思路:一個揹包問題,這個揹包問題和一般的揹包問題不同的是這個揹包的容量是可以變化的,所有我們定義DP[i][j]代表安裝i掛鉤以後還剩下j個掛鉤,然後遞推式就是dp[i][j] = max(dp[i - 1][j], dp[i

原创 第一章作業2-算法時間複雜度和空間複雜度

一、判斷題 1-1 算法分析的兩個主要方面是時間複雜度和空間複雜度的分析。T 1-2 ​N^2logN和NlogN^2具有相同的增長速度。 F 1-3 ​​2^N和N^N具有相同的增長速度。 F 1-4 100logN是O(N)

原创 Twenty Questions UVA - 1252

題目傳送門 思路:這個題目很巧妙啊,一看就是一個狀壓DP,但是這個題我覺得難點在於如何求得狀態轉移以後的狀態,一開始想了很久都沒有想出來,然後看了lrj的書上寫的,確實十分的巧妙,我們用dp[s][a]來表示當前已經詢問了集合s的問題,具

原创 第二章作業題1-順序表

一、判斷題 1-1 對於順序存儲的長度爲N的線性表,訪問結點和增加結點的時間複雜度分別對應爲O(1)和O(N)。 T 1-2 若某線性表最常用的操作是存取任一指定序號的元素和在最後進行插入和刪除運算,則利用順序表存儲最節省時間。 T

原创 第一章作業1-數據結構基本概念

一、判斷題 1、若用鏈表來表示一個線性表,則表中元素的地址一定是連續的 F 鏈式儲存結構的地址不需要連續 2、數據的邏輯結構是指數據的各數據項之間的邏輯關係 F 數據的邏輯結構是指數據的各數據元素之間的邏輯關係 3、抽象數據類型

原创 Tour UVA - 1347

題目傳送門 思路:這個題目其實最重要的一點就是把一個人從最左邊走到走右邊在走回來這個問題轉換爲兩個人同時從最左邊走到最右邊(除了最左邊和最右邊的點其餘的點只能走一次)。那麼我們定義dp[i][j]代表a從起點走到了i,b從起點走到了j的最

原创 塗色paint BZOJ - 1260

題目傳送門 思路:一個區間DP的模版題,dp[i][j]代表字符串從i到j最少需要多少次染色,然後就是區間DP了。 #include <algorithm> #include <cmath> #include <cstdio> #incl

原创 撲克牌 BZOJ - 1816

題目傳送門 思路:我們可以通過二分可以組成的方案數,然後判斷函數可以通過構造搞出來。 #include <algorithm> #include <cmath> #include <cstdio> #include <cstring> #