2020牛客暑期多校訓練營 第一場

2021-10-24 04:45:35 字數 2057 閱讀 6270

開始堇業,把之前欠的債補上。

這題就是類似於觀察一下性質。其實可以發現把長度最長的那個串拼成兩倍,之後在這個範圍內一定能比較出大小。畫個圖,把相同的拼一拼就行了。

如果到了兩倍還沒比較出大小就說明一定相等。

#include

using

namespace std;

typedef

long

long ll;

intmain()

else}if

(!flag) cout <<

'='<< endl;

}return0;

}

這題就是考你會不會高數。

∫ 01

(x−x

2)nd

x=∫0

1xn(

1−x)

nd

x\int_0^1(x-x^2)^ndx=\int_0^1x^n(1-x)^ndx

∫01​(x

−x2)

ndx=

∫01​

xn(1

−x)n

dx觀察形式,想到三角換元。令x=s

in2t

x=sin^2t

x=sin2

t ∫ 01

xn(1

−x)n

dx=∫

0π2s

in2n

tcos

2nt2

sint

cost

dt

\int_0^1x^n(1-x)^ndx=\int_0^sin^tcos^t2sintcostdt

∫01​xn

(1−x

)ndx

=∫02

π​​s

in2n

tcos

2nt2

sint

cost

dt稍微整理一下

= 2∫

0π2s

in2n

+1tc

os2n

+1td

t=2\int_0^sin^tcos^tdt

=2∫02π

​​si

n2n+

1tco

s2n+

1tdt=2

22n+

1∫0π

2sin

2n+1

2tdt

=}}\int_0^sin^2tdt

=22n+1

2​∫0

2π​​

sin2

n+12

tdt

= 12

2n−1

∫0π2

sin2

n+1t

dt

=}}\int_0^sin^tdt

=22n−1

1​∫0

2π​​

sin2

n+1t

dt之後就很顯然了,直接上點火公式。但是直接點火公式不太好計算,這裡建議寫成乙個關於n

nn的遞推式。具體見**。

預處理出答案,o(1

)o(1)

o(1)

查詢。

#include

using

namespace std;

const

int mod =

998244353

;const

int maxn =

1e6+10;

typedef

long

long ll;

ll qpow

(ll a, ll b)

return ans;

}ll inv

(ll a)

intmain()

ll n;

while(~

scanf

("%lld"

,&n)

)return0;

}

賽後總結:

《關於出題人說全都是弱智題但我啥都不會的那些事》

網路流還是差了點,要補補。

牛客暑期多校訓練營B Boundary

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

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

g baxianguohai,gexianshentong h minimum cost flow i 1 or 2 j easy integration 2020牛客暑期多校訓練營 第一場 兩個字串a和b,對aaaa 和bbbb 字串a和b無限重複 方法一 字串a和b從第一位開始比較,當比到其中最...

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

g baxianguohai,gexianshentong h minimum cost flow i 1 or 2 j easy integration 2020牛客暑期多校訓練營 第一場 兩個字串a和b,對aaaa 和bbbb 字串a和b無限重複 進行比較,輸出 方法一 字串a和b從第一位開始比...