当前位置: 首页 > 编程日记 > 正文

HDU 6051 - If the starlight never fade | 2017 Multi-University Training Contest 2

/*
HDU 6051 - If the starlight never fade [ 原根,欧拉函数 ]  |  2017 Multi-University Training Contest 2
题意:给定 m,p, p 是素数设 f(i) 是 满足 (x+y)^i ≡ x^i mod p 的 (x,y) 对数 且 1 ≤ x ≤ p-1 , 1 ≤ y ≤ m 求 ∑[1≤i≤p-1] i*f(i)限制: m ≤ p-1, 2 ≤ p ≤ 1e9
分析:设 g 为 p 的原根,则x,y可表示为 x = g^a, y = g^b(x+y)^i ≡ x^i (mod p)(g^a + g^b)^i ≡ g^ai (mod p)(1 + g^(b-a))^i ≡ 1 (mod p)设 g^k = 1 + g^(b-a),则 g^ki ≡ 1 (mod p)则 k 满足 ki % (p-1) == 0 ,即 k 是 (p-1)/gcd(i, p-1) 的倍数 由于 0 < k < p-1 , 则k的取值有  (p-1) / ((p-1)/gcd(i, p-1)) - 1 = gcd(i, p-1)-1 个回带 1 + y/x = g^k x = y * (g^k-1)^(-1)x = y * (g^k-1)^(φ(p)-1)则 当y固定时, x, k 一一对应,x的取值也有 gcd(i, p-1)-1 个ans = ∑[1≤i≤p-1] i*f(i)= ∑[1≤i≤p-1] i * m * (gcd(i, p-1)-1)= m * ( ∑[1≤i≤p-1] i * gcd(i, p-1) - p*(p-1)/2)求解 ∑[1≤i≤n] i * gcd(i, n)= ∑[1≤i≤n] i ∑[k|n] k * [gcd(i, n) == k]= ∑[k|n] ∑[1≤i≤n] i * k * [gcd(i, n) == k]= ∑[k|n] k^2 ∑[1≤i≤n/k] i * [gcd(i, n/k) == 1]求解 ∑[1≤i≤n] i * [gcd(i, n) == 1]= (∑[1≤i≤n] i * [gcd(i, n) == 1] + ∑[1≤i≤n] (n-i) * [gcd(i, n-i) == 1]) / 2= ∑[1≤i≤n] (i+n-i)/2 * [gcd(i, n) == 1]= (n * φ(n) + [n==1]) / 2
*/
#include <bits/stdc++.h>
using namespace std;
#define LL long long
const LL MOD = 1e9+7;
LL phi(LL n) {LL ans = n;for (LL i = 2; i * i <= n; i++) {if (n % i == 0) {ans -= ans / i;while (n % i == 0) n /= i;}}if (n > 1) ans -= ans/n;return ans;
}
LL Cal(LL x, LL n)
{LL res = 1;res *= ( (n/x)*phi(n/x) + bool(n/x == 1) ) / 2;res %= MOD;res *= x*x % MOD;res %= MOD;return res;
}
LL p, m;
int main()
{int t; scanf("%d", &t);for (int tt = 1; tt <= t; tt++){scanf("%lld%lld", &m, &p);LL ans = 0;for (LL i = 1; i*i <= p-1; i++){if (i*i == p-1){ans += Cal(i, p-1);ans %= MOD;}else if ((p-1)%i == 0){ans += Cal(i, p-1) + Cal((p-1)/i, p-1);ans %= MOD;}}ans += MOD -  p*(p-1)/2 % MOD;ans = ans % MOD * m % MOD;printf("Case #%d: %lld\n", tt, ans);}
}

转载于:https://www.cnblogs.com/nicetomeetu/p/7285334.html

相关文章:

干货!用 Python 快速构建神经网络

作者 | ZackSock责编 | 欧阳姝黎头图 | 下载于视觉中国前言机器学习一直是Python的一大热门方向&#xff0c;其中由神经网络算法衍生出来的深度学习在很多方面大放光彩。那神经网络到底是个个什么东西呢&#xff1f;说到神经网络很容易让人们联想到生物学中的神经网络&#xff…

才知道百度也提供了智能DNS服务 - 加速乐

http://jiasule.baidu.com/ 智能DNS 依托百度多年积累的高精度DNS识别库&#xff0c;平均只需5秒全球DNS服务器全部生效&#xff0c;百度蜘蛛1秒生效。抗攻击、无限解析记录&#xff0c;免费支持电信、联通、移动、铁通、教育网、国外、搜索引擎等分线路解析。 极致云加速 百度…

c#中结构与类的区别

类与结构的差别如何选择结构还是类一&#xff0e;类与结构的示例比较&#xff1a;结构示例&#xff1a;public struct Person {string Name;int height;int weightpublic bool overWeight(){//implement something}}类示例&#xff1a;public class TestTime {int hours;int mi…

Samba amp; Nginx - Resource temporarily unavailable

先说说本人的开发环境&#xff1a;Win7 Editplus VMware(CentosSambaNginx)。用Samba在Centos上把web文件夹(如www)共享&#xff0c;然后在Win7上訪问这个文件夹。之所以这么用的原因有&#xff1a; 习惯了Windows。效率比較高Editplus编辑器好用&#xff0c;相对于vi系列来说…

