zlh秒的題,我根本不會,出題人欽點此題提高-,想來我要爆零了。。。
題面:這題n,a都巨大無比,所以演算法要盡量往k身上靠,先推一波式子:
把這裡sigma內的東西拆開得到:
第k此項係數c(k,k)肯定是1,消去,再換一下i,j列舉順序:
這裡就出現了和原式很相似的東西,設乙個二元函式a:
剛剛那個式子變為:
這樣發現每次求a(k,n)都可由a(0~k-1,n-1)推過來!
但這樣暴力遞迴複雜度為k^3,而其實發現我們需要的東西是a(k,n)->a(0~k-1,n-1)->a(0~k-2,n-2)->......
k相同的項只要求n最小的那個往後o(logk)遞推下去即可,複雜度k^2logk,常數不要太差即可過此題。
ps:此題據zlh大佬所說當a為1時前面推的就gg了(除數為0),因此要特判這種情況,(為1~n的k次冪之和),這東西想必出題人自己都沒想到。。
**:
#include#define ll long long
using namespace std;
const ll mod=1e9+7;
const int n=2050;
ll a,c[n][n],ans[n][n],mo;
void dw(ll &x,ll y)
void ad(ll &x,ll y)
ll qpow(ll x,ll y)
return res;
}ll ask(ll n,ll k)
mo=max(0ll,n-k);
for(int i=0;i
get(max(0ll,n-k+i),n-1,i);
printf("%lld\n",ask(n,k));
}
洛谷 3768 簡單的數學題
根據crash的數字 很容易可以將式子化簡為 begin ans sum limits n sum limits ij i,j sum limits n d 3 sum limits right rfloor mu k k 2 left sum limits right rfloor i right...
小學數學題 洛谷p2921
露公尺婭 我來先考你一道小學數學題吧!琪露諾 好!小學的題我肯定都會!露公尺婭 有 n n n 只妖精要跨過霧之湖,由於湖邊大霧瀰漫,妖精們看不清湖到底有多大,不想從邊上繞過去。湖上有一條船個傳送器,且這個傳送器每次只能載 r r r 只妖精跨過湖面 注意傳送器可以同時把兩側的妖精分別運到對岸,但每...
洛谷3768 簡單的數學題 題解
題面來自洛谷,因為沒用markdown所以直接截的圖。剩餘的圖是我用markdown寫完然後截的圖。參考洛谷第一篇題解。這個式子直觀感受就需要莫比烏斯反演,大致的過程參考 bzoj2693 jzptab 那麼跳過暴力推式子,我們能夠得到 如果你疑問為什麼是miu k d 而不是miu d 其實二者皆...