演算法:dp
挺簡單的,但是一開始卻想成了區間dp……
program vijos1331;
const
maxn=2500;
var n,m:longint;
a:array [0..maxn] of char;
f:array [0..maxn] of longint;
procedure init;
var i:longint;
begin
readln(n,m);
for i:=1 to n do readln(a[i]);
end;
procedure main;
var i,j,th,tj:longint;
begin
fillchar(f,sizeof(f),$2f);
f[0]:=0;
f[1]:=1;
for i:=2 to n do
begin
if a[i]='h' then
begin
th:=1;
tj:=0;
endelse
begin
th:=0;
tj:=1;
end;
for j:=i-1 downto 1 do
begin
if a[j]='h' then inc(th) else inc(tj);
if (abs(th-tj)<=m) or (th=0) or (tj=0) then
begin
if f[j-1]+1
看球的巴士 線性dp
題目描述 兩個球隊的支持者要一起坐車去看球,他們已經排成了一列。我們要讓他們分乘若干輛巴士,同一輛巴士上的人必須在隊伍中是連續的。為了在車上不起衝突,希望兩隊的支持者人數盡量相等,差至多是d。有乙個例外,就是一輛車上的人全部都是乙個球隊的支持者。問要將這n個人全部送至球場,至少要幾輛巴士。輸入格式 ...
看球的歷史
看球的歷史 首先需要指出的是,題目中的球是指足球。昨晚和一些哥們看了一下德甲,使我不禁勾起對以前看球的一些回憶。嚴格說來,踢球始於初中,看球始於高中。記憶中開始看電視時 上個世紀 80年代 很討厭看到兩樣東西 足球 那時廣東體育頻道好像正在轉播英超 f1賽車 那時正是塞納統治 f1的時代,可惜我那時...
看球的歷史
看球的歷史 首先需要指出的是,題目中的球是指足球。昨晚和一些哥們看了一下德甲,使我不禁勾起對以前看球的一些回憶。嚴格說來,踢球始於初中,看球始於高中。記憶中開始看電視時 上個世紀80年代 很討厭看到兩樣東西 足球 那時廣東體育頻道好像正在轉播英超 f1賽車 那時正是塞納統治f1的時代,可惜我那時無法...