BZOJ 3601 一个人的数论 (拉格朗日插值+莫比乌斯反演)
题意
略
题解
CODE
#pragma GCC optimize (3)
#include <bits/stdc++.h>
using namespace std;
char cb[1<<15],*cs=cb,*ct=cb;
#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<15,stdin),cs==ct)?0:*cs++)
void read(int &res){
char ch; for(;!isdigit(ch=getc()););
for(res=ch-'0';isdigit(ch=getc());res=res*10+ch-'0');
}
const int MAXD = 105;
const int MAXN = 1005;
const int mod = 1e9 + 7;
int d, n, p[MAXN], a[MAXN];
int inv[MAXD], invf[MAXD], rinv[MAXD];
int y[MAXD], cf[MAXD], dp[MAXD];
inline int qpow(int a, int b) {
int re = 1;
while(b) {
if(b&1) re = 1ll * re * a % mod;
a = 1ll * a * a % mod; b >>= 1;
}
return re;
}
int main () {
read(d), read(n);
for(int i = 1; i <= n; ++i) read(p[i]), read(a[i]);
dp[0] = 1;
for(int i = 1; i <= d+2; ++i) {
y[i] = (y[i-1] + qpow(i, d)) % mod;
for(int j = d+2; j >= 0; --j)
dp[j] = ((j ? dp[j-1] : 0) - 1ll * dp[j] * i) % mod;
}
inv[0] = invf[0] = rinv[0] = 1;
inv[1] = invf[1] = 1; rinv[1] = -1;
for(int i = 2; i <= d+2; ++i)
inv[i] = 1ll * (mod - mod/i) * inv[mod%i] % mod,
invf[i] = 1ll * invf[i-1] * inv[i] % mod,
rinv[i] = 1ll * rinv[i-1] * (-inv[i]) % mod;
for(int i = 1; i <= d+2; ++i) {
for(int j = 0; j <= d+2; ++j) {
dp[j] = 1ll * ((j ? dp[j-1] : 0) - dp[j]) * inv[i] % mod;
cf[j] = (cf[j] + 1ll * dp[j] * invf[i-1] % mod * rinv[d+2-i] % mod * y[i]) % mod;
}
for(int j = d+2; j >= 0; --j)
dp[j] = ((j ? dp[j-1] : 0) - 1ll * dp[j] * i % mod) % mod;
}
int ans = 0;
for(int i = 0; i <= d+1; ++i) {
int tmp = 1;
for(int j = 1; j <= n; ++j)
tmp = 1ll * tmp * (qpow(qpow(p[j], a[j]), i) - 1ll * qpow(p[j], d) * qpow(qpow(p[j], a[j]-1), i) % mod) % mod;
ans = (ans + 1ll * tmp * cf[i] % mod) % mod;
}
printf("%d\n", (ans + mod) % mod);
}
BZOJ 3601 一个人的数论 (拉格朗日插值+莫比乌斯反演)的更多相关文章
- BZOJ.2655.calc(DP/容斥 拉格朗日插值)
BZOJ 洛谷 待补.刚刚政治会考完来把它补上了2333.考数学去了. DP: 首先把无序化成有序,选严格递增的数,最后乘个\(n!\). 然后容易想到令\(f_{i,j}\)表示到第\(i\)个数, ...
- BZOJ.5339.[TJOI2018]教科书般的亵渎(拉格朗日插值) & 拉格朗日插值学习笔记
BZOJ 洛谷 题意的一点说明: \(k\)次方这个\(k\)是固定的,也就是最初需要多少张亵渎,每次不会改变: 因某个怪物死亡引发的亵渎不会计分. 不难发现当前所需的张数是空格数+1,即\(m+1\ ...
- 【BZOJ】3453: tyvj 1858 XLkxc 拉格朗日插值(自然数幂和)
[题意]给定k<=123,a,n,d<=10^9,求: $$f(n)=\sum_{i=0}^{n}\sum_{j=1}^{a+id}\sum_{x=1}^{j}x^k$$ [算法]拉格朗日 ...
- bzoj 4559 [JLoi2016]成绩比较 —— DP+拉格朗日插值
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4559 看了看拉格朗日插值:http://www.cnblogs.com/ECJTUACM-8 ...
- BZOJ 5330 Luogu P4607 [SDOI2018]反回文串 (莫比乌斯反演、Pollard Rho算法)
题目链接 (BZOJ) https://www.lydsy.com/JudgeOnline/problem.php?id=5330 (Luogu) https://www.luogu.org/prob ...
- BZOJ 3601: 一个人的数论
题目链接:www.lydsy.com/JudgeOnline/problem.php?id=3601 题意: 思路: 因此可以用高斯消元得到ai. const int mod=1000000007; ...
- BZOJ 3601 一个人的数论 ——莫比乌斯反演 高斯消元
http://www.cnblogs.com/jianglangcaijin/p/4033399.html ——lych_cys 我还是太菜了,考虑一个函数的值得时候,首先考虑是否积性函数,不行的话就 ...
- 牛客Wannafly挑战赛23F 计数(循环卷积+拉格朗日插值/单位根反演)
传送门 直接的想法就是设 \(x^k\) 为边权,矩阵树定理一波后取出 \(x^{nk}\) 的系数即可 也就是求出模 \(x^k\) 意义下的循环卷积的常数项 考虑插值出最后多项式,类比 \(DFT ...
- BZOJ3561 DZY Loves Math VI 数论 快速幂 莫比乌斯反演
原文链接http://www.cnblogs.com/zhouzhendong/p/8116330.html UPD(2018-03-26):回来重新学数论啦.之前的博客版面放在更新之后的后面. 题目 ...
随机推荐
- mysql查看索引的大小
1 ,show table status from your_database_name 这个不准: 2,这个比较详细 select database_name, table_name, index ...
- English Grammar in Use - Part1 Present and past
Unit 1 Present continuous (I am doing) A) Am/is/are + -ing is the Present continuous. B) I am doing ...
- Win32小游戏--贪吃蛇
近日里学习了关于win32编程的相关知识,利用这些知识制作了一款贪吃蛇小游戏,具体细节还是分模块来叙述 前期准备:在网上找到一些贪吃蛇的游戏素材图片,以及具体的逻辑框图 在正式写功能之前,先把一系列环 ...
- 1. Spark基础解析
1.1 Spark概述 1.1.1 什么是Spark 官网:http://spark.apache.org Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMP ...
- Arm-Linux 移植 FFMPEG库 + x264
背景: ffmpeg 中带有264的解码,没有编码,需要添加x264.libx264是一个自由的H.264编码库,是x264项目的一部分,使用广泛,ffmpeg的H.264实现就是用的libx26 ...
- vmware vcsa-故障1
1.重启vcsa后不能登陆webclient 做实验得时候重启vcsa后不能登陆 web client 开启vcsa直接进入命令模式,命令行登陆后提示:failed to connect to se ...
- typeAliasesPackage 属性的作用
applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- Linux入职基础-1.1_国内开源的主要镜像站
Linux入职基础-1.1_国内开源的主要镜像站 东北地区: 东北大学 http://mirror.neu.edu.cn 大连理工大学 http://mirror.dlut.edu.cn 大连东软 ...
- The Art Of Loving
The Art Of Loving 来源 https://www.zhihu.com/question/23720541 ----------------------------- 茫然的蒲公英 有书 ...
- 五、eureka客户端自动配置
所有文章 https://www.cnblogs.com/lay2017/p/11908715.html 正文 前面的几篇文章中,我们从eureka Server端的角度看了看eureka的几个核心要 ...