bzoj1311 最優壓縮

2022-06-03 11:36:11 字數 1176 閱讀 7165

其中: 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...