Codeforces Round #334 (Div. 2) 604D Modular Arithmetic(数学+快速幂)

LLC谐振变换器中的软开关艺术:ZVS与ZCS的协同设计 本文深入解析了LLC谐振变换器如何通过巧妙的电路设计,协同实现零电压开关(ZVS)与零电流开关(ZCS),从而大幅降低开关损耗与电磁干扰,提升电源效率。文章结合设计实战,详细阐述了谐振参数计算、器件选型及调试避坑指南,为高效、高功率密度电源设计提供了核心思路与解决方案。 阅读详情

D. Moodular Arithmetic
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

As behooves any intelligent schoolboy, Kevin Sun is studying psycowlogy, cowculus, and cryptcowgraphy at the Bovinia State University (BGU) under Farmer Ivan. During his Mathematics of Olympiads (MoO) class, Kevin was confronted with a weird functional equation and needs your help. For two fixed integers k and p, where p is an odd prime number, the functional equation states that

for some function . (This equation should hold for any integer x in the range 0 top - 1, inclusive.)

It turns out that f can actually be many different functions. Instead of finding a solution, Kevin wants you to count the number of distinct functions f that satisfy this equation. Since the answer may be very large, you should print your result modulo 109 + 7.

Input

The input consists of two space-separated integers p and k (3 ≤ p ≤ 1 000 000, 0 ≤ k ≤ p - 1) on a single line. It is guaranteed that p is an odd prime number.

Output

Print a single integer, the number of distinct functions f modulo 109 + 7.

Sample test(s)
input
3 2
output
3
input
5 4
output
25
Note

In the first sample, p = 3 and k = 2. The following functions work:

  1. f(0) = 0, f(1) = 1, f(2) = 2.
  2. f(0) = 0, f(1) = 2, f(2) = 1.
  3. f(0) = f(1) = f(2) = 0.


题目链接:点击打开链接

给出 k, p, 问满足f(k * x mod p) == k * f(x) mod p 的函数有多少个.

考虑情况从特殊到一般, k 为0时, 有 p ^ (p - 1)种函数. k 为1时, 有p ^ p 种函数. 其他情况时, (k ^ x) mod p会由x增大会变回k, 存在环, 环

的起点有p种可能, 共(p - 1) / ord个环, 故当前情况方案数为 p ^ ((p - 1) / ord).

AC代码:

#include "iostream"
#include "cstdio"
#include "cstring"
#include "algorithm"
#include "queue"
#include "stack"
#include "cmath"
#include "utility"
#include "map"
#include "set"
#include "vector"
#include "list"
using namespace std;
typedef long long ll;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
ll p, k;
ll power_mod(ll a, ll b)
{
    ll res = 1;
    while(b) {
        if(b & 1) {
            res = res * a % MOD;
            p--;
        }
        b >>= 1;
        a = a * a % MOD;
    }
    return res;
}
int main(int argc, char const *argv[])
{
    scanf("%lld%lld", &p, &k);
    if(k == 0) printf("%lld\n", power_mod(p, p - 1));
    else if(k == 1) printf("%lld\n", power_mod(p, p));
    else {
        ll ord = 1, cur = k;
        for(; cur != 1; ++ord) 
            cur = cur * k % p;
        printf("%lld\n", power_mod(p, (p - 1) / ord));
    }
    return 0;
}


【华为OD机试真题】7、字符串筛选排序 | 机试真题+思路参考+代码解析(C++、Java、Py) 题目描述 >输入一个由N个大小写字母组成的字符串 按照ASCII码值从小到大进行排序 查找字符串中第K个最小ASCII码值的字母(k>=1) 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0) k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引 如果有重复字母则输出字母的最小位置索引 阅读详情

相关推荐

关于DHCP Option60的认识

<br />       最近在网络建设过程中,必须面对一个实际存在的问题:当只有一根线入户时,该如何解决CATV和宽带业务的共存呢?这时就要考虑用到DHCP Option60了,那么DHCP Option60到底是如何来实现业务区分的呢?<br />首先先来看下DHCP协议,在DHCP协议中,定义了一个option字段,该字段主要是用来扩展DHCP协议的,Option 60 (Vendor class identifier)是DHCP报文中的一个选项字段,code为60,可以标识终端类型,根据不同的终

luoyingchuan的专栏 7940

codeforces 603B Moodular Arithmetic

http://www.elijahqi.win/archives/2942 As behooves any intelligent schoolboy, Kevin Sun is studying psycowlogy, cowculus, and cryptcowgraphy at the Bovinia State University (BGU) under Farmer Ivan. D...

Elijahqi 344

