需要用到概率论的容斥定理以及计算1 ^ 4 + 2 ^ 4 + ……+ n ^ 4的计算公式1^4+2^4+……+n^4=n(n+1)(2n+1)(3n^2+3n-1)/30

#pragma comment(linker,"/STACK:1024000000,1024000000")
#include <cstdio>
#include <cmath>#define LL long long
const LL mod = 1e9 + 7;
#define MAX 10000int len, prime[MAX], num[30];
bool vis[MAX + 5];
LL n, sum, pi;void get_prime(){len = 0;for(int i = 2; i<=MAX; ++i){if(!vis[i]) prime[len++] = i;for(int j = i * i; j <= MAX; j+=i) vis[j] = 1;}
}LL power(LL x, LL y){if(y == 0) return 1;if(y == 1) return x;LL v = power(x, y / 2);v = v * v % mod;if(y % 2 == 1) v = v * x % mod;return v;
}LL cal(LL v){return v * (v  + 1) % mod * (v * 2 + 1) % mod * (v * v * 3 % mod + v * 3 - 1 + mod) % mod * pi % mod;
}void dfs(int cnt, int p, int pos, LL s){if(cnt % 2 == 1) sum = (sum + cal(n / s) * s % mod * s % mod * s % mod * s % mod) % mod;else sum = (sum - cal(n / s) * s % mod * s % mod * s % mod * s % mod + mod) % mod;for(int i = pos; i < p; ++i)dfs(cnt + 1, p, i + 1, s * num[i] % mod);
}int main ()
{//freopen ("in.txt", "r", stdin);get_prime();//for(int i = 0; i < len; ++i) printf("%d ", prime[i]);pi = power(30, mod - 2);int t;scanf ("%d", &t);while (t--){int x, p = 0;scanf("%d", &x);n = x;sum = cal(n);//printf("%d\n", n);for(int i = 0; i < len; ++i){int v = prime[i];if(v > x) break;if(x % v == 0) num[p++] = v;while(x % v ==0) x /= v;}if(x > 1) num[p++] = x;//for(int i = 0; i < p; ++i) printf("%d ", num[i]);for (int i = 0; i < p; ++i)dfs(0, p, i + 1, (LL)num[i]);printf("%lld\n", sum);}return 0;
}

zoj 3547 The Boss on Mars相关推荐

  1. HDU 4059 The Boss on Mars (容斥)(2011 Asia Dalian Regional Contest)

    The Boss on Mars 思路 显然我们可以求得∑i=1ni4=6n5+15n4+10n3−n30\sum_{i = 1} ^{n} i ^ 4 = \frac{6n^5 + 15n^4 + ...

  2. 【zoj 3547】【zoj 3548】8.17模拟赛

    题目来源:未知,zoj3547,3548 t1 [问题描述] 若干年之后,XJH找工作面试,面试官给了他这样一个题目. 你有一个N*N的回型矩阵,保证N是奇数. 例如,当N=5的时候,矩阵如下: 现在 ...

  3. hdu 4059 The Boss on Mars

    题意 求1到之间所有与n互质的数的四次幂之和. 分析 分解n^5-(n-1)^5..可以求出1^4+2^4+...+n^4的公式S(n)=1/30*(n^5+15*n^2*(n+1)^2-10*n*( ...

  4. HDU-4059 The Boss on Mars 容斥定理

    将与N不互质的数全部找出来,再应用容斥定理求得最后的结果.这题在求 a/b MOD c 的时候使用费马小定理等价于 a*b^c(-2) MOD c.用x/lnx 可以估计出大概有多少素数. 代码如下: ...

  5. hdu 4059 The Boss on Mars 容斥

    题目链接 求出ai^4+a2^4+......an^4的值, ai为小于n并与n互质的数. 用容斥做, 先求出1^4+2^4+n^4的和的通项公式, 显然是一个5次方程, 然后6个方程6个未知数, 我 ...

  6. 莫比乌斯,欧拉函数题目练习(完结)

    Starttime:2020/11/16Start\ time:2020/11/16Start time:2020/11/16 Lastupdatetime:2020/11/28Last\ updat ...

  7. Forever小浮的数学推公式专题题解

    B.三足鼎立 题目链接 https://vjudge.net/contest/252255#problem/B 题意 已知s,u,v满足 arctan(1/s) = arctan(1/u)+arcta ...

  8. c语言一维数组转化为二维矩阵,js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  9. zoj 3554 A Miser Boss

    题意:有a.b.c三个人同时工作,三个人做不同的任务需要不同的时间,但最后要求三个人做事情的总时间相同,输出做完所有任务需要的最少时间,如果无法达到三个人总工作时间相同,则输出"No&quo ...

最新文章

  1. 基于stm32f405控制三相无刷电机例程_ST SSC 频道 | 基于ST STM32F302R8T6 电机空气压缩机方案...
  2. [云炬ThinkPython阅读笔记]1.7 调试
  3. Excel Chart
  4. 【python】python redis的安装与使用
  5. 选中下拉列表显示全部数据_小白都能学会的多级下拉列表,让你的Excel效率提升百倍...
  6. python——Web服务开发(一)Flask模块
  7. [转载]什么是 Design Hackathon?
  8. 原来Android还可以这样通过反射,获取jar包属性及方法
  9. 这些面试机会,你该主动放弃!
  10. 黑马程序员传智播客 python生成器 学习笔记
  11. Spring的bean管理(注解注入属性)
  12. 盘式过滤器工作原理介绍
  13. 解决U盘传输文件过大的问题
  14. MEncoder的基础用法—6.5. 编码为MPEG格式
  15. 炒币疯狂的背后,如何解决区块链技术落地问题?
  16. 如何在PCB中放置禁止触摸标志
  17. eve-ng模拟器安装在部署使用
  18. 安装并使用Panoply (netCDF, HDF and GRIB Data Viewer)
  19. 中国核电项目工程师圆满完成友勤2018年第七期P6软件培训课程。
  20. 【思想感悟】人生就是一场直播

热门文章

  1. 线性回归损失函数为什么要用平方形式
  2. 中国建筑节能行业投资动向分析及运营策略规划咨询报告2021-2027年
  3. SAE取消每日免费云豆赠送机制
  4. Oracle客户端安装教程
  5. SQL-SQLServer(926)
  6. POSIX 消息队列基础知识复习,以及相关例程
  7. MVC项目开发中那些用到的知识点(Asp.Net Mvc3.0 Areas)
  8. 中小企业私有云解决方案浅谈
  9. 8000字讲清楚从0到1搭建电商商品中心(建议收藏)
  10. 系统解读:权限设计指南