博客
关于我
Codeforces Beta Round #17 D. Notepad 欧拉降幂
阅读量:632 次
发布时间:2019-03-14

本文共 1640 字,大约阅读时间需要 5 分钟。

原题链接:

目录

题意

求 (b-1) * b n-1 % c,b∈[2,101000000 ],n∈[1, 101000000 ]

分析

非常裸的欧拉降幂

在这里插入图片描述
根据定义可以化简n-1,特殊的b小于φ(m)的情况注意一下

b直接边读入边取膜即可

Code

#include 
using namespace std;//#define ACM_LOCAL#define fi first#define se second#define il inline#define re registertypedef long long ll;typedef pair
PII;typedef unsigned long long ull;const int N = 2e5 + 10;const int M = 1e6 + 10;const ll INF = 1e18 + 5;const double eps = 1e-5;const int MOD = 998244353;ll init(ll n) { ll m = (int)sqrt(n + 0.5); ll ans = n; for (ll i = 2; i <= m; ++ i) { if (n % i == 0) { ans = ans / i * (i - 1); while(n % i == 0) n /= i; } } if (n > 1) ans = ans / n * (n - 1); return ans;}ll ksm(ll a, ll b, ll mm) { ll res = 1, base = a; while (b) { if (b & 1) res = res * base % mm; base = base * base % mm; b >>= 1; } return res;}void solve() { string b, n; cin >> b >> n; ll c; cin >> c; ll mm = init(c); ll b_1, b_ = 0;//取b-1,b的值 for (int i = 0; i < b.size(); i++) b_ = b_ * 10 + (b[i] - '0'), b_ %= c; b_1 = (b_ - 1 + c) % c; ll n_1 = 0, flag = 0;//取n-1的值 for (int i = 0; i < n.size(); i++) { n_1 = n_1 * 10 + (n[i] - '0'); if (n_1 - 1 >= mm) n_1 %= mm, flag = 1; } n_1 = (n_1 - 1 + mm) % mm; if (flag) n_1 += mm; ll ans = ksm(b_, n_1, c); ans = ans * b_1 % c; if (ans == 0) cout << c << endl; else cout << ans << endl;}signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);#ifdef ACM_LOCAL freopen("input", "r", stdin); freopen("output", "w", stdout);#endif solve();}

转载地址:http://pmcoz.baihongyu.com/

你可能感兴趣的文章
Netgear wndr3700v2 路由器刷OpenWrt打造全能服务器(十一)备份
查看>>
netlink2.6.32内核实现源码
查看>>
netmiko 自动判断设备类型python_Python netmiko模块的使用
查看>>
NetMizer 日志管理系统 多处前台RCE漏洞复现
查看>>
NetMizer-日志管理系统 dologin.php SQL注入漏洞复现(XVE-2024-37672)
查看>>
Netpas:不一样的SD-WAN+ 保障网络通讯品质
查看>>
netron工具简单使用
查看>>
NetScaler MPX Gateway Configuration
查看>>
NetScaler的常用配置
查看>>
netsh advfirewall
查看>>
NETSH WINSOCK RESET这条命令的含义和作用?
查看>>
netstat kill
查看>>
netstat命令用法详解
查看>>
Netstat端口占用情况
查看>>
Netty 4的内存管理:sun.misc.Unsafe
查看>>
Netty channelRegistered\ChannelActive---源码分析
查看>>
Netty NIO transport && OIO transport
查看>>
netty php,netty
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>