P4781 拉格朗日插值】的更多相关文章

#include <bits/stdc++.h> using namespace std; #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) #define pb push_back #define mp make_pair #define all(x) (x).begin(),(x).end() #define fi first #define se secon…
P4781 [模板]拉格朗日插值 证明 :https://wenku.baidu.com/view/0f88088a172ded630b1cb6b4.html http://www.ebola.pro/article/notes/Lagrange #include<bits/stdc++.h> using namespace std; #define mod 998244353 #define ll long long #define maxn 2345 ll n,k,x[maxn],y[ma…
嘟嘟嘟 本来以为拉格朗日插值是一个很复杂的东西,今天学了一下才知道就是一个公式-- 我们都知道\(n\)个点\((x_i, y_i)\)可以确定唯一一个最高次为\(n - 1\)的多项式,那么现在我们已知这\(n\)个点,求这个多项式代入\(k\)时的值. 首先都能想到用高斯消元\(O(n ^3)\)求出多项式,然后代入\(k\). 但是这样有点慢,于是拉格朗日就找到了一种\(O(n ^2)\)的方法. 他不知怎么的想出了这么一个式子: \[f(k) = \sum_{i = 0} ^{n}{y_…
洛谷传送门 板题-注意一下求多个数的乘积的逆元不要一个个快速幂求逆元,那样很慢,时间复杂度就是O(n2log)O(n^2log)O(n2log).直接先乘起来最后求一次逆元就行了.时间复杂度为O(nlog+n2)=O(n2)O(nlog+n^2)=O(n^2)O(nlog+n2)=O(n2) 这样的拉格朗日插值是预处理O(n2)O(n^2)O(n2),插入O(n)O(n)O(n),查询O(n)O(n)O(n)的.使用的前提是可以求逆元. CODE #include<cstdio> #inclu…
The Sum of the k-th Powers There are well-known formulas: , , . Also mathematicians found similar formulas for higher degrees. Find the value of the sum modulo 109 + 7 (so you should find the remainder after dividing the answer by the value 109 + 7).…
常系数齐次线性递推 具体记在笔记本上了,以后可能补照片,这里稍微写一下,主要贴代码. 概述 形式: \[ h_n = a_1 h_{n-1}+a_2h_{n-2}+...+a_kh_{n-k} \] 矩阵乘法是\(O(k^3 \log n)\) 利用特征多项式可以做到\(O(k^2\log n)\) 特征多项式 特征值和特征向量 特征多项式 \[ f(\lambda) = \mid M - \lambda I\mid \] 是关于\(\lambda\)的\(n\)次多项式 根据\(Cayley-…
private static void QuictSort(int[] zu, int left, int right) { if (left < right) { ; ; ]; while (true) { while (i<right && zu[i]<mid) { i++; } while (j > left && zu[j] > mid) { j--; } if (i == j) { break; } int temp = zu[i];…
传送门 题面图片真是大到离谱-- 题目要求的是 \(\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,后面的自然数次幂…
题目大意 ​ 有一个\(n\)个点\(m\)条边的图,每条边有一种颜色\(c_i\in\{1,2,3\}\),求所有的包括\(i\)条颜色为\(1\)的边,\(j\)条颜色为\(2\)的边,\(k\)条颜色为\(3\)的边的生成树的数量. ​ 对\({10}^9+7\)取模. ​ \(n\leq 50\) 题解 ​ 如果\(\forall i,c_i=1\),就可以直接用基尔霍夫矩阵计算生成树个数.但是现在有三种颜色,不妨设\(c_i=2\)的边的边权为\(x\),\(c_i=3\)的边的边权为…
题目大意 ​ 一个序列\(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…