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…

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

广州学车&#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》进行…

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

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

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

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

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

摘要&#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;社区领袖和主持人对于开源社区的工作原理以及它是否对新人程序员有帮…

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

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

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

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

【转载】矩阵求导、几种重要的矩阵及常用的矩阵求导公式

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。本文链接&#xff1a;https://blog.csdn.net/daaikuaichuan/article/details/80620518 一、矩阵求导 一般来讲&#xff0c;我们约定x(x1,x2,...xN)…

数据结构与算法绪论

基本概念和术语 数据数据是信息的载体&#xff0c;是描述客观事物属性的数&#xff0c;字符以及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。 数据元素数据元素是数据的基本单位&#xff0c;通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成…

Windows10 网络图标消失 连接不上网络 的解决方法

【背景】电脑win10的&#xff0c;下载一个软件重启之后网络图标消失&#xff0c;并且无法联网。 参照此解决方法&#xff1a; 原因&#xff1a; 【Windows Event Log】服务对应的注册表出现问题&#xff0c;导致无法正常启动&#xff0c;进而导致一些依赖于它的联网服务无法正常…

VUE:解决 [Vue warn]: Error in render: “TypeError: item.slice is not a function“ (取部分数据)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 双重循环中使用 slice方法&#xff0c;报错&#xff1a; [Vue warn]: Error in render: "TypeError: item.slice is not a fun…

在 js 中怎样获得 checkbox 里选中的多个值?(jQuery)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 思路&#xff1a;利用name属性值获取checkbox对象&#xff0c;然后循环判断checked属性&#xff08;true表示被选中&#xff0c;false表…

VUE项目中 获得多个复选框 checkbox 选中的值(jquery)+ 解决 Uncaught TypeError: Cannot read property ‘push‘ of undefine

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 表格生成后第一列是复选框&#xff0c;效果&#xff1a; 表格是直接循环展示的后台返回数据&#xff0c;代码写法&#xff1a; 2. 得…

[开源] FreeSql.AdminLTE.Tools 根据实体类生成后台管理代码

前言 FreeSql 发布至今已经有9个月&#xff0c;功能渐渐完善&#xff0c;自身的生态也逐步形成&#xff0c;早在几个月前写过一篇文章《ORM 开发环境之利器&#xff1a;MVC 中间件 FreeSql.AdminLTE》&#xff0c;您可以先阅读上一篇文章内容了解来龙去脉&#xff0c;再回到这里…

《小狗钱钱》:理财首先应该有一种强烈的意识

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 《小狗钱钱》读完了。以下是个人觉得很有帮助和启发意义的摘抄。 1) "忽视就是一种认输"。2) 并非困难使我们放弃&#xff0c…