NOIP2016A組模擬7 13 亞瑟王之宮

2021-07-14 21:35:06 字數 1197 閱讀 1468

我們定義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 ...