如何有效爬取“好大夫”评论数据?技术实现与合规性分析

本文探讨了爬取好大夫在线医生评论数据的技术与合规性问题。分析了好大夫平台评论数据的价值和特点,指出其动态加载和反爬机制的挑战。技术上,推荐使用Selenium模拟浏览器行为获取数据,并提供了分页爬取、代理IP、验证码识别等解决方案。同时强调必须遵守平台的爬虫策略,关注用户协议和隐私保护法规,建议通过官方API或授权方式获取数据。文章还讨论了数据清洗存储方法,并提醒注意数据伦理和最小化抓取原则。本文为医疗数据爬取提供了技术实现和合规性指导的平衡方案。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1052

Codeforces Round #334 D. Moodular Arithmetic(置换)

题意: 给定3≤p≤106的prime,0≤k≤p−1,求满足给定3 \leq p \leq 10^6的prime, 0 \leq k \leq p-1, 求满足 f(kx mod p)≡kf(x) mod pf(kx\ mod\ p) \equiv k f(x)\ mod\ p f:{0,1,2,...,p−1}→{0,1,2,...,p−1}f:\{0, 1, 2, ..., p

TaoSama's Microcosm 427

LEF文件介绍及其生成

介绍LEF文件及其生成方法

weixin_43249158的博客 3万+

Unity URP 深度解析:利用Stencil与RenderFeature实现高效遮挡高亮

本文深入解析Unity URP中利用Stencil与RenderFeature实现高效遮挡高亮的技术方案。通过模板缓冲机制和自定义RenderFeature,开发者可以在保持场景完整性的同时,清晰标识被遮挡物体位置,提升游戏体验。文章详细介绍了Shader编写、URP管线配置及性能优化技巧,并提供了常见问题排查方法。

weixin_29012677的博客 478

【图论】Codeforces Round #334 (Div. 2) D.cpp

让你构造一个图,然后最小生成树的边要是给定的边 第一次没靠题解做出来d题 然后按照克鲁斯卡尔的思路想了一发 发现构造成一条链就好了。。。。#include #include #include #include #include #include using namespace std; struct rec { int x,y,v,biao,wei; }bian[301000]; bool

Pro_space的专栏 516

从零构建:Esp32+Esp-IDF驱动ST7789屏幕并集成LVGL图形库

本文详细介绍了如何从零开始使用Esp32和Esp-IDF驱动ST7789屏幕并集成LVGL图形库。内容涵盖环境准备、SPI驱动配置、屏幕初始化、LVGL图形库集成及常见问题排查,帮助开发者快速实现高效稳定的显示解决方案。

weixin_42657024的博客 524

数论 Codeforces604D Moodular Arithmetic

传送门:点击打开链接 题意:告诉你p和k,其中(0 思路:首先这个怎么看都跟循环节有关。。那么怎么找到循环节呢。。 首先找k为0的情况,可以发现此时答案就是p^(p-1) 然后k为1的情况,答案就是p^p 如果k>=2 很明显可以发现f(0)=0是肯定的 假设k^r%p=1,r是最小满足这个条件的正整数 那么f(x),因为f(x)在[0,p-1]内, 所以f(x)

qwb的博客 1064

基于RK3588调试WiFi模块AIC8800

本文介绍了在RK3588平台上移植AIC8800 WiFi模块驱动的过程。开发环境基于Linux 6.1内核和Buildroot文件系统。驱动移植步骤包括:将驱动包放入SDK指定目录、修改Makefile、编译内核、放置固件文件、手动加载驱动模块等。文章还分析了两种常见异常情况:无法识别模块(检查USB信号线路和供电)和偶发断连(检查硬件连接和调整PHY寄存器)。成功加载后可通过ifconfig看到wlan0节点。

qq_45147279的博客 667

一网打尽身份验证与授权:深入剖析ASP.NET Core Identity在C#中的全方位实战应用

ASP.NET Core Identity 是 Microsoft 提供的一个强大且可扩展的身份验证和授权框架,用于构建基于用户账户、角色和权限的Web应用程序。它提供了用户注册、登录、密码管理、多因素认证、角色分配、授权等功能,与ASP.NET Core框架深度集成,简化了安全相关的开发工作。通过上述代码示例和注释,展示了如何安装配置Identity、自定义用户实体与数据库上下文、实现用户注册登录、管理角色与用户角色关系,以及如何使用授权策略保护应用程序资源。,并指定用户和角色类型以及主键类型。

java专栏 1527

codeforces Moodular Arithmetic 数论

由于gcd(k,p)==1,那么很显然k*x%p = z,这个等式中,x属于(0,p-1),z属于(0,p-1),那么的话,一定是一一对应的 下面给出证明(自己yy的,有错误谢谢指出) 令y = f(kx mod p), x = f(x); 证明当y值确定时,x有唯一值与其对应 y = k*x mod p; 若x不唯一,即x1,x2,有存在n1,n2整数使得 k*x1 - y = n1

meixiuxiudd的博客 446

控制科学与工程(自动化)保研经验【4】——浙大篇

控制科学与工程(自动化)保研经验【4】——浙大篇

Control Everything 1万+

codeforces 604 D. Moodular Arithmetic

D. Moodular Arithmetic time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output As behooves any intelligent schoolboy

whai的专栏 904

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Codeforces #334 (div2)D (循环节,快速幂)

数学题真的好难啊...证明参考博客   http://blog.csdn.net/guhaiteng/article/details/52400679 #include #include #include using namespace std; typedef long long ll; const int MOD=1e9+7; ll pow_mod(ll a,ll b,ll mod)

mtxxxx的blog 370

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

CodeForces 603 B. Moodular Arithmetic(数论+并查集)

Description 给出一个整数k以及一个奇素数p,问满足f(kx%p)=k*f(x)%p的映射f:{0,1,…,p-1}->{0,1,…,p-1}的数量(结果模1e9+7) Input 两个整数k和p(3 ≤ p ≤ 1 000 000, 0 ≤ k ≤ p - 1) Output 输出满足条件的映射f的个数 Sample Input 3 2 Sample Output 3

ZSQ 791

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HDOJ1717 小数化分数2(模拟)

小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3923    Accepted Submission(s): 1592 Problem Description Ray 在数学课上听老师说,任何小数都

GKHack's Blog 3647

HDOJ1215 七夕节(暴力 & 筛选法)

七夕节 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 35637    Accepted Submission(s): 11170 Problem Description 七夕节那天,月老来到数字王国,他在城门上

GKHack's Blog 1886

Codeforces Round #319 (Div. 2) 577C Vasya and Petya's Game(筛选法)

C. Vasya and Petya's Game time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vasya and Petya are playing a simp

GKHack's Blog 1336

Codeforces Round #330 (Div. 2) 595AB题解

题目链接: 点击打开链接 A: 有n层楼, 每层有2 * m个窗户, 每家有2个窗户, 任何一个窗户亮说明这家还未休息, 问你有几家没有休息. 模拟题, 每层楼两个两个窗户遍历一次即可. AC代码: #include "iostream" #include "cstdio" #include "cstring" #include "algorithm" using namespac

GKHack's Blog 1290

Codeforces Round #332 (Div. 2) 599D Spongebob and Squares(数学)

D. Spongebob and Squares time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Spongebob is already tired trying

GKHack's Blog 1282

Codeforces Round #328 (Div. 2) 592ABC题解

题目链接: A: 给出8*8的一个棋盘, W为A的棋子, B为B的棋子. 每个棋子只能向上或者向下走, 且不能覆盖或者跳跃棋子, 问你最终谁获胜. 模拟题, 遍历每一列, 记录最考上的W以及最靠下的B的位置. AC代码: #include "iostream" #include "cstdio" #include "cstring" #include "algorithm" usi

GKHack's Blog 1200

Codeforces Round #320 (Div. 2) 579C A Problem about Polyline(数学)

题目链接:点击打开链接 有一条折线,转折点是(0, 0) - (x, x) - (2x, 0) - (3x, x) - ... - (2kx, 0) - (2kx + x, x),给你一个点(a, b)在折线上面,问你最小的x是多少, 若不存在x则输出-1。 首先要考虑输出-1的情况,也就是b > a的时候,无法构成一个等腰直角三角形。想到平移斜率不同的线段最终可以确定两条直

GKHack's Blog 1144

HDOJ1796 How many integers can you find(dfs+容斥)

How many integers can you find Time Limit: 12000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6048    Accepted Submission(s): 1735 Problem Descripti

GKHack's Blog 1130

BestCoder Round #63 (div.2) HDOJ5570 balls(数学期望)

balls Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 90    Accepted Submission(s): 59 Problem Description There are n balls with

GKHack's Blog 986

BestCoder Round #51 (div.2) & HDOJ5391 Zball in Tina Town(数论)

Zball in Tina Town Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 305    Accepted Submission(s): 186 Problem Description Tina To

GKHack's Blog 979
上一篇: Codeforces Round #334 (Div. 2) 604C Alternative Thinking(脑洞)
下一篇: Educational Codeforces Round 3 609C Load Balancing(脑洞)
GKHack
博客等级 码龄11年 48粉丝 291原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值