好多Javascript日期选择器呀-7

the Coolest DHTML Calendar 最特別的在於按下月份跟年份的加減按鈕不放&#xff0c;就可以選擇該項目。但實際上按著左鍵拖曳實在是一件很累的事&#xff0c;而且不懂電腦的 End-user 根本就不知道要按著不放&#xff0c;還得特地花時間去說明真的吃力不討好。 正好這次的專案…

话AI、学实践、探未来,亚马逊云科技AI在线大会报名开启!

Innovate 2021亚马逊云科技 AI 在线大会即将在 4 月 22 日举办。届时&#xff0c;亚马逊云科技大中华区产品部总经理顾凡&#xff0c;以及亚马逊云科技全球人工智能技术副总裁、杰出科学家Alex Smola将联袂为您献上精彩的主题演讲。大会开设六大分会场&#xff0c;可谓是别开生…

linux中的一些命令的想法

用户影子文件 ----shadow为什么要有影子文件因为Linux使用不可逆的加密算法来加密口令。加密算法不可逆的&#xff0c;因此***从密文处得不到明文&#xff0c;但/etc/passwd文件是全局可读的&#xff0c;而且加密算法是公开的&#xff0c;一旦用户有机会获取了/etc/passwd文件&…

vstpd服务

1、安装ftpyum install vsftpd -y systemctl start vsftpd systemctl stop firewalld systemctl enable vsftpd setenforce 0 #关闭selinux或者设置selinux不然会对试验造成影响 lftp ip ##能登陆并且显示&#xff0c;表示安装成功2、vsftpd文件信息/var/ftp …

LINQ to XML 建立,读取,增,删,改

LINQ to XML的出现使得我们再也不需要使用XMLDocument这样复杂的一个个的没有层次感的添加和删除。LINQ可以使的生成的XML文档在内存中错落有致。下面以一个小的例子说名LINQ to XML的简单应用。 需要添加必要的引用。System.XML.Linq , System.XML.Xpath使用XDocument 建立一个…

好多Javascript日期选择器呀-6

<script languagejavascript>var DS_x,DS_y; function dateSelector() //构造dateSelector对象&#xff0c;用来实现一个日历形式的日期输入框。{ var myDatenew Date(); this.yearmyDate.getFullYear(); //定义year属性&#xff0c;年份&#xff0c;默认值为当前系…

市值达 58 亿美元,吴恩达的在线教育平台 Coursera 正式上市

整理 | 寇雪芹出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;4 月 1 日&#xff0c;教育科技公司 Coursera 在纽约证券交易所上市&#xff0c;股票代码为 COUR。该股开盘价定为 39 美元 / 股&#xff0c;截至上市当日收盘&#xff0c;股价上涨至 45 美元 / 股&#…

软件包管理RPM

RPM 程序包管理器&#xff0c;可实现对程序包的安装、更新、查询和卸载操作&#xff0c;应用广泛下面通过实际操作来更好的理解RPM的功能安装程序&#xff1a;-i //安装数据包参数-v //显示安装过程-vv //显示更详细的安装信息-h //配合-v更加直观的显示程序安装过程&#…

好多Javascript日期选择器呀-4

<Script LANGUAGE"JavaScript"> var months new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二&q…

SUBSTRING函數用法

---引用---從第二位開始,取三位 select SUBSTRING([價格條件],2,3) FROM [Ame_FSC_SEBGCelERP].[dbo].[物料採購價格信息表] SELECT * FROM [Ame_FSC_SEBGCelERP].[dbo].[物料採購價格信息表] update [Ame_FSC_SEBGCelERP].[dbo].[物料採購價格信息表] set [價格條件]SUBSTRI…

英特尔发布智慧社区解决方案,全栈技术支撑,涵盖五大战略方向

疫情的发生加速了城市智能化治理进程&#xff0c;而智慧社区作为其中的重要组成部分&#xff0c;在AI、大数据等技术的助力下&#xff0c;健康防疫追踪、应急管理等需求和应用也因此得到快速发展。 一般来说&#xff0c;打造智慧社区主要有两大目标&#xff0c;一方面&#xf…

OpenGLES 关于 数学 的分支 - 线性变化量、离散量、随机量

关于 数学 的分支 - 线性变化量、离散量、随机量太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)本文遵循“署名-非商业用途-保持一致”创作公用协议转载请保留此句&#xff1a;太阳火神的漂亮人生 - 本博客专注于 敏捷开发及移动和物联设备研究&#xff1a;iOS、Androi…

好多Javascript日期选择器呀-5

