日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【动态规划】炮兵阵地

發布時間:2025/4/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【动态规划】炮兵阵地 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

還是宇宙時間公元 5.5 5.5億年, maxingc maxingc maxingc maxingc聯盟用微子來攻擊 yunyunyun聯盟。憤怒的 yunyun 聯盟決定反戈一擊,他們 準備使用加農炮來反擊。
yunyun 聯盟的將軍們打算在 N*M 的網格地圖上部署他們炮兵隊。一個 的網格地圖上部署他們炮兵隊。一個 N*M 的地圖由 N行 M列組成,地 列組成,地 圖的每一格可能是山地(用 圖的每一格可能是山地(用 "H" "H" 表示),也可能是平原(用 表示),也可能是平原(用 表示),也可能是平原(用 表示),也可能是平原(用 "P" "P"表示),如下圖。在每一格平原 表示),如下圖。在每一格平原 表示),如下圖。在每一格平原 表示),如下圖。在每一格平原 地形上最多可 以布置一支炮兵部隊(山地上不能夠署);在圖的攻擊范圍如中黑色區域所 以布置一支炮兵部隊(山地上不能夠署);在圖的攻擊范圍如中黑色區域所 以布置一支炮兵部隊(山地上不能夠署);在圖的攻擊范圍如中黑色區域所 以布置一支炮兵部隊(山地上不能夠署);在圖的攻擊范圍如中黑色區域所 示:

如果在地圖中的灰色所標識平原上部署一支炮兵隊,則黑網格表示它能夠攻擊到區域:沿橫向左右各兩格,縱上下。圖其它白色網均攻擊不到從可見炮兵的范圍受地形的影響。 現在,將軍們規劃如何部署炮兵隊防止誤傷的 前提下(保證任何兩支炮兵部隊之間不能互相攻擊, 即任何一支炮 兵部隊都不在其他的攻擊范圍內),整個地圖區域最多能夠擺放少我軍即任何一支炮 兵部隊都不在其他的攻擊范圍內),整個地圖區域最多能夠擺放少我軍即任何一支炮 兵部隊都不在其他的攻擊范圍內),整個地圖區域最多能夠擺放少我軍兵部隊。
第一行包含兩個由空格分割開的正整數,別表示 N和 M; 接下來的 N行,每一含有連續的 行,每一含有連續的 M個字符 ('P'('P' 或者 'H') 'H') ,中間沒有空格。 按順序表示地圖每一行的數據,中間沒有空格。 按順序表示地圖每一行的數據,中間沒有空格。 按順序表示地圖每一行的數據,中間沒有空格。 按順序表示地圖每一行的數據N <= 100= 100= 100 ;M <= 10 。
僅一行,包含個整數 K,表示最多能擺放的炮兵部隊數量。
分析

這個題的n<=100 ,m<=10。如果盲目搜索,肯定會超時。

由于m<=10,所以每一行的狀態可以用二進制表示,放置炮兵記為1,不放置記為0。

每一行的狀態只和前兩行的狀態有關系,所以有方程:

F[i,k1,k2]=Max{f[i-1,k2,k3]+num[k1]},其中i為行數,k1表示第i行的狀態,k2表示第i-1行的狀態,k3表示第i-2行的狀態,num[k1]為k1狀態下可放置炮兵的個數。

i,k1,k2,k3必須滿足一定的關系(炮兵之間不能相互攻擊,且炮兵不能放在山地上)。

1

第i行放第k1種狀態,第i-1行放第k2種狀態,會不會出現矛盾

對于狀態a[k1]和a[k2],如果他們是可行的,討論他們每個對應的位置

a[k1]如果某位置是1,a[k2]這位上必須是0

a[k1]如果某位置是0,a[k2]這位上可以是1,也可以是0

所以可以歸納出 a[k1] and a[k2]=0,這要判斷矛盾可以使速度大大提高

2.

對于每一行,第i種狀態能不能放上去,即要求不能在‘H’的地方放士兵

我們可以先把每行原來的初始狀態也表示出來,但是這里有個小技巧,把‘H’的地方記錄下來

這行如果某位置是1,那么在a[k1]中這個位置上必須為0(1代表這里是山地)

這行如果某位置是0,那么在a[k1]中這個位置上可以為1,可以為0(0代表這里是平原)

所以可以歸納出 now[i] and a[k1]=0(now數組表示地形的狀態)。

3.

我們可以提前枚舉每種狀態,把本身一行中可以相互攻擊的狀態刪去,對于每一行進行操作時,需要將其轉化成字符串,否則對一個二進制串很難操作。

此時f數組下表表示的是此狀態在狀態數組a中的位置。

View Code program liukeke;
var
now:
array[0..101] of longint;
a,b:
array[0..102] of longint;
f:
array[0..100,0..102,0..102] of longint;
n,m,i,k1,k2,k3,ans,j,tt,sum:longint;
s:string;
flag:boolean;

function max(a,b:longint):longint;
begin
if a>b then exit(a);
exit(b);
end;

procedure init;
var
i,j:longint;
ch:char;
begin
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(ch);
if ch='H' then
now[i]:
=now[i] + (1<<(m-j));
end;
readln;
end;
end;

