Mod Tree(扩展BSGS)

Python爬虫实战:5分钟搞定政府网站公开数据抓取(附完整代码) 本文详细介绍了如何使用Python爬虫快速抓取政府网站公开数据,包括环境配置、网站结构分析、请求头构建、数据处理与存储等关键步骤。通过实战案例和完整代码,帮助开发者高效获取结构化数据,适用于数据分析、市场研究等场景。 阅读详情

Mod Tree

这里写图片描述

 The picture indicates a tree, every node has 2 children.
  The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0.
  Now out problem is so easy, give you a tree that every nodes have K children, you are expected to calculate the minimize depth D so that the number of nodes whose depth is D equals to N after mod P. 

Input
The input consists of several test cases.
Every cases have only three integers indicating K, P, N. (1<=K, P, N<=10^9)
Output
The minimize D.
If you can’t find such D, just output “Orz,I can’t find D!”
Sample Input

3 78992 453
4 1314520 65536
5 1234 67

Sample Output

Orz,I can’t find D!
8
20
题意:

给定每个节点的孩子数K求最小层数使得该层的节点数模P等于N

分析:

即求

Kx≡N (mod P) K x ≡ N   ( m o d   P )

因为P不一定是素数故需要用扩展BSGS

很奇怪的是做了好几道BSGS的题目了,抄模板一直wa,在抄一遍又过了,都不知道哪里错的

ACcode:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll q_pow(ll a, ll b, ll mod){
    ll ans = 1;
    while(b){
        if(b & 1) ans = ans * a % mod;
        b >>= 1;
        a = a * a % mod;
    }
    return ans;
}

ll gcd(ll a,ll b){
    return b ? gcd(b,a%b) : a;
}

void ex_gcd(ll a,ll b,ll &x,ll &y){
    if(!b){
        x = 1;
        y = 0;
        return;
    }
    ex_gcd(b,a%b,y,x);
    y -= a / b * x;
    return;
}

ll BSGS(ll a,ll b,ll p){
    a %= p;
    b %= p;
    ll ret = 1;
    for(ll i = 0; i <= 50; i++){
        if(ret == b) return i;
        ret = ret * a % p;
    }
    ll x,y,d,v = 1,cnt = 0;
    while((d = gcd(a,p)) != 1){
        if(b % d) return -1;
        b /= d;
        p /= d;
        v = v * (a / d) % p;
        cnt++;
    }
    map<ll,ll>h;
    ll m = ceil(sqrt(p)),t = 1;
    for(ll i = 0; i < m; i++){
        if(h.count(t)) h[t] = min(h[t],i);
        else h[t] = i;
        t = t * a % p;
    }
    for(ll i = 0; i < m; i++){
        ex_gcd(v,p,x,y);
        x = (x * b % p + p) % p;
        if(h.count(x)) return i * m + h[x] + cnt;
        v = v * t % p;
    }
    return -1;
}

int main(){
    ll k,p,n;
    while(~scanf("%lld%lld%lld",&k,&p,&n)){
        if(n >= p){
            puts("Orz,I can’t find D!");
            continue;
        }
        ll ans = BSGS(k,n,p);
        if(ans == -1) puts("Orz,I can’t find D!");
        else printf("%lld\n",ans);
    }
    return 0;
}
三相SVPWM逆变器双闭环PI解耦控制:从dq坐标系到参数整定实战 本文深入解析了三相SVPWM逆变器的双闭环PI解耦控制技术。通过引入dq坐标系,将交流量转换为直流量,并结合前馈补偿实现电流环的解耦控制。文章详细阐述了从数学模型推导、控制器设计到参数整定与SVPWM实现的完整流程,为工程师提供了从理论到实战的系统性指导。 阅读详情

相关推荐

桁架 拓扑优化 matlab程序_拓扑优化在结构轻量化及板壳加筋肋最优布置的应用...

1 拓扑优化简介材料的有效利用一直都是人类追求的目标,也是许多研究领域不变的话题,并伴随着结构优化理论和方法的产生而发展。结构优化设计通常分为三个层次:(1)拓扑优化:在一个确定的连续区域内寻求结构内部非实体区域位置和数量的最佳配置,寻求结构中的构件布局及节点联结方式最优化,使结构能在满足应力、位移等约束条件下,将外载荷传递到结构支撑位置,同时使结构的某种性态指标达到最优;(2)形状优化:指在保持...

weixin_39525355的博客 1877

【HDU2815】【拓展BSGS】Mod Tree

Problem Description The picture indicates a tree, every node has 2 children.The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0.Now out proble...

Gregory99174的博客 237

家长必看!用RouterOS轻松屏蔽不良网站,保护孩子上网安全