<HTML> <HEAD> <TITLE>最精致的日历式日期输入控件 (Smart Ver 1.00)</TITLE> </HEAD> <style> body {font-size:12px;font-family:"Tahoma"; } td {font-size:12px;font-family:"Tahoma"; } .inputdate {border:1px…

清明出游,你会“鸽”酒店吗?AI 早已看穿一切

来源 | Hyper超神经作者 | 神经小兮头图 | 下载于视觉中国如今&#xff0c;大数据已经被各行各业所应用&#xff0c;酒店行业也不例外。充分利用大数据&#xff0c;使得酒店能够预测市场需求变化&#xff0c;进行智能化决策分析&#xff0c;改善经营状况。各大 OTA&#xff08;…

ti的硬件时钟和系统时钟同步

1.hwclock -w软到硬 hwclock -s硬到软2. 通过ntp网络时钟控制同步3.etc下的localtime文件和GMT-8转载于:https://www.cnblogs.com/pengkunfan/p/3515517.html

来看看BAT在AR领域的布局,你给打几分?

所谓的AR(增强现实)&#xff0c;就是把真实信息和虚拟世界叠加&#xff0c;并使两者具有交互性。换句话说&#xff0c;AR技术不仅让虚拟对象融入到现实世界中&#xff0c;用户还可以对现实世界做出响应。这是一种共生(symbiont)技术&#xff0c;机器与用户的共生。 而当Pokemon…

解决vim没有颜色的办法

首先打开vim&#xff0c;输入命令 scriptnames看看vim加载了哪些脚本。 :scriptnames 输出入下 1: /home/users/xxx/.vimrc2: /home/users/xxx/tools/share/vim/vim73/colors/darkblue.vim3: /home/users/xxx/tools/share/vim/vim73/syntax/syntax.vim4: /home/users/xxx/tools…

好多Javascript日期选择器呀--1

<script languagejavascript>var DS_x,DS_y; function dateSelector() //构造dateSelector对象&#xff0c;用来实现一个日历形式的日期输入框。{ var myDatenew Date(); this.yearmyDate.getFullYear(); //定义year属性&#xff0c;年份&#xff0c;默认值为当前系…

扶贫干部拍胸脯认证,AI开发者上手零门槛,百度打造 “云智一体”全栈开发杀手锏...

“我可以拍着胸脯说识别准确率很高。”扶贫干部刘乐这样评价他在使用百度EasyDL平台助力扶贫的效果&#xff0c;他是陕西省汉中市扶贫信息中心副主任&#xff0c;也是一名热爱编程的程序员。 在近期百度智能云举办的2021云智技术论坛首场活动上&#xff0c;刘乐介绍&#xff0c…

CSS3 新特性

CSS3 是最新的 CSS 标准&#xff0c;并且完全向后兼容&#xff0c;不过目前W3C 仍然在对 CSS3 规范进行开发&#xff0c;虽然标准的规范还没有正式发布&#xff0c;但是现代浏览器已经支持相当多的 CSS3 属性了。CSS3 提供了很多可以把玩的新特性&#xff0c;模糊了之前只控制样…

在.net中使用GDI+来提高gif图片的保存画质

//本文章有www.blue1000.com翻译&#xff0c;原文地址http://codebetter.com/blogs/brendan.tompkins/archive/2004/01/26/6103.aspx //尊重他人劳动成果&#xff0c;转载请注明出处。 写程序的时候经常用到gdi&#xff0c;他可以将一幅深色32 bpp图像保存为一个gif文件&…

随记:kickstart远程批量无人值守安装linux

环境&#xff1a;RHEL6.2组件&#xff1a;dhcp tftp vsftp kickstart原理&#xff1a;需安装linux的客户机通过PXE方式启动&#xff1b;通过dhcp取得IP地址&#xff1b;通过TFTP下载引导进程文件pxelinux.0&#xff0c;内核文件vmlinuz&#xff0c;底层驱动initrd.img&…

第五届全国大学生计算机系统能力培养大赛 | 赠书

全国大学生计算机系统能力培养大赛是由教育部高等学校计算机类专业教学指导委员会和系统能力培养研究专家组共同发起&#xff0c;以学科竞赛推动专业建设和计算机领域创新人才培养体系改革、培育我国高端芯片及核心系统的技术突破与产业化后备人才为目标&#xff0c;面向高校大…

玉山银行的一名新员工“玉山小i随身金融顾问”

市场竞争、监管变化、客户体验一直在对金融行业发起挑战&#xff0c;所以无论监管、竞争、客户都会影响金融行业在成本和服务上的创新&#xff0c;金融行业越来越多的开始利用人工智能去满足现有发展提出的要求。 台湾玉山银行的数字化转型就是一个很好的例子。台湾有一句顺口溜…

DataGridView 密码列(显示为*号)的设置

曾经为在DataGridView中设置密码列&#xff08;显示为*号&#xff09;而发愁&#xff0c;如何把Windows 窗体 DataGridView 的某一列的数据显示为“*”。 哈哈&#xff0c;今天终于搞定了。需要在DataGridView的2个事件中写代码真麻烦&#xff01;下面的代码把第4列设置为密码…

在Android中进行单元测试遇到的问题

问题1、Cannot connect to VM socket closed 在使用JUnit进行测试的时候&#xff0c;遇到这个问题。网上的解释是&#xff1a;使用Eclipse对Java代码进行调试,无论是远程JVM还是本地JVM都会进行Socket通讯.发生这样的错误是由于这些软件会修改winsock,还会监听和占用一些端口&…