hdu 1565 方格取數 1

2022-06-02 17:03:08 字數 1170 閱讀 1106

這個題網上很多人都說用狀態壓縮dp來做,我就是覺得狀態壓縮dp有點那麼理解不上啊,不過如果這個題吧相鄰的兩個格仔連起來,那不就是求最大權獨立點集嗎?奮戰了三天,我的第一道最大流題目終於寫出來了,高興啊!

#include#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define inf 0x0f0f0f0f

using

namespace

std;

const

double pi=acos(-1.0

);const

double eps=1e-8

;typedef pair

pii;

const

int maxn=2500+10

;struct

edge

;int

n,m,s,t;

vector

edges;

vector

g[maxn];

intd[maxn],cur[maxn];

bool

vis[maxn];

void addedge(int

from,int to,int

cap)

bool

bfs()}}

return

vis[t];

}int dfs(int x,int

a) }

return

flow;

}int

dinic()

return

flow;

}void

init()

intmain()

;

int dy[4]=;

while (scanf("

%d",&n)!=eof)}}

else}}

}printf(

"%d\n

",sum-dinic());

}//fclose(stdin);

return0;

}

HDU 1565 方格取數 1

hdu 1565 方格取數 1 我的第乙個狀態壓縮dp 給你乙個n n的格仔的棋盤,每個格仔裡面有乙個非負數,從中取出若干個數,使得任意的兩個數所在的格仔沒有公共邊,就是說所取的數所在的2個格仔不能相鄰,並且取出的數的和最大 3 75 15 21 75 15 28 34 70 5 188對於每乙個數...

HDU1565 方格取數 1

problem description 給你乙個n n的格仔的棋盤,每個格仔裡面有乙個非負數。從中取出若干個數,使得任意的兩個數所在的格仔沒有公共邊,就是說所取的數所在的2個格仔不能相鄰,並且取出的數的和最大。input 包括多個測試例項,每個測試例項包括乙個整數n 和n n個非負數 n 20 ou...

HDU 1565 方格取數 1

problem description 給你乙個n n的格仔的棋盤,每個格仔裡面有乙個非負數。從中取出若干個數,使得任意的兩個數所在的格仔沒有公共邊,就是說所取的數所在的2個格仔不能相鄰,並且取出的數的和最大。input 包括多個測試例項,每個測試例項包括乙個整數n 和n n個非負數 n 20 ou...