原创 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