原创 POJ2513 歐拉圖入門
題目大意: 給定一系列sticks,每個木棒的兩端都塗有顏色,判斷是否能夠找到將所有的木棒連接起來的方法,使相互連接的木棒的兩端的顏色是相同的? 現在要解決的問題是找到一條路徑,遍歷圖的每條邊一次,即歐拉路問題 要存在歐拉路就要滿足: 1
原创 Bellman-Ford算法判斷負權迴路
原來學過最短路算法,Dijkstra和Bellman-Ford算法都沒認真學,只爲了貪圖效率和實用,學了個SPFA算法,從而忽略了另外兩個算法的一些特性。今天在POJ上偶然遇到了一道題,求是否有負權迴路,一點思路也沒有,只能看別人的解題報
原创 DP算法入門(1)——多重揹包問題(POJ1276題解)
今天照着崔老師的揹包問題九講學習了多重揹包問題,收穫很大。 在揹包問題九講中,崔老師共給出了三種完全揹包問題的解法,我折中選擇了中間的那種,即“轉化爲01揹包問題”的解法,揹包問題九講上介紹的非常好,很容易理解,在這裏不多說,可遺憾的是文
原创 POJ五十題微型紀念
點贊 收藏 分享 文章舉報 yc5_yc 發佈了26 篇原創文章 · 獲贊 1 · 訪問量 1萬+ 私信 關注
原创 POJ2109
這題不用高精,所以水,但是補了補我的數學,知道了N的1/K次方就是開K次根號,其他沒的可說,自己A就是了!
原创 poj2299歸併秒過
#include <cstdio> using namespace std; const int NMax=500050; long long N,S[NMax],c[NMax],tot; void merge(int a,int b)
原创 POJ 3469 第一次AC總結(Dinic+多路增廣)
這題是道神題,神就神在,它既能讓你搞懂網絡流及其優化,還給了你很大的優化空間。首先,說一下算法,這題就是一道最小割+簡單構圖的題目,增加兩個節點分別表示兩個CPU,第i個界點與兩個CPU各連接一條,邊權值分別爲Ai、Bi,在後面的輸入中
原创 POJ3041 二分圖最大匹配(網絡流算法)
這題可以先構造一個二分圖,它的|X|=|Y|=N,每當輸入一個數對(x,y)時,連接一條x->y的邊,求最小點覆蓋即可。 最小點覆蓋:對於一個二分圖中的每一條邊(u,v)都選其中一個頂點(多條邊可以選同一點),使得選擇的所有點的集合(無重
原创 Haskell線段樹建樹
調了一晚上…… data Tree=Tree Int Int [Tree] [Tree]|Empty deriving (Show) build :: (Int,Int)->Tree build (x,y)=if x<y then Tre
原创 AVL樹代碼
這個代碼輸出了map與我的AVL效率的差異,明顯AVL快。 #include <cstdio> #include <time.h> #include <map> using namespace std; const int NMax=10
原创 用Python實現的基本版的線段樹
class node: def __init__(self,x,y): self.l=x self.r=y self.key=0 i
原创 Haskell讀入一個字符串,把它轉換成數字
toint :: String->Int toint' :: Char->Int toint' s |s=='1' =1 |s=='2' =2 |s=='3' =3 |s=='4' =4 |s=='5' =5 |s=='6'
原创 用Linux配置pacman
最近對AI突然來了興趣,玩起了PACMAN(ai.net9.org) 剛玩上癮,就聽說了AI比賽馬上就要開始,而那個OJ隨時都有可能關閉,於是我就想讓我的AI能在本地運行 我首先登入了windows7系統,可是令我失望的是,game.ex
原创 用 Python實現C的讀入方式
A=[] N=int(input("N:")) x="" tot=0 while True: flag=0 y=x.split(" ") for j in y: i
原创 stoer wagner代碼
合併的代碼很容易寫錯! #include <cstdio> #include <string.h> #include <cstdlib> #include <algorithm> using namespace std; const in