原创 hdu 1710:Binary Tree Traversals

給出幾組二叉樹的先序和中序遍歷的節點序列,求出該二叉樹的後序遍歷序列。 先序遍歷中第一個一定是根節點,然後找先序遍歷中下一個節點在中序遍歷中是在根節點的左邊還是右邊,左邊則該節點在根結點的左子樹中,右邊則在右子樹中。根據該節點在根結點的

原创 lightOJ 1002:Country Roads

大意是給定若干個城市,若干條道路,其中有一個城市是“我”的家,求從各個城市到達家的所有道路中的最短道路中的花費最大的一段路。 用dijkstra算法做,只要把原來的判斷條件改一改就行了。至於航神說的方法,判斷條件dis[j]>當前邊,我

原创 poj 1226:Substrings

給一些字符串,求它們的最長公共子串。 這道題數據量很小,可以直接暴力枚舉。枚舉第一個字符串的每個子串與其逆序串,kmp判斷是否在其他所有的字符串當中,之後再取其中最長的長度,輸出即可。 代碼: //Memory: 232K Time

原创 poj 3070:Fibonacci

用矩陣乘法求斐波那契數列。 應該算水題吧,純粹用來聯繫矩陣快速冪的。 #include <cstdio> #include <cstring> #include <iostream> using namespace std ; ty

原创 hdu 1874:暢通工程續

求最短路版的暢通工程。(這個省終於暢通了,可喜可賀,可喜可賀)   這次直接floyed算法。要注意S == T需要特判。 #include <cstdio> #include <cstring> #include <iostream>

原创 hdu 3790:最短路徑問題

n個點,m條無向邊,每條邊都有長度d和花費p,起點s終點t,求起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。   Spfa。注意有重邊,且當兩邊相等時取花費少的那條。 #include <cstdio> #in

原创 CF 390D:Inna and Sweet Matrix

這題也不好解釋。大意是一個n*m的矩陣,I有k枚糖果,每一枚糖果都會逐一放在(i , j)的格子上,且I從(1,1)到這個格子必須存在一條沒有糖果覆蓋的路徑,否則無法放置。求I放完所有糖果後所需的最小步數,並打印出放每枚糖果的路徑。  

原创 CF 392A:Blocked Points

就是求距離原點整數n的圓周內距離圓周1單位距離的點的數量。   英語障礙還是硬傷,題目看了1小時,最後特判出錯沒來得及ac。。。 #include <cstdio> #include <cmath> #include <iostream

原创 CF 393A:Nineteen

一個字符串,字符可以調換順序,尋找其中最多有多少個“nineteen”。   英語障礙是硬傷。。。 #include <cstdio> #include <cstring> #include <iostream> using names

原创 CF 393B:Three matrices

給定矩陣W,求矩陣A、B,A、B滿足 Aij = Aji, for all i, j (1 ≤ i, j ≤ n); Bij =  - Bji, for all i, j (1 ≤ i, j ≤ n); Wij = Aij + Bij,

原创 CF 390C:Inna and Candy Boxes

簡而言之,有n個箱子,其中有若干個箱子放有糖果,用‘1’表示。輸入一個不超過n的01串,提問w次,給出常數k,之後w行給出兩個數l、r,其中l + k – 1、l + 2 * k – 1、……、r的盒子中要有糖果。D可以從盒子中拿走或放入

原创 poj 1252:Euro Efficiency

給予6種硬幣值,求1~100塊錢平均可以用多少個硬幣得到與最多的需要多少硬幣得到。可以加可以減。   網上看說是完全揹包問題,不過做下來也沒感覺是完全揹包,反正按思路來看感覺不是。方法是先加上去,然後減下來。具體看代碼。 #include

原创 hdu 1879:繼續暢通工程

使全省任何兩個村莊間都可以實現公路交通(但不一定有直接的公路相連,只要能間接通過公路可達即可),給出城鎮道路統計表,表中列出了任意兩城鎮間修建道路的費用,以及該道路是否已經修通的狀態,求全省暢通需要的最低成本。   最小生成樹,和之前一樣

原创 hdu 2066:一個人的旅行

草兒決定要在最短的時間去一個自己想去的地方,因爲草兒的家在一個小鎮上,沒有火車經過,所以她只能去鄰近的城市坐火車。多組輸入數據,每組的第一行是三個整數T,S和D,表示有T條路,和草兒家相鄰的城市的有S個,草兒想去的地方有D個; 接着有T行

原创 hdu 1233:還是暢通工程

給出任意兩村莊間的距離,使全省任何兩個村莊間都可以實現公路交通(但不一定有直接的公路相連,只要能間接通過公路可達即可),並要求鋪設的公路總長度爲最小,計算最小的公路總長度。   最小生成樹,下列代碼不知道能不能算kruskal算法。 #