我們定義di
sx,y
,x1,
y2表示(x
,y) 到(x
1,y1
) 的距離。這個用spfa求。
接著,列舉兩個集合點(x
,y)、
(x1,
y1) , 得出這兩個集合點到騎士的距離,放入di
s1和dis
2 。
然後考慮貪心,
假設全選di
s1,和為su
m 。把di
s2−d
is1 從小到大排個序,把前n2
的值加到su
m ,答案就是
min(su
m)
#include
#include
#include
#include
#include
#include
#include
const
int maxlongint=2147483647;
const
int mo=1000000007;
const
int n=205;
using
namespace
std;
int dis[21][21][21][21],a[n],n,m,r,c,ans=maxlongint,b[n][2],d[n*100][4],tot;
int z[8][2]=
, ,,,
,,,};bool bz[21][21];
int spfa(int x,int y)}}
}}int main()
for(int x=1;x<=r;x++)
for(int y=1;y<=c;y++)
int o=sum;
for(int xx=1;xx<=r;xx++)
for(int yy=1;yy<=c;yy++)
if(x!=xx || y!=yy)
sort(a+1,a+tot+1);
for(int i=1;i<=n/2;i++)
if(sumprintf("%d",ans);
}
NOIP2016提高組模擬 積木
比賽的時候用了個神奇的小暴力,本來打算拿40分,沒想到暴力出奇蹟,隨機資料下表現優良,居然碾過去了。暴力方法不講,只貼 僅供對拍。正解顯然要用狀態壓縮 看資料範圍 設fs i,0 1 2 s表示當前已選擇的積木集合,i表示在最上方的積木編號,0 1 2表示最上方的積木哪面朝上。轉移方程容易推導。暴力...
2016NOIp普及組 海港 模擬
洛谷p2058 小k是乙個海港的海關工作人員,每天都有許多船隻到達海港,船上通常有很多來自不同國家的乘客。小k對這些到達海港的船隻非常感興趣,他按照時間記錄下了到達海港的每一艘船隻情況 對於第i艘到達的船,他記錄了這艘船到達的時間ti 單位 秒 船上的乘 客數星ki,以及每名乘客的國籍 x i,1 ...
NOIP2017提高A組模擬7 13 第K小數
有兩個正整數數列,元素個數分別為n和m。從兩個數列中分別任取乙個數相乘,這樣一共可以得到n m個數,詢問這n m個數中第k小數是多少。1 n,m 2 105,1 k n m 先將兩個陣列排序。二分答案ans。對於a i 找到最大的j使得a i b j ans。那麼對於a i 1 的j一定小於對於a ...