题目链接:www.lydsy.com/JudgeOnline/problem.php?id=3601

题意:

思路:

因此可以用高斯消元得到ai。

const int mod=1000000007;
const int N=111;i64 myPow(i64 x,i64 y)
{if(y<0) return myPow(myPow(x,mod-2),-y);i64 ans=1;while(y){if(y&1) ans=ans*x%mod;x=x*x%mod;y>>=1;}return ans;
}i64 a[N][N],pp[N];
int n,p;i64 A[N];void init()
{int i,j;for(i=0;i<=p+1;i++){pp[i]=myPow(i+1,p)+(i==0?0:pp[i-1]);pp[i]%=mod;a[i][p+2]=pp[i];a[i][0]=1;i64 pre=1;for(j=1;j<=p+1;j++){pre=pre*(i+1)%mod;a[i][j]=pre;}}int k;for(i=0;i<=p+1;i++){for(j=i;j<=p+1;j++) if(a[j][i]) break;if(i!=j){for(k=0;k<=p+2;k++) swap(a[i][k],a[j][k]);}for(j=0;j<=p+1;j++) if(j!=i&&a[j][i]){i64 tmp=a[j][i]*myPow(a[i][i],-1)%mod;for(k=0;k<=p+2;k++) a[j][k]=(a[j][k]-tmp*a[i][k])%mod;}}for(i=0;i<=p+1;i++){A[i]=a[i][p+2]*myPow(a[i][i],-1)%mod;}
}int d[1111][2];int main()
{scanf("%d%d",&p,&n);init();int i;for(i=1;i<=n;i++) scanf("%d%d",&d[i][0],&d[i][1]);i64 ans=0;for(i=0;i<=p+1;i++){i64 tmp=1;int j;for(j=1;j<=n;j++){tmp=tmp*myPow(d[j][0],(i64)d[j][1]*i)%mod;tmp=tmp*(1-myPow(d[j][0],p-i))%mod;}ans+=A[i]*tmp%mod;}ans%=mod;if(ans<0) ans+=mod;printf("%lld\n",ans);
}

转载于:https://www.cnblogs.com/jianglangcaijin/p/4033399.html

BZOJ 3601: 一个人的数论相关推荐

  1. #3601. 一个人的数论

    #3601. 一个人的数论 首先这个转化还是很巧妙的,或者很套路的,直接莫比乌斯反演,然后看到了自然数幂之和的形式,那么我们就可以转化为多项式处理,项数就减少到了d+1,然后看到题目给出的都是质因数分 ...

  2. 【bzoj 3601】一个人的数论 (莫比乌斯反演+伯努利数)

    题解: (吐槽:网上题解那个不严谨猜测真是没谁了--关键是还猜得辣么准--) 直接化简到求和那一段: $f_{d}(n)=\sum_{t|n}\mu(t)t^{d}\sum_{i=1}^{\frac{ ...

  3. BZOJ 1192 鬼谷子的钱袋 数论

    1192:鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1926  Solved: 1417 题目连接 http://www.lyds ...

  4. BZOJ 2005: [Noi2010]能量采集( 数论 + 容斥原理 )

    一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) *  2 - 1. 设g(i)为 gcd(x, y) = i ( 1 <= x <= ...

  5. [bzoj] 1257 余数之和sum || 数论

    原题 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数. \(\sum^n_{i=1} ...

  6. linux挂移动硬盘命令,linux挂载命令mount及U盘、移动硬盘的挂载

    一.mount的命令格式是(注意mount只能在root权限下运行) mount dervice dir dervice是要挂载的设备,dir是挂载点 二.查看当前磁盘列表的设备 fdisk -l 显 ...

  7. BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)

    BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块) 手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csd ...

  8. 【BZOJ】【P4407】【于神之怒加强版】【题解】【数论】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4407 这两天刚好在给学弟讲数论,bzoj上就来了一道裸题-- 答案就是\sum_D F(D) ...

  9. 【刷题】BZOJ 4176 Lucas的数论

    Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目"求Sigma(f(i)),其中1<=i< ...

最新文章

  1. Lombok!代码简洁神器还是代码“亚健康”元凶?
  2. 计算机四级考试操作系统单元题,计算机四级考试操作系统单选练习
  3. 详解模板注入漏洞(下)
  4. Nacos简介、下载与配置持久化到Mysql
  5. php中MySQL数据库导入与导出_Mysql数据库导出和导入
  6. 12张图带你彻底理解分布式事务产生的场景和解决方案!!
  7. Python chr 函数 - Python零基础入门教程
  8. 解析Redis操作五大数据类型常用命令
  9. Kaggle 数据清洗挑战 Day 5 - 处理不一致数据
  10. DeepWalk: Online Learning of Social Representations-1
  11. 重磅炸弹!马云正式宣布:1天1个亿,全世界沸腾了!
  12. 《Android开发从零开始》课程下载地址汇总
  13. fg、bg、jobs、、nohup、ctrl + z命令
  14. 软考高级 真题 2016年上半年 信息系统项目管理师 论文
  15. 三角函数逼近锯齿函数和阶梯函数
  16. 网络安全如何“疏而不漏”,了解一下锐捷大数据安全平台“降维攻击”
  17. 清华大学计算机研究生课程表
  18. Mac SublimeREPL一点经验
  19. 【753. 破解保险箱】
  20. java吸血鬼_吸血鬼数

热门文章

  1. Phpcms与ucenter整合系统设置
  2. 解决kubernetes中ingress-nginx配置问题
  3. vue-cli 如何打包上线的方法示例
  4. filebeat成精之路
  5. 删除ctrl alt del更改密码
  6. oc 自定义导航栏背景
  7. 其原因可能是堆被损坏,这也说明 xxx.exe 中或它所加载的任何 DLL 中有 bug
  8. axios 参数对象的值为数组时,后端无法接收(待解决)
  9. 在Eclipse上安装Activiti插件
  10. PHP curl 实现RESTful PUT DELETE 实例