原创 eclipse常見用法

1.調出 把鼠標指針放在錯誤的語句上 提示快速修正 Window->Preferences->Java->Editor->Hovers 將[Combined Hover]選擇即可,如果第一個[Variable Values]已經勾選,則將

原创 hdu 1232 暢通工程(求最少多少條邊可以使所有點聯通)

題目地址 題目大意:給出點及邊,點按1到n編號,求最少需要多少條邊可以將所有的點聯通 解題思路:並查集求有多少個根節點,減一即爲答案 #include <bits/stdc++.h> using namespace std; cons

原创 ccpc Ancient Go(dfs求連通塊周圍'.'的數目)

題目地址 題目大意:給出一個9X9的字符矩陣,由’.‘,’X‘,’o‘組成,求是否存在有一個o組成的連通塊周圍僅有一個’.‘ 解題思路:深搜找出連通塊,再判斷即可 #include <bits/stdc++.h> using names

原创 單模式匹配KMP求匹配位置和匹配數目

#include <bits/stdc++.h> using namespace std; char S[1000000],T[1000000]; int NEXT[1000000];///NEXT[i]表示既是模式串前i個字母的前綴

原创 hdu 1874 暢通工程續(最短路spfa鄰接表)

題目地址 題目大意:給出n個點m條邊,並給出起點和終點,求起點到終點的最短路 解題思路:1.允許有負權邊,可以判斷負環                   2.時間複雜度:O(ke),k指的是所有頂點的進隊的平均次數,可以證明k<=2,e

原创 hdu 2063 過山車(Hopcroft-Carp求二分匹配)

題目地址 題目大意:告訴組合數,男生人數,女生人數,求最多有多少人能去 解題思路:裸做大二分匹配 #include <stdio.h> #include <iostream> #include <string.h> #include <q

原创 ccpc Sudoku(搜索)

題目地址 題目大意:輸入爲由1到4和’*‘組成的4X4的字符矩陣,要求將’*‘處填上數字,使得每行、每列、四角的4個2X2的小方格爲1、2、3、4各一個數字 解題思路:將需要填數的位置記錄下來,對於每個點一個數字一個數字的試探搜索 #in

原创 hdu 2612 Find a way(廣搜)

題目地址 題目大意:給出nXm的字符矩陣,有多個‘@’,一個‘Y’,一個‘M’,‘.’可以走,‘#’不可以走,求Y和M同時到一個@的最小步數*11 解題思路:搜索Y和M到每一個@ #include <bits/stdc++.h> usi

原创 poj 3463 Sightseeing(dij求最短路+次短路(比最短路長1)的總走法)

題目地址 題目大意:給出n個點及m條邊,求最短路+次短路的走法總數,次短路比最短路長1 解題思路:我們用一個數組記錄最短路,一個數組記錄次短路。每次對當前最短邊,先更新最短路,更新不了最短路再更新次短路。每條邊處理兩次,這樣就可以在2n×

原创 hdu 1874 暢通工程續(最短路spfa鄰接矩陣)

題目地址 題目大意:給出n個點m條邊,並給出起點和終點,求起點到終點的最短路 解題思路:1.允許有負權邊,可以判斷負環                   2.時間複雜度:O(ke),k指的是所有頂點的進隊的平均次數,可以證明k<=2,e

原创 ccpc Secrete Master Plan(水模擬)

題目地址 題目大意:輸入2個2X2的矩陣,求2個矩陣的相對位置(對角線)是否有變化 解題思路:按照題意,依次枚舉 #include <bits/stdc++.h> using namespace std; int main() {

原创 hdu 1385 Minimum Transport Cost(floyd打印最小字典序的最短路徑)

題目地址 題目大意:以矩陣的形式輸入點邊關係,-1代表沒邊,且通過點需要交費,求總花銷最小,如果有多種最短路,打印字典序最小的那種 解題思路:floyd,path[i][j]表示i到j的最短路在i之後的最小字典序的點編號,更新的時候加上邊

原创 2015瀋陽站 Bazinga(KMP求個數+包含優化)

題目地址 題目大意:給出n個字符串,求最大的i使得第i個字符串存在一個比i小的j字符串j,j字符串不是i字符串的子串 解題思路:如果直接用KMP,TLE,優化一下,先預處理相鄰的字符串,如果j是k的子串,那麼只需要判斷k串(因爲k串一旦是

原创 ccpc Pick The Sticks(dp特殊處理)

題目地址 題目大意:給出n根筷子的長度和價值,最多可以裝在一個長l的容器中,相鄰筷子之間不允許重疊,且兩邊上的筷子,可以伸一半的長度在容器外,求最大價值量 解題思路:初看一眼就是01揹包,沒錯就是01揹包,但是有個特殊的地方需要處理,就是

原创 2015 瀋陽站 hdu 5521 Meeting(Dij最短路枚舉)

題目地址 題目大意:有N個點,兩個人,其中一個人住在點1,另一個人住在點n 。有M個點集,集合內的數表示任意兩點的距離爲dis ,現在問,如果兩個人要見面,需要最短距離是多少,有哪幾個點能被當成見面點 解題思路:分別對兩個點進行最短路,但