function change(x:longint):string;
begin
change:
='';
while x>0 do
begin
change:
=chr(x mod 2+48)+change;
x:
=x div 2;
end;
end;

begin
assign(input,
'connon.in');
reset(input);
assign(output,
'connon.out');
rewrite(output);
init;
for i:=0 to (1<<m)-1 do
begin
tt:
=0;
flag:
=false;
s:
=change(i);
while length(s)<m do s:='0'+s;
for j:=1 to m do
if s[j]='1' then
begin
if s[j+1]='1' then begin flag:=true; break; end;
if s[j+2]='1' then begin flag:=true; break; end;
inc(tt);
end;
if not flag then
begin
inc(sum);
a[sum]:
=i;
b[sum]:
=tt;
end;
end;
for i:=1 to sum do
f[
1,i,1]:=b[i];
for i:=2 to n do
for k1:=1 to sum do
for k2:=1 to sum do
if (a[k1] and a[k2]=0)and(a[k1] and now[i]=0)and(a[k2] and now[i-1]=0)then
for k3:=1 to sum do
if (a[k1] and a[k3]=0)and(a[k2] and a[k3]=0)and(a[k3] and now[i-2]=0)then
f[i,k1,k2]:
=max(f[i,k1,k2],f[i-1,k2,k3]+b[k1]);
for i:=1 to sum do
for j:=1 to sum do
if (a[i]and a[j]=0)and(a[i] and now[n]=0)and(a[j] and now[n-1]=0)then
ans:
=max(ans,f[n,i,j]);
writeln(ans);
close(input);
close(output);
end.

轉載于:https://www.cnblogs.com/liukeke/archive/2011/06/12/2079058.html

總結

以上是生活随笔為你收集整理的【动态规划】炮兵阵地的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产偷人妻精品一区二区在线 | 亚洲日本成人在线观看 | 91精品国产99 | 91精品国产乱码久久久久 | 一级的大片 | 又黄又爽无遮挡 | 久久久久亚洲 | 精品一区二区久久久久久久网站 | 亚洲熟女乱色一区二区三区 | 日本三级大全 | 免费激情| 欧美黑人一级爽快片淫片高清 | 日日夜夜狠狠爱 | 国产精品久久AV无码 | 国产寡妇色xxⅹ交肉视频 | 伊人激情在线 | 日本黄色的视频 | 日本体内she精高潮 男女视频在线免费观看 | 日韩播放 | 乡村乱淫 | 国 产 黄 色 大 片 | av手机网站 | 免费视频www在线观看网站 | 一区二区三区视频网站 | 少妇高潮久久久久久潘金莲 | av毛片在线免费看 | 亚洲3p | 台湾swag在线播放 | 香蕉国产在线视频 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 国产精品久久久久久久久动漫 | 日韩中文字幕一区二区三区 | 小嫩嫩精品导航 | 澳门久久久 | 国产成人精品自拍 | 国内性视频 | 国产成人在线免费观看视频 | 日韩乱码人妻无码系列中文字幕 | 女人的天堂网 | 亚洲砖区免费 | 狠狠操影视 | 伊人av网站 | 你懂的在线观看视频 | 亚洲欧美一区二区三区四区五区 | 久久久久一区 | jizz免费视频 | 扒开美女内裤狂揉下部 | 69视频一区 | 亚洲av无码一区二区二三区软件 | 菠萝菠萝蜜网站 | 中文字幕成人在线 | 两女双腿交缠激烈磨豆腐 | 海角国产乱辈乱精品视频 | 亚洲一区在线免费观看 | 中文字幕视频在线 | 亚洲精美视频 | 亚洲成人91 | 91超级碰 | 国产精品日本一区二区在线播放 | 九九一级片 | 蜜臀av无码精品人妻色欲 | 91官网视频 | 5月婷婷6月丁香 | 免费av一区二区 | 中文字幕一区二区人妻痴汉电车 | 永久免费看黄网站 | 男女污污视频在线观看 | 久操精品在线 | 欧美日韩观看 | 国产精品v日韩精品v在线观看 | 午夜宅男影院 | 国产偷啪| 又黄又爽无遮挡 | 91网站免费视频 | 91精品视频在线播放 | 亚洲av成人无码久久精品老人 | 国产日本在线观看 | 狠狠干精品 | 波多野结衣在线一区二区 | 日韩大片免费在线观看 | 国产精品久久久久久免费免熟 | 中国一级特黄真人毛片免费观看 | 美女露出让男生揉的视频 | 视频二区在线观看 | 欧美天堂久久 | 在线国产观看 | 免费无遮挡无码永久视频 | 国产精品久久久久毛片大屁完整版 | 日韩精品在线一区 | 东京av男人的天堂 | 欧美一区二区视频免费观看 | 澳门av在线 | 久草免费在线观看 | 日韩视频一区在线观看 | 无码一区二区三区 | 天天干天天干天天干 | 色妞色视频一区二区三区四区 | 午夜免费一级片 | 蜜臀av免费在线观看 |