JZOJ4622 亞瑟王之宮

2021-07-14 22:00:12 字數 821 閱讀 3973

這題時限開的挺大的。。。

由於時限較大,我們可以預處理出每個座標走日字步到另一座標的最短距離,o(

r3c3

) 的floyd可以解決(可以考慮用spfa,但這裡的點入隊時間較長)。

然後我們列舉兩個匯合點,我們貪心的想,乙個騎士走到第乙個座標距離如果比走到第二個的小的多,那麼我們肯定不走到第二個座標,反之就不走到第乙個座標。

於是,設第

i 個騎士到座標a的距離為ai

,到b的距離為bi

,那麼把所有騎士按照ai

−bi 排個序,取前n2

個走到a,剩下的走到b,對答案取mi

n 即可。

#include

#include

#include

#include

#include

#define fo(i,j,k) for(int i=j;i<=k;i++)

#define fd(i,j,k) for(int i=j;i>=k;i--)

#define n 21

#define ll long long

using

namespace

std;

int f[n][n][n][n];

struct nodea[n*n];

bool cmp(node x,node y)

,,,,,,,};

int main()

JZOJ 4622 亞瑟王之宮

先用sp b fa把兩兩點的最短路程是多少,這樣我們就可以列舉兩個點a,b,再以每個點到a和b的差從大到小排個序,再貪心選,複雜度 o r2c2 nlog2 n include include include include include define fo i,a,b for int i a i...

概率 亞瑟王

題目描述 小 k 不慎被 ll 邪教 了,程度深到他甚至想要從亞瑟王邪教中脫坑。他決定,在脫坑之前,最後再來打一盤亞瑟王。既然是最後一戰,就一定要打得漂亮。眾所周知,亞瑟王是乙個看臉的遊戲,技能的發動都是看概率的。作為乙個非洲人,同時作為乙個前 oier,小 k 自然是希望最大化造成傷害的期望值。但...

題解 亞瑟王的宮殿

在此之前,該題已經有很多題解,但它們大多是列舉國王周圍 5 times 5 的範圍 玄學貪心?最後計算最小距離。雖然能 ac 但其實這種做法是不嚴謹的 詳見巨佬的hack資料 然而將 5 times 5 的範圍擴大至 r times c 的範圍後,時間複雜度過大。那麼,這道題真的無解了嗎?蒟蒻的我用...