本文为家长提供了一份详细的RouterOS路由器配置指南,旨在通过技术手段保护儿童上网安全。文章核心介绍了如何利用RouterOS的DNS静态条目功能,轻松实现禁止访问特定不良网站,并结合防火墙时间规则,为孩子构建一个纯净、可控的家庭网络环境,操作简单,无需专业背景。

weixin_28363123的博客 1266

Mod Tree

Problem Description   The picture indicates a tree, every node has 2 children.   The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0.   Now out probl

笑看风云起的专栏 659

nnU-Net v2实战:从零开始配置环境与训练自定义医学影像数据集

本文详细介绍了nnU-Net v2在医学影像分割中的实战应用,从环境配置到自定义数据集训练的全流程。重点讲解了Python 3.9+环境搭建、PyTorch安装技巧、医学影像数据预处理规范,以及五折交叉验证训练方法,帮助开发者快速掌握这一先进的医学影像分析工具。

weixin_28718487的博客 352

线程池详解(通俗易懂超级好)

目标 【理解】线程池基本概念 【理解】线程池工作原理 【掌握】自定义线程池 【应用】java内置线程池 【应用】使用java内置线程池完成综合案例 线程池 线程池基础 线程池使用 线程池综合案例 4.学员练习 5.线程池总结 概念介绍 1:什么是线程池 2:为什么使用线程池 3:线程池有哪些优势 什么是池 什么是线程池 线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runna.

拉格朗日的学习笔记 12万+

再谈内核模块加载(三)—模块加载流程(下)

上接<再谈内核模块加载(二)—模块加载流程(上)> 9.检查是否有同名模块已加载或正在加载 err = add_unformed_module(mod); if (err) goto free_module; unformed是指加载到一半(也就是执行完当前函数),但还没有完全加载好的模块,此函数根据this_module.name检测当前系统里是否有同名模块: 如果有同名模块但状态是正在执行module_init或unformed...

ashimida 1614

数学与纳米技术:微观世界的数学描述

《数学与纳米技术:微观世界的数学描述》 关键词:纳米技术、数学模型、微观世界、物理现象、计算模拟 摘要:本文探讨了数学在纳米技术领域的应用,从数学基础回顾、纳米技术引论,到物理现象与

AI天才研究院 1531

hdu 2815 Mod Tree (扩展BSGS)

Mod Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6172    Accepted Submission(s): 1544 Problem Description   The picture i

clover_hxy的博客 1112

[SV]SystemVerilog中,系统函数$cast()的作用是什么?

摘要:SystemVerilog中的$cast()系统函数用于安全的动态类型转换,主要在类层次结构中将父类句柄转换为子类句柄(向下转换)。它通过运行时类型检查确保转换合法性,成功时返回1并赋值句柄,失败则返回0。这种机制使得可以通过父类句柄访问子类特有成员,在多态场景(如UVM验证)中尤为重要。使用时需检查返回值处理转换失败情况。$cast()比静态转换更安全,但不能用于无关类或基本数据类型间的转换。

元直的博客 1210

深度学习驱动的股票波动率预测:LSTM和Transformer模型的实战解析

股票市场的波动率一直是金融领域关注的焦点之一。波动率预测对于风险管理、期权定价和资产配置至关重要。深度学习模型,如长短时记忆网络(LSTM)和Transformer,已经在时间序列数据分析领域取得了显著的成就。本博客将向您展示如何使用这两种深度学习模型来进行股票波动率预测,提供清晰的思路和相应的Python代码,以帮助您理解和应用这一重要任务。

斌擎科技 974

HDU---2815:Mod Tree【扩展BSGS模板】

题意: ,解最小X满足同余式 分析: 扩展BSGS算法: 这时a,p不一定互质,先祭上初等数论的模公式: 于是我们可以一直提出gcd(a,p),直到二者互质,假设经过t次后二者互质: 如果n 除不尽 v ,则无解,否则换元,x = x - t,n = n/v,p = p/c,a^t/v 放两边都行,带入BSGS求最小解为:i * m - j + t, 但是最小解也有可能在[1...

KobeDuu 290

R语言层次聚类(hierarchical clustering):数据缩放、PCA聚类结果可视化、fpc包的clusterboot函数通过bootstrap重采样的方法评估hclust层次聚类的稳定性

R语言层次聚类(hierarchical clustering):数据缩放、PCA聚类结果可视化、fpc包的clusterboot函数通过bootstrap重采样的方法评估hclust层次聚类的稳定性

data+scenario+science+insight 834

RustFS 1.0 GA发布:S3兼容分布式对象存储性能对比与MinIO迁移实战

对象存储是海量数据存储的基础设施,而S3协议已成为事实上的标准接口。分布式存储系统通过一致性协议保证数据可靠,Raft算法以清晰的状态复制机制实现强一致,同时也在性能与容错间寻求平衡。Rust语言以其内存安全和零拷贝特性,为存储引擎带来了更低延迟和更高吞吐的可能,特别适合小文件密集与资源敏感的私有化部署场景。本文从对象存储的核心挑战出发,剖析RustFS 1.0.0 GA的架构选型与技术价值,将其与MinIO在S3 API兼容度、性能实测、生态成熟度上进行对比,并给出基于rclone和mc的存储迁移实操方案

weixin_34293141的博客 400

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OV9734 DATASHEET,完整规格书

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

HDU - 2815 Mod Tree 【高次不定方程 + 扩展 BSGS + 板子】

Mod Tree Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7143 Accepted Submission(s): 1750 Problem Description The picture indicat...

nobleman 995

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

HDU-2815-Mod Tree(BSGS模板题)

Mod Tree Problem Description The picture indicates a tree, every node has 2 children. The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0. Now out problem is so easy, give you a tree that every nodes have K chil

qq_43461168的博客 210

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

HDU 2815 Mod Tree

Problem Description The picture indicates a tree, every node has 2 children.The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0.Now out proble...

aoanping0730的博客 162

Mod Tree HDU - 2815

https://cn.vjudge.net/problem/HDU-2815 总结:BSGS; 求解a^x=b(mod c) gcd(c,a)!=1; #include <iostream> #include <cstring> #include <queue> #include <vector> #include <algo...

newhonor 205

【BSGS求离散对数】HDU Mod Tree 2815

Mod Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5262    Accepted Submission(s): 1360 Problem Description The picture indic

豫帝哥哥 1116

Summer Training day4 Mod Tree 大步小步法求离散对数模板

The picture indicates a tree, every node has 2 children.    The depth of the nodes whose color is blue is 3; the depth of the node whose color is pink is 0.    Now out problem is so easy, give you a

SUNSET 419

Hdu 2815 Mod Tree —— exbsgs模板

This way 题意: 告诉你k,p,n,问你Kx%P=NK^x\%P=NKx%P=N 题解: 被坑了…他这个不是同余N而是等于N,也就是说N>=P时无解。 证明就不详细说了,大致就是利用同余定理,将a与p约到gcd为1的时候,最终的式子是 ax−k∗ak∑i=1kgcdi=b∑i=1kgcd%mod∑i=1kgcdia^{x-k}*\frac{a^k}{\sum\limits_{i=1}^{k}gcd_i} = \frac{b}{\sum\limits_{i=1}^{k}gcd} \% \fra

天翼之城的博客 206

【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep

【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep http://acm.hdu.edu.cn/showproblem.php?pid=2815 题意:裸题。。。 关于拓展BSGS的详细解释我写了一篇博文:http://www.cnblogs.com/KonjakJuruo/p/5178600.html ...

qq_25768269的博客 153

hdu 2815 Mod tree 高次同余方程

Hdu 2815 题目大意就是说:有棵树,每个节点有k个儿子,能算出这棵树最小的深度D,使得这个深度的节点数对p取模的结果就是N? ,注意这里是对p取模之后的结果就是N,也就是说N=0,这个就是这道题的陷阱,需要注意。 输入的顺序是k,p,N.(1 输出的时候如果没有解,那么直接输出"Orz,I can’t find D!",没有引号。 下边代码实现: 全都是模板: #include

wangjianbing1998的博客 390

UOJ#75. 【UR #6】智商锁 随机化算法 矩阵树定理

原文链接www.cnblogs.com/zhouzhendong/p/UOJ75.html 前言 根本没想到。 题解 首先我们可以考虑一种做法: 找一些图,使得他们各自的生成树个数乘起来等于 k。 那么只要将他们用一条链连起来就得到答案了。 接下来考虑如何得到这些图。 考虑随机生成一个 n 个点的图,它的生成树个数最大是 $n^{n-2}$ 。 我们假装一个 n 个点的图的...

weixin_30323631的博客 153

从下载到运行:五步法驯服复杂开源项目,告别环境配置噩梦

在软件开发领域,环境配置与依赖管理是项目成功运行的基础。其核心原理在于通过虚拟化、容器化等技术,隔离和复现项目所需的特定运行上下文,确保代码在不同机器上行为一致。这一实践的技术价值在于大幅降低协作成本、提升开发效率,并保障软件的可移植性。无论是部署深度学习模型、搭建全栈Web应用,还是运行复杂的AI智能体系统,精准的环境配置都是项目从“代码”变为“可运行服务”的关键。本文以深度学习实战项目和agentic rag开源项目为例,系统拆解了从环境侦察、依赖安装到服务验证的完整链路,提供了一套标准化的工程实践框架

weixin_34234829的博客 348
上一篇: POJ2417 Discrete Logging (离散对数取模)
下一篇: 原根 51nod 1135(原根)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值