HDU 6706 huntian oy

题意 求以下式子的值,T组数据各个字母满足≤ n , a , b 109 ,a,b互质

思路:

卡常毒瘤题,出题人时限卡的非常紧,考场上推出来又T又WA

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn=1e6+10,mod=1e9+7;
 5 const int inv2=500000004,inv3=333333336;
 6 int phi[maxn],n,ans;
 7 
 8 vector<int> p;bool np[maxn];
 9 map<int,int> Phi;
10 
11 void init(){
12     phi[1]=1;
13     for(int i=2;i<maxn;++i){
14         if(!np[i]){
15             p.push_back(i);
16             phi[i]=i-1;
17         }
18         for(int j=0;j<p.size()&&p[j]*i<maxn;++j){
19             np[i*p[j]]=true;
20             if(i%p[j]==0){
21                 phi[i*p[j]]=phi[i]*p[j];
22                 break;
23             }
24             phi[i*p[j]]=phi[i]*(p[j]-1);
25         }
26     }
27     for(int i=1;i<maxn;++i)
28         phi[i]=(1ll*phi[i]*i%mod+phi[i-1])%mod;
29 }
30 int read(){
31     int x=0;char c=getchar();
32     for(;!isdigit(c);c=getchar());
33     for(;isdigit(c);c=getchar())x=(x<<3)+(x<<1)+(c^48);
34     return x;
35 }
36 void Write(int x){
37     if(x<=0)return;
38     Write(x/10);putchar(x%10+'0');
39 }
40 void write(int x){
41     if(x==0)putchar('0');
42     else Write(x);
43 }
44 int Sum2(int n){
45     int ret=n;
46     ret=(ll)ret*inv2%mod;
47     ret=(ll)ret*(n+1)%mod;
48     return ret;
49 }
50 int Sum3(int n){
51     int ret=Sum2(n),tmp=(2ll*n+1)%mod;
52     ret=(ll)ret*inv3%mod;
53     ret=(ll)ret*tmp%mod;
54     return ret;
55 }
56 int phii(int n){
57     if(n<maxn)return phi[n];
58     if(Phi.count(n))return Phi[n];
59     int ret=Sum3(n);
60     for(int i=2,r,tmp;i<=n;i=r+1){
61         r=min(n,n/(n/i));
62         tmp=(ll)phii(n/i)*(Sum2(r)-Sum2(i-1))%mod;
63         ret-=tmp;
64         if(ret<0)ret+=mod;
65         if(ret>=mod)ret-=mod;
66     }
67     return Phi[n]=ret;
68 }
69 void solve(){
70     n=read();read();read();
71     Phi.clear();
72     ans=(phii(n)-1+mod)%mod;
73     ans=(ll)inv2*ans%mod;
74     write(ans);puts("");
75 }
76 int main(){
77     init();
78     int T;scanf("%d",&T);
79     for(;T--;)solve();
80     return 0;
81 }

 

转载于:https://www.cnblogs.com/ndqzhang1111/p/11402780.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux 查看空间(内存、磁盘、文件目录、分区)的几个命令

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. free free命令用于显示内存状态。 free指令会显示内存的使用情况&#xff0c;包括实体内存&#xff0c;虚拟的交换文件内存&#x…

Ubuntu安装LNMP

安装Nginx使用 apt-get install nginx 就能自动安装 Nginx。 为了确保获得最新的Nginx&#xff0c;可以先使用 apt-get update 命令更新源列表。 安装好之后&#xff0c;使用 dpkg -S nginx 命令来搜索 nginx相关文件。 可以从命令显示结果看出 Nginx默认的安装位置是/etc/ngin…

广州学车科目三路考操作步骤要领

广州学车&#xff0c;科目三路考操作步骤是关键&#xff0c;许多朋友明明会开车&#xff0c;却因为一些步骤上的小疏忽而不得到不补考&#xff0c;今天总结出这个广州学车科目三路考操作步骤要领&#xff0c;希望对大家有帮助&#xff1a; 广州学车&#xff0c;科目三路考操作步…

如何和何时使用 CSS 的权重设置 !important (建议:永不使用!)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 特别声明&#xff1a;此篇文章由David根据Louis Lazaris的英文文章原名《!important CSS Declarations: How and When to Use Them》进行…

独立组件开发打包

组件单独打包 先在src下面新建hymenucsg.js文件 然后在build下的webpack.base.conf.dist.js里面 设置入口文件hymenucsg: ./src/hymenucsg.js,//csg 最后运行打包命令&#xff1a;npm run dist:dev 之后会在dist下面生成组件的js和css文件 使用&#xff1a; html中引入js和css …

广州科目三电子考需注意哪些问题?

