開始堇業,把之前欠的債補上。
這題就是類似於觀察一下性質。其實可以發現把長度最長的那個串拼成兩倍,之後在這個範圍內一定能比較出大小。畫個圖,把相同的拼一拼就行了。
如果到了兩倍還沒比較出大小就說明一定相等。
#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
∫01xn
(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從第一位開始比...