2020牛客暑期多校訓練營(第五場)

2021-10-08 18:11:46 字數 2650 閱讀 7761

總結:

f題添老師一發ac,i 題起初不會做在想怎麼化簡那個式子,後來就直接畫出了最優的圖,然後猜了一發2/3過了。ef

一級目錄

一級目錄

一級目錄

乙個包括n個音符的陣列,音符按下標1-n排列,表示音符由低到高。

有兩個操作:

drop-2:將第二高的音符移到最低的位置;即將倒數第二個移到第乙個。

invert:將最低的音符移到最高的位置;即將第乙個移到最後乙個。

任何次數的連續drop-2操作被認為是乙個多點。盡可能以最少次數的連續drop-2,將陣列改為有序陣列:1,2,……,n。

求需要有多少個連續drop-2。

題目要求計算連續drop-2的次數,不計invert次數。連續的drop-2將倒數第二向前移動任意個位置,cnt+1。可以用連續drop-2把倒數第二個往前的若干個數移到最前面,cnt++,然後經連續invert將該若干個數移到最後面,cnt不變。即可以把最後乙個音符移到前面任意兩個數之間,cnt++。

把原有陣列變成乙個環形序列。由於通過兩個操作可以將序列裡任意乙個數插入到任一位置,只需求出最多有多少個音符不用變換。以1-n分別作為開頭,計算其後n個裡面的最長上公升子串行,找出最大結果cnt,n-cnt為題目所求。

#include.h>

using namespace std;

#define io ios:

:sync_with_stdio

(false

),cin.

tie(0)

;#define ll long long

#define inf 0x3f3f3f3f

const int n

=1e5+5

;//setb;

//set::iterator it;

int s[n]

,a[n];

int main()

for(i=n+

1;i<=

2*n;i++

)for

(i=1

;i<=n;i++

) a[j]++;

cnt=

max(cnt,a[j]);

}}cout

}

我們可以先把每個群所有的點數量求出來,再求出他們的最小公倍數即可。

因為本題的資料範圍較大,所以要用高精度。因為高精度出發很容易出bug,所以我們可以用乘法代替除法。我們可以先把這些數的質數統計並累加起來,最後乘起來即可,具體過程可以看**。

#include.h>

using namespace std;

const int maxn=

1e5+5;

int n,l,r,cnt=

1,ans,len=

1,a[maxn]

,c[maxn]

,d[maxn]

,e[maxn]

,f[maxn]

,g[maxn]

,an[maxn]=;

bool b[maxn]

;void

mul(int x)

//大數乘

int main()

//素數篩求出質數

scanf

("%d"

,&n)

;for

(int i=

1;i<=n;i++

)scanf

("%d"

,&a[i]);

for(int i=

1;i<=n;i++

)//求出每個置換群的點的個數,存在c陣列中

for(int i=

0;i)//遍歷質數

for(int j=

1,t=

0;j<=ans&&c[i]

>

1;j++

)//遍歷每個c[i]含有這個質數

for(int i=

1;i<=ans;i++

)while

(f[e[i]]--

)mul

(e[i]);

//把每個質數乘起來

for(int i=len;i>=

1;i--

)printf

("%d"

,an[i]);

//反著輸出

return0;

}

給你n個人的dps,讓你畫出來類似毒奶粉dps的圖,要求dps最高的人要帶小星星。

簡單模擬。

#include.h>

typedef long long ll;

using namespace std;

int s[

105]

;ll a[

105]

;void

h(int x)

void

hm(int x)

int main()

for(int i=

0;i++i)

s[i]

=(ll)

ceil

((double)

(50.0

*a[i]

/ma));

for(int i=

0;i++i)

return0;

}

2019牛客暑期多校訓練營(第五場)

2019牛客暑期多校訓練營 第五場 題號標題 已通過 題解 討論 通過率團隊的狀態 adigits 2 1016 2378通過b generator 1 513 3524通過c generator 2 34 592已補d generator 3 4 23 未通過e independent set 1...

牛客暑期多校訓練營B Boundary

給定n個點,然後確定乙個過原點的圓,要使這n個點盡可能多的存在與圓上,最後輸出最多的存在於圓上的點的個數 三點確定乙個圓,我們已知這個圓必定經過原點,所以再依次利用三點求圓心的公式列舉每兩個點與原點 三點不共線 確定的圓心,最後選擇確定次數最多的圓心構成的圓 include include incl...

牛客網暑期ACM多校訓練營(第五場)

二分答案,然後就轉化為是否滿足 frac d sum s i c i sum s i d sum s i c i d 0 顯然科目越少gpa越高,於是去掉最小的k個判斷即可。include define rep i,a,b for int i a i b i define per i,a,b for...