BZOJ 4152 狀壓DP 解題報告

2021-08-03 09:25:38 字數 1012 閱讀 7004

4152: [amppz2014]the captain

time limit:

給定平面上的n個點,定義(x1,y1)到(x2,y2)的費用為min(|x1-x2|,|y1-y2|),求從1號點走到n號點的最小費用。

input

第一行包含乙個正整數n(2<=n<=200000),表示點數。

接下來n行,每行包含兩個整數x[i],yi,依次表示每個點的座標。

output

乙個整數,即最小費用。

sample input5

2 2

1 1

4 5

7 1

6 7sample output

【解題報告】

一看題感覺是狀壓,一看資料範圍更加確定是狀壓,當然打表也可以算作下下策。

**如下:

#include

#include

#include

#include

#include

#include

using

namespace

std;

int n,m,k,stay[101],cnt[101];

long

long ans,dp[10][101][101];//行,王,狀態

bool

map[101][101];

void dfs(int p,int put,int num)

//列舉出在一行上放馬的所有合法狀態

int main()

ans=0;

for(int i=1;i<=m;i++)ans+=dp[n][k][i];

printf("%lld\n",ans);

return

0;}

BZOJ1087狀壓DP 解題報告

在n n的棋盤裡面放k個國王,使他們互不攻擊,共有多少種擺放方案。國王能攻擊到它上下左右,以及左上 左下右上右下八個方向上附近的各乙個格仔,共8個格仔。只有一行,包含兩個數n,k 1 n 9,0 k n n 方案數。3 216 狀態壓縮dp第一道題。作為第一道題。其實對於我這種動態規劃都是自學的人來...

bzoj 1076(狀壓dp)(期望dp)

傳送門 題解 dp i j 表示第i輪狀態為j 狀態中為1的位表示當前物品還沒被取走 的最大期望得分。為了防止從無效狀態轉移至有效狀態,採用倒推法,從已知的有效狀態往回推,具體注釋在 中。p.s.不寫memset可以快接近一倍,但是為了思維嚴密性,還是寫乙個,反正都能過 注意 由於吃過的寶物可以再吃...

bzoj5299 狀壓DP 解鎖螢幕

description 使用過android手機的同學一定對手勢解鎖螢幕不陌生。android的解鎖螢幕由3x3個點組成,手指在螢幕上畫一條 線將其中一些點連線起來,即可構成乙個解鎖圖案。如下面三個例子所示 畫線時還需要遵循一些規則 1 連線的點數不能少於4個。也就是說只連線兩個點或者三個點會提示錯...