其中: auv是與aij相鄰的畫素(為了簡化,認為(i-1,j),(i+1,j,(i,j-1),(i,j+1)為相鄰元素); wij取值0或者1,表示aij修改後取v0或者v1. e的定義直觀上的理解是,當修改了a之後,各畫素上的值與原來的值相差了多少,以及相鄰的畫素對比程度的變化.為了影象的保真度,我們希望e的值越小越好.
第一行二個整數n,m(1<=n,m<=35) 第二行二個整數v0,v1 接下來n行m列,對應矩陣元素aij
乙個數e,表示最小可能的估價值
1 20 255
10 20
30題解:
二元組建圖:
直接二元組建圖即可,沒有坑。。。。。
code:
1 #include2 #include3 #include4 #include5 #include6#define maxn 1600
7#define maxm 20000
8#define inf 1061109567
9using
namespace
std;
10char
ch;11
bool
ok;12
void read(int &x)
17int n,m,v0,v1,a[42][42],idx,pos[42][42
];18
struct
flow
23void put(int a,int b,int c)
24void add(int a,int b,int c)
25bool
bfs()
33return
bo[t];34}
35int dfs(int u,int
rest)
43if (!ans) dis[u]=-1;44
return
ans;45}
46int
dinic()
51}f;
52const
int dx[2]=;
53const
int dy[2]=;
54int
main()64}
65 printf("
%d\n
",f.dinic());
66return0;
67 }
BZOJ 3774 最優選擇
題意 小n手上有乙個n m的方格圖,控制某乙個點要付出aij的代價,然後某個點如果被控制了,或者他周圍的所有點 上下左右 都被控制了,那麼他就算是被選擇了的。乙個點如果被選擇了,那麼可以得到bij的回報,現在請你幫小n選乙個最優的方案,使得回報 代價盡可能大。一眼是最小割,然後建邊的時候就糊塗了 首...
動態規劃 狀態壓縮 707 最優賬戶結餘
2020 04 07 16 52 12 問題描述 給一有向圖,每一條邊用乙個三元組表示,比如 u,v,w 代表權值為w的從u到v的一條邊.計算出保證每個點的權重相等需要新增的最少的邊數.也就是說,指向這一點的邊權重總和等於這個點指向其他點的邊權重之和.樣例 樣例1輸入 0,1,10 2,0,5 輸出...
BZOJ 3774 最優選擇 最小割
驚了我竟然排rank 2,鹹魚有朝一日也能翻身。1a 先留個坑 include include include using namespace std const int n 5005,m n 10,inf 0x3f3f3f3f namespace graph bool bfs return lev...