广州驾考科目三从4月1日起开始试行电子评判与人工评判相结合的新制度&#xff0c;即电子路考&#xff0c;多数学员对新制度表示不适应&#xff0c;那么&#xff0c;科目三电子路考需要注意哪些问题? 从4月1日开始&#xff0c;科目三考试将试行计算机辅助与人工评判相结合的制度…

解决 VUE: 本地运行和服务器上运行样式不一致,run、build 运行时样式有出入

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 我的情况&#xff1a; 我遇到 2 种情况&#xff0c;一个是表格的分页样式有变化。另一个是导航菜单样式有变化。 2. 解决&#xff…

Ubuntu链接服务器

本篇文章介绍&#xff0c;如何在Ubuntu系统下连接远程Ubuntu系统并传输文件。 一. 连接远程Ubuntu服务器。 1. 打开命令行&#xff0c;输入 : sudo apt-get update &#xff0c; 对系统进行更新。 2. 安装 OpenSSH Server&#xff0c;输入 &#xff1a; sudo apt-get install …

开发中的“软”与“硬”:高画质移动游戏开发之道

摘要&#xff1a;游戏的效果不仅与游戏引擎的渲染相关&#xff0c;与硬件优化也有千丝万缕的联系。一款基于芯片优化的移动游戏界面&#xff0c;甚至可以堪比视频游戏的视觉效果。高通半导体事业部资深经理刘晓光从软硬件两个层面分享了移动游戏开发之道。 在今年的Unity亚洲开…

解决 VUE: [Vue warn]: Do not use built-in or reserved HTML elements as component id: xx

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 新增一个组件&#xff0c;运行无问题&#xff0c;但F12报错&#xff1a; vue.esm.js?efeb:591 [Vue warn]: Do not use built-in o…

Linux系统重置和修改root密码

Linux系统经常会出现忘记root密码的情况&#xff0c;写下此随笔&#xff0c;以便记忆和学习。 一、重置root密码的步骤如下&#xff1a; 1.如果系统是开机状态&#xff0c;重启一下。进到下面这个界面按字母“e”键。 2.找到 linux16这一行&#xff0c;将下图红框中的内容修改为…

KETTLE 使用教程

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新&#xff1a;kettle会自动对比用户设置的对比字段&#xff0c;若目标表…

为什么你应该参与到开源项目中

试图描述开源并不是一件容易的事——很多图书作家&#xff0c;社区领袖和主持人对于开源社区的工作原理以及它是否对新人程序员有帮助持不同意见试图描述开源并不是一件容易的事——很多图书作家&#xff0c;社区领袖和主持人对于开源社区的工作原理以及它是否对新人程序员有帮…

根据库位获取仓库id

通过location获取warehouse location.get_warehouse() 转载于:https://www.cnblogs.com/brucexl/p/11425603.html

AI:初学者如何从零学习人工智能?看完你就懂了

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 此文是想要进入人工智能这个领域、但不知道从哪里开始的初学者最佳的学习资源列表。 一、机器学习 有关机器学习领域的最佳介绍&#…

Ubuntu下Navicat 配置

创建快捷方式: 1. 创建navicat.desktop文件 2.内容如下: [Desktop Entry]EncodingUTF-8NameNavicat PremiumCommentThe Smarter Way to manage dadabaseExec/bin/sh "/home/fit/Downloads/navicat112_premium_en_x64/start_navicat"Icon/home/fit/Downloads/navicat1…

历史上最知名的15位计算机科学家

基于维基百科上超过11,000位历史人物的数据&#xff0c;麻省理工学院媒体实验室创建出了一种名为“历史人气指数&#xff08;HPI&#xff09;”的参数。以下列出了15个历史上最知名的计算机科学家&#xff0c;我们来看一下他们的“HPI”分数。麻省理工学院媒体实验室推出了一个…

想要转人工智能,程序员该如何学习?(学习路线、知识体系)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 对于程序员来说&#xff0c;码农之路并不是一帆风顺。对于每一个入行IT业的社会青年来说&#xff0c;谁不是抱着想要成为最高峰的技术大…

js 的匿名函数

var sum function(x,y){alert(xy); }; 像上面这种&#xff0c;function后面没有函数名的函数就叫做匿名函数。以上是将匿名函数赋值给了sum变量。 还有一种写法&#xff1a; alert((function(x,y){return xy; })(2,3));//结果为5 当单独运行一个匿名函数时会报错&#xff0c;比…

科目三并不难 盘点科目三技巧

科目三难不难&#xff1f;相信很多学员都会有这个疑问&#xff0c;其实&#xff0c;找驾校网可以负责任的告诉你&#xff0c;只要掌握了科目三考试技巧&#xff0c;通过科目三的机会将会大大增加。下面就请看科目三技巧&#xff0c;帮你轻松通过驾校科目三考试。   科目三考试…