【普組模擬賽】馬農
題目:
在**完戰馬檢閱之後,來自大草原的兩兄弟決心成為超級「馬農」,專門飼養戰馬。
兄弟兩回到草原,將可以養馬的區域,分為 n*n 的單位面積的正方形, 並實地進行考察,歸納出了每個單位面積可以養馬所獲得的收益。接下來就要開始規劃他們各自的馬場了。
首先,兩人的馬場都必須是矩形區域。同時,為了方便兩人互相照應,也為了防止馬匹互相走散,規定兩個馬場的矩形區域相鄰,且只有乙個交點。最後,互不認輸的兩人希望兩個馬場的收益相當,這樣才不會影響他們兄弟的感情。
現在,兄弟兩找到你這位設計師,希望你給他們設計馬場,問共有多少種設計方案。
比賽時絞盡腦汁都想不出來
其實正解就是暴力加所謂的「版本」優化
首先列舉交點
然後列舉其中一塊,把答案數加到乙個標記陣列裡
然後列舉另一塊,加答案
單純的這樣去做會超時,因為陣列太大,每次都初始化會爆時間
我們再加乙個p[j]表示當前j這個位置的版本
首先我們定義乙個v表示當前版本
每次列舉開始時v+1
然後在標記時和累加答案時看版本號對不對
對就照常做
不對就變版本號並且清零
這樣就ac了
標程(請勿抄襲,後果很嚴重):
var map,sum:array[0..51,0..51]of longint;
bz:array[-7500000..7500000]of longint;
b:array[-7500000..7500000]of integer;
n,i,j,k,l,s,x,ans,now:longint;
begin
assign(input,'farmer.in');
assign(output,'farmer.out');
reset(input);
rewrite(output);
readln(n);
for i:=1
to n do
for j:=1
to n do
begin
read(map[i,j]);
sum[i,j]:=sum[i-1,j]+sum[i,j-1]-sum[i-1,j-1]+map[i,j];
end;
x:=0;
now:=0;
for i:=1
to n do
for j:=1
to n do
begin
inc(now);
for k:=1
to i do
for l:=1
to j do
begin
if b[sum[i,j]-sum[k-1,j]-sum[i,l-1]+sum[k-1,l-1]]<>now then
begin
b[sum[i,j]-sum[k-1,j]-sum[i,l-1]+sum[k-1,l-1]]:=now;
bz[sum[i,j]-sum[k-1,j]-sum[i,l-1]+sum[k-1,l-1]]:=0;
end;
inc(bz[sum[i,j]-sum[k-1,j]-sum[i,l-1]+sum[k-1,l-1]]);
end;
for k:=i+1
to n do
for l:=j+1
to n do
if b[sum[k,l]-sum[i,l]-sum[k,j]+sum[i,j]]=now then
ans:=ans+bz[sum[k,l]-sum[i,l]-sum[k,j]+sum[i,j]];
inc(now);
for k:=1
to i do
for l:=j to n do
begin
if b[sum[i,l]-sum[k-1,l]-sum[i,j-1]+sum[k-1,j-1]]<>now then
begin
b[sum[i,l]-sum[k-1,l]-sum[i,j-1]+sum[k-1,j-1]]:=now;
bz[sum[i,l]-sum[k-1,l]-sum[i,j-1]+sum[k-1,j-1]]:=0;
end;
inc(bz[sum[i,l]-sum[k-1,l]-sum[i,j-1]+sum[k-1,j-1]]);
end;
for k:=i+1
to n do
for l:=1
to j-1
doif b[sum[k,j-1]-sum[i,j-1]-sum[k,l-1]+sum[i,l-1]]=now then
ans:=ans+bz[sum[k,j-1]-sum[i,j-1]-sum[k,l-1]+sum[i,l-1]];
end;
writeln(ans);
close(input);
close(output);
end.
普組模擬賽 馬語翻譯
普組模擬賽 馬語翻譯 題目 隨著馬場的繁榮,出現了越來越多的新馬種。種族之間的溝通不暢嚴重影響了馬場的和諧。這時,科學家發明了馬語翻譯機械人,正好可以解決這一難題。機械人有 m 種,每種機械人能完成 k 個馬種之間的語言翻譯。問,利用這些機械人,能否實現 1 種群和 n 種群的馬語翻譯。若可以,找到...
jzoj1965 遞推 普組模擬賽 馬球比賽
題目描述 在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。聯賽的賽制,主要是比賽雙方的馬匹數量,成了乙個急需解決的問題。首先,所有鄉鎮都要求,本鄉鎮所有的馬匹都必須參賽,或者都不參賽 若組隊的馬匹數量不是該鎮馬匹數量的約數,將無法參...
(紀中)1965 普組模擬賽 馬球比賽 數學
file io input polo.in output polo.out 時間限制 1000 ms 空間限制 128000 kb 具體限制 goto problemset 題目描述 在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。...