南昌邀请赛B题(拉格朗日插值)】的更多相关文章

题目链接:https://nanti.jisuanke.com/t/40254 #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #include<set> #include<ctime> #include<vector> #include<cmath> #include<algorithm> #inclu…
BZOJ 洛谷 题意的一点说明: \(k\)次方这个\(k\)是固定的,也就是最初需要多少张亵渎,每次不会改变: 因某个怪物死亡引发的亵渎不会计分. 不难发现当前所需的张数是空格数+1,即\(m+1\). 贡献不妨写成:\(\sum_{i=1}^ni^{m+1}-\sum_{i=1}^mA_i^{m+1}\).注意此时的\(A_i\)是剩下的空格(具体看代码最底下的暴力部分吧). 所以问题在于求\(\sum_{i=1}^ni^{m+1}\).自然数幂和有很多种求法. 这里写插值做法: \(\su…
传送门 题意: 给出一个只包含小写字母的串 s 和n 个串t,判断t[i]是否为串 s 的子序列: 如果是,输出"YES",反之,输出"NO": 坑点: 二分一直TLE可还行: 具体思路+细节看代码(有点累了,不想写了) AC代码: #include<iostream> #include<cstdio> #include<vector> #include<cstring> using namespace std; #d…
传送门 题面图片真是大到离谱-- 题目要求的是 \(\begin{align*}\sum\limits_{i=1}^N i^d[gcd(i,n) == 1] &= \sum\limits_{i=1}^N i^d \sum\limits_{p \mid gcd(i,n)} \mu(p) \\ &= \sum\limits_{p|n} \mu(p) p^d \sum\limits_{i=1}^{\frac{n}{p}} i^d\end{align*}\) 然后就不会做了qwq,后面的自然数次幂…
题目大意 ​ 一个序列\(a_1,\ldots,a_n\)是合法的,当且仅当: ​ 长度为给定的\(n\). ​ \(a_1,\ldots,a_n\)都是\([1,m]\)中的整数. ​ \(a_1,\ldots,a_n\)互不相等. ​ 一个序列的值定义为它里面所有数的乘积,即\(a_1\times a_2\times\cdots\times a_n\). 求所有不同合法序列的值的和. ​ 两个序列不同当且仅当他们任意一位不一样. ​ 输出答案对一个数\(p\)取余的结果. \(n\leq50…
[Luogu4781][模板]拉格朗日插值 题面 洛谷 题解 套个公式就好 #include<cstdio> #define ll long long #define MOD 998244353 #define MAX 2020 inline int read() { int x=0;bool t=false;char ch=getchar(); while((ch<'0'||ch>'9')&&ch!='-')ch=getchar(); if(ch=='-')t=t…
BZOJ 题意即求\[\sum_{i=0}^n\sum_{j=1}^{a+id}\sum_{x=1}^jx^k\] 我们知道最后一个\(\sum\)是自然数幂和,设\(f(n)=\sum_{x=1}^nx^k\),这是一个\(k+1\)次多项式,可以插值求出(当然本题只需要求出任意\(k+3\)个值即可不需要插值). 令\(g(n)=\sum_{i=1}^nf(i)\),(打表)差分可知这是一个\(k+2\)次多项式. 同样令\(h(n)=\sum_{i=0}^ng(a+id)\),同样差分可知…
嘟嘟嘟 本来以为拉格朗日插值是一个很复杂的东西,今天学了一下才知道就是一个公式-- 我们都知道\(n\)个点\((x_i, y_i)\)可以确定唯一一个最高次为\(n - 1\)的多项式,那么现在我们已知这\(n\)个点,求这个多项式代入\(k\)时的值. 首先都能想到用高斯消元\(O(n ^3)\)求出多项式,然后代入\(k\). 但是这样有点慢,于是拉格朗日就找到了一种\(O(n ^2)\)的方法. 他不知怎么的想出了这么一个式子: \[f(k) = \sum_{i = 0} ^{n}{y_…
如果打表发现某个数列: 差分有限次之后全为0 例如: 2017新疆乌鲁木齐ICPC现场赛D题 ,,,,,,,,,,…… [2018江苏南京ICPC现场赛也有这样的题目] 那么可以使用以下黑科技计算出第k(1e18)项(对质数取模) (原理: 拉格朗日插值) 预处理复杂度为线性, 每次计算复杂度为: O(传入项数个数)[同样也是线性] 以下代码为内测版, 出锅了fold不背锅, 欢迎指出bug ------------------------下面是模板代码---------------------…
[BZOJ4559]成绩比较(动态规划,拉格朗日插值) 题面 BZOJ 洛谷 题解 显然可以每门课顺次考虑, 设\(f[i][j]\)表示前\(i\)门课程\(zsy\)恰好碾压了\(j\)个\(yyb\)的方案数. 那么,思考转移,显然是原来碾压了\(k\)个人,但是在考虑到这一门课程的时候有些人没被碾压了, 所以转移就是\(f[i][j]=f[i-1][k]*C_k^j*C_{n-k-1}^{n-rank[i]-j}*P[i]\) 大致的含义就是,原先\(zsy\)碾压了\(k\)个人,但是…