原创 zoj 3583 Simple Path

自從區域賽以後就沒參加浙大月賽這種比賽了 這題比賽的時候也沒有過 有兩種解法,這種是並查集 想象一下從s到t的一條簡單路,想想簡單路上每個點的性質:比如簡單路上的點i,不管刪去圖上任何一個點,點i總會至少與s或t在一個相連的集合中 另外

原创 zoj 1015 Fishing Net//弦圖的判定

整理一下亂七八糟的知識點 #include<cstring> #include<cstdio> using namespace std; const int maxn = 1010; const int inf = 10000000

原创 hdu 4003 Find Metal Mineral

#include <cstdio> #include <cstring> int n, s, k; const int MAXN = 10010; struct EDGE { int v, next, w; }edge[MA

原创 hdu 3584 Cube //三維樹狀數組

由二維的推一下就好了 注意一下三維空間的容斥性,更新的時候 注意一下這是區間更新,單點查詢 仔細想一想爲什麼可以這麼做 Add(x1, y1, z1, 1); Ad

原创 hdu 3666 THE MATRIX PROBLEM //2010哈爾濱現場賽

差分約束,不是很難看出來 不過需要一下流氓剪枝。。。。 #include <cstdio> #include <cstring> #include <queue> #include <cmath> using namespace st

原创 hdu 3592 World Exhibition //差分約束

刷刷水題,莫笑莫笑 #include <cstdio> #include <cstring> #include <queue> using namespace std; #define swap(t,a,b) (t=a,a=b,b=t)

原创 hdu 4009 Transfer water

#include<stdio.h> #include<string.h> #define SIZE 1100 #define TYPE int struct point { int x, y, z; }node[1010];

原创 hdu 3517 Adopt or not

很明顯就是求最大獨立集,求什麼就用什麼當兩邊 主要是找最大獨立集的必須點 首先是如果一個點沒有匹配過,那麼刪除這個點,對匹配數無影響,所以一定是獨立集中的 接着對匹配中的點,某些點也一定是獨立集中 辨別的方法是,比如A和B匹配,

原创 SPOJ 1793. Text Generater II

AC自動機+矩陣乘法+容斥原理 剛開始是用單純的狀態壓縮,當然是TLE 後來用容斥原理,接着幾乎快了64倍還多,接着各種弄,就過了 2.99S,不知道那些弄到0.05秒的神牛怎麼弄的

原创 hdu 3991 Harry Potter and the Present II //最小路徑覆蓋

很容易看出是最小路徑覆蓋 那場比賽幾乎沒怎麼做,弄項目了 接着注意一些比較白癡的問題,比如將數組賦值爲1<<30,接着兩個相加和別人比大小。。。這是純悲劇。。。。(TLE了N次,這裏。。。悲劇) #include <cstdio> #