NOIP2016提高A組8 11 錢倉

2022-08-18 05:27:19 字數 645 閱讀 8589

發現,一定有乙個點作為起點,所有的路徑都不經過這個起點。

接著貪心求答案,

如果\(c_i>1\),將其中\(c_i-1\)個錢往後「鋪」。

易證\(x^2+y^2<=(x+y)^2\)

那麼維護乙個佇列,先進先出,就能保證最小。

#include #include #include #include #include #include #include const int maxlongint=2147483647;

const int mo=1000000007;

const int n=150005;

using namespace std;

int d[n],c[n*2],n,m,tot,mak[n];

long long ans;

int main()

for(int i=1;i<=n;i++)

mak[j]++;

ans+=(j-d[head])*(j-d[head]);

head++;

} if(ans>=0) }}

NOIP2016提高A組8 11 錢倉

發現,一定有乙個點作為起點,所有的路徑都不經過這個起點。接著貪心求答案,如果c i 1 將其中ci 1個錢往後 鋪 易證x 2 y2 x y 2 那麼維護乙個佇列,先進先出,就能保證最小。include include include include include include include ...

NOIP2016提高A組8 11 自然數

n 求出mex 1,i 1 i n 雖然0 ai 10 9,但只有n個數,所以mex一定小於等於n for long long j 1 j n j 顯然mex是單調不下降的,接著用線段樹維護mex。如果刪掉a i 從下乙個mex比a i 大的位置到下乙個a i 的位置之前的mex都會改變,都會變成a...

NOIP2016提高A組8 11 自然數

第一行n 第二行n個數 答案3 0 1 3 n 200000 a i 109 50分暴力明顯,用標記陣列隨便yy 但是你可能在想要離散化,其實凡是大於n的都直接等於n就行了,mex最大就是n 想 如果知道 1,n 的mex,能不能求到 2,n 顯然mex 1,i 是單調遞增的,當第乙個數被刪掉時,如...