hdu 6472 藝術台階(微積分 多項式維護)

2022-06-22 21:24:13 字數 1975 閱讀 1166

傳送門

實際上就是求

\(\sum^_\frac\sum^_\frac\sum^_\frac\cdots(a[1]<=a[2]<=a[3]\cdots)\)

題目給我們的a[i]並不保證是非遞減的,比如乙個1 4 2的序列,所以實際上的積分是\(\frac\sum^_\sum^_\sum^_\)

那麼我們假設處理好的每個積分上限為\(b[i]\)

以三項為例

那麼把係數往前提就有

\(\frac_a[i]}\sum^_\sum^_\sum^_\)

我們從最後乙個積分往前積,一開始要維護的多項式只有乙個1,\(1dk=k\),已知上下限做定積分就有

\(\frac_a[i]}\sum^_\sum^_(b[3]-j)\)

同理\((b[3]-j)dj=b[3]j-\frac\)

\(\frac_a[i]}\sum^_b[3]i-\frac\)

這就差不多了,維護下這個多項式就行然後我把自己wa飛了

#include using namespace std;

/* freopen("k.in", "r", stdin);

freopen("k.out", "w", stdout); */

// clock_t c1 = clock();

// std::cerr << "time:" << clock() - c1 <<"ms" << std::endl;

//#pragma comment(linker, "/stack:1024000000,1024000000")

#define de(a) cout << #a << " = " << a << endl

#define rep(i, a, n) for (int i = a; i <= n; i++)

#define per(i, a, n) for (int i = n; i >= a; i--)

#define ls ((x) << 1)

#define rs ((x) << 1 | 1)

typedef long long ll;

typedef unsigned long long ull;

typedef pairpii;

typedef pairpdd;

typedef pairpll;

typedef vectorvii;

#define inf 0x3f3f3f3f

const ll inf = 0x3f3f3f3f3f3f3f3f;

const ll maxn = 1e5 + 7;

const ll maxm = 2e6 + 7;

const ll mod = 1e9 + 7;

const double eps = 1e-6;

const double pi = acos(-1.0);

ll quick_pow(ll a, ll b)

return ans;

}ll mp[3005];

ll a[3005];

ll b[3005];

ll pre[3005];

int main()

for (int i = n; i >= 2; i--)

ll now = 2;

mp[1] = 1;

for (int i = n; i >= 2; i--)

(mp[0] += temp) %= mod;

for (int j = now; j >= 1; j--)

mp[0] = 0;

now++;

}ll son = 0;

for (int i = 0; i <= n; i++)

ll inv = quick_pow(div, mod - 2);

printf("%lld\n", ((son * inv % mod) + mod) % mod);

}return 0;

}

6 4 7 不可變類

1.使用private和final修飾符來修飾該類的成員變數 2.提供帶引數構造器,用於提供傳入引數來初始化類裡的成員變數 3.僅為該類的成員變數提供getter方法 4.重寫object類的hashcode 和equals 方法。package chap6 4 class immutablestr...

C 程式設計基礎 實驗(6) 4 7

4.建立靜態類,在其中定義乙個泛型方法,實現查詢陣列元素功能。using system using system.collections using system.collections.generic using system.linq using system.text namespace pr...

刷題 力扣 647

題目鏈結 題目描述 給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 nums r 1 nums r 就...