南昌網路賽E Interesting Series

2021-10-19 07:06:24 字數 3133 閱讀 8163

可求得通項fn=

an−1

a−

1f_n = \frac

fn​=a−

1an−

1​,乙個等比數列的前n

nn項和,val

ue(s

)=fs

um(s

)value(s) = f_

value(

s)=f

sum(

s)​。

題目要我們求的是ans

wer(

k)=∑

s∈su

bset

ofsa

nd∣s

∣=kv

alue

(s

)answer(k) = \sum\limits_value(s)

answer

(k)=

s∈su

bset

ofsa

nd∣s

∣=k∑

​val

ue(s

),我們考慮先計算f

nf_n

fn​中asu

m(s)

a ^as

um(s

)部分。

所以我們可以寫出生成函式∏i=

1n(1

+asi

)\prod_ ^(1 + a ^)

∏i=1n​

(1+a

si​)

,遞迴分治進行fft

fftff

t,使這個式子變成乙個多項式。

對於a ns

k=[x

k]−c

nka−

1ans_ = \frac ^}

ansk​=

a−1[

xk]−

cnk​

​,對於每個k

kk有cnk

c_n ^k

cnk​

種方案。

然後這題稍卡精度,用lon

gdou

bl

elong\ double

longdo

uble

就好了。

#include

using

namespace std;

#define double long double

struct complex };

complex operator+(

const complex &a,

const complex &b)

complex operator-(

const complex &a,

const complex &b)

complex operator*(

const complex &a,

const complex &b)

complex operator/(

const complex &a,

const complex &b)

typedef

long

long ll;

const

int n =

1e6+10;

int r[n]

;complex x[n]

, y[n]

;void

get_r

(int lim)

}void

fft(complex *f,

int lim,

int rev)

}const

double pi =

acos(-

1.0)

;for

(int mid =

1; mid < lim; mid <<=1)

}}if(rev ==-1

)}}const

int mod =

100003

;int n, a, m, s[n]

;vector<

int> f[n]

;int fac[n]

, inv[n]

;int

quick_pow

(int a,

int n)

a =1ll* a * a % mod;

n >>=1;

}return ans;

}ll c

(int n,

int m)

void

init()

void

solve

(int rt,

int l,

int r)

int mid = l + r >>1;

solve

(rt <<

1, l, mid)

;solve

(rt <<1|

1, mid +

1, r)

;int len1 = mid - l +

1, len2 = r - mid;

for(

int i =

0; i <= len1; i++

)for

(int i =

0; i <= len2; i++

)int lim =1;

while

(lim <= r - l +1)

get_r

(lim)

;fft

(x, lim,1)

;fft

(y, lim,1)

;for

(int i =

0; i < lim; i++

)fft

(x, lim,-1

);for(

int i =

0; i <= r - l +

1; i++

)for

(int i =

0; i < lim; i++)}

intmain()

solve(1

,1, n)

;init()

;int inv =

quick_pow

(a -

1, mod -2)

;for

(int i =

1, k, ans; i <= m; i++

)return0;

}

2019 4 20南昌網路賽

2019.4.20南昌網路賽總結 一開始是a題,自數卡了一會,算出了自數,但是輸出的時候一開始是通過 將數連在一起輸出,wa了,後面換成了換行輸出,才過了。再之後看的是第m題,小組討論了蠻久,後面一直超時,超了一點。感覺演算法也沒什麼可以改進的了。後面隊友把cin換成了scanf,終於過了。然後隊友...

2019南昌網路賽

rank solvedab cdef ghi497 1882 3 9.o o o o 當場通過 賽後通過 尚未通過 unsolved solved by chelly chelly s solution upsolved by chelly chelly s solution 將字串倒過來,問題就變...

徐州,南昌網路賽感受

這個週末連著打了兩場網路賽,通過這種正式的五個小時大的比賽,有了一些不同於兩三個小時的比賽的體會 因為五個小時比較漫長,很是考驗耐心,這兩天基本7上都是一開始很快就能出一道簽到題,然而後勁不足啊,後面出題數總是不多,昨天後面出了兩道題,今天一道都沒出來,今天有道題應該是可以出了,因為讀錯題了導致最後...