po2417 Discrete Logging

2024-04-01 18:48
文章标签 logging discrete po2417

本文主要是介绍po2417 Discrete Logging,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

给出b n p 求l使得,b^l==n (mod p)

学习了一下 BSGS算法。



#include <cstdio>
#include <cmath>
#include <map>
using namespace std;
typedef long long ll;
ll p,b,n;void exgcd(ll c,ll d,ll &x,ll &y){if(!d){x=1;y=0;return ;}exgcd(d,c%d,x,y);ll xx=y,yy=x-(c/d)*y;x=xx;y=yy;
}void work(){ll m=(ll)sqrt(p),bb=1,nn=n,inv,t;map<int,int> num;map<int,bool> app;app[1]=1;num[1]=0;for(int i=1;i<=m-1;i++){bb=bb*b%p;if(!app[bb]){app[bb]=1;num[bb]=i;}}bb=bb*b%p;exgcd(bb,p,inv,t);if(inv>0) inv%=p;else inv=inv%p+p;for(int i=0;i<=m;i++){if(app[nn]){printf("%lld\n",i*m+num[nn]);return ;}nn=nn*inv%p;}printf("no solution\n");
}int main(){while(scanf("%lld%lld%lld",&p,&b,&n)!=EOF) work();return 0;
}

这篇关于po2417 Discrete Logging的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/867882

相关文章

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

图解可观测Metrics, tracing, and logging

最近在看Gophercon大会PPT的时候无意中看到了关于Metrics,Tracing和Logging相关的一篇文章,凑巧这些我基本都接触过,也是去年后半年到现在一直在做和研究的东西。从去年的关于Metrics的goappmonitor,到今年在排查问题时脑洞的基于log全链路(Tracing)追踪系统的设计,正好是对这三个话题的实践。这不禁让我对它们的关系进行思考:Metrics和Loggi

logging输出日志在文件、控制台的格式设置

formatter = logging.Formatter(fmt=“%(asctime)s%(message)s”,datefmt=‘%Y-%m-%d %H:%M:%S’)fh.setFormatter(formatter)efh.setFormatter(formatter)stdout.setFormatter(formatter)stderr.setFormatter(format

How to user “Discrete“ object in openai-gym environments?

题意:怎样在 OpenAI Gym 环境中使用 “Discrete” 对象 问题背景: I am trying to create a Q-Learning agent for a openai-gym "Blackjack-v0" environment. I am trying to get the size of the observation space but its in

python打日志 logging

python打日志 logging用法 import logging#设置日志输出格式 asctime:时间, filename:文件名, lineno:行号, # levelname:日志级别, message:日志内容 #datemt=%a星期 %d日期 %b月份 %Y年份 %H:%M:%S时间 logging.basicConfig(level="DEBUG",

unittest | 使用unittest模块来测试logging日志模块功能

我们在这篇文章实现了在项目工程中编写一个logging模块,但是我们如何确定我们编写的模块功能的是否正常? 你可能想到将全部代码写完后运行测试,但这是一个非常不好的习惯。❌ 最好的方式,是每写出来一个功能或者方法就对它进行测试,这样可以确保,当你完成代码后并运行,可以很少出现Bug,能直接运行成功。可以使用Python自带的unittest模块来做✔ 单元测试 unittestloggi

logging | 项目开发中日志模块logging在整个工程中的应用

日志模块 日志介绍1. logging使用场景设置级别 2. 实际logging使用 - 学习版2.1 终端输出StreamHandler2.2 日志文件中输出FileHandler2.3 同时写入终端和文件2.4 .Formatter参数语句 3. 封装logging模块 - 实战版 ⭐3.1 配置config文件夹下project_config.py文件time模块 3.2 封装util

OpenAI Gym custom environment: Discrete observation space with real values

题意:OpenAI Gym 自定义环境:具有实数值的离散观测空间 问题背景: I would like to create custom openai gym environment that has discrete state space, but with float values. To be more precise, it should be a range of valu

python3 logging入门

1. 基础知识 什么是 logging 模块: logging 模块是 Python 的内置模块,用于记录和管理日志。它提供了灵活的方式来记录程序运行过程中的各种信息,如调试信息、错误信息等。 基本用法 (basicConfig): basicConfig() 是最简单的配置方式,用于设置日志的输出格式、日志级别和输出目标(如控制台、文件)。示例:import logginglogging

Python 日志记录的最佳实践:使用 `logging` 模块

Python 日志记录的最佳实践:使用 logging 模块 在软件开发中,日志记录是一个至关重要的环节。它不仅有助于调试和监控应用程序的运行状态,还能为后续的维护和问题排查提供重要信息。Python 提供了一个强大的内置模块 logging,使得日志记录变得简单而灵活。本文将深入探讨如何使用 logging 模块进行日志记录,包括基本用法、配置、日志级别、处理器和格式化等内容。 一、为什么使