首页 > 编程语言 >2023 年华中科技大学程序设计竞赛新生赛

2023 年华中科技大学程序设计竞赛新生赛

时间:2023-10-24 14:33:20浏览次数:44  
标签:华中科技大学 2023 long fac res 程序设计 mod

2023 年华中科技大学程序设计竞赛新生赛

P9774 [HUSTFC 2023] 新取模运算 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

\(n! \% p\),易知\(1 \sim n \% p\)为\(1,2,3\dots p - 1,0,1,2\dots\),所以我们可以预处理出\(1\sim p - 1\)的阶乘,那么答案就是\((p-1)!^{\frac{n}{p}}\times(n\%p)!\),\((n\%p)!\)是计算最后不足\(p\)个的阶乘,若\(n=a\times p=p^b\times x\),还需通过递归计算得出\(x\)

#include <bits/stdc++.h>
#define debug(a) cout<<#a<<"="<<a<<'\n';

using namespace std;
using i64 = long long;

typedef pair<i64, i64> PII;

long long ksm(long long a, long long b,long long mod) {
	long long res = 1;
	while (b) {
		if (b & 1)res = (res % mod * a % mod) % mod;
		b >>= 1;
		a = (a % mod * a % mod) % mod;
	}
	return res % mod;
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int T, p;
	cin >> T >> p;
	vector<i64> fac(p,1);
	for(int i = 2;i < p;i ++)
		fac[i] = fac[i - 1] % p * i % p;

	auto col = [&](auto self, i64 n){
		if(n < p) return fac[n];
		i64 res = 1ll * ksm(fac[p - 1], n / p, p) % p * fac[n % p] % p;
		return res * self(self, n / p) % p;
	};

	while (T --) {
		i64 n;
		cin >> n;
		cout << col(col, n) << '\n';	
	}

	return 0;
}

标签:华中科技大学,2023,long,fac,res,程序设计,mod
From: https://www.cnblogs.com/Kescholar/p/17784740.html

相关文章

  • 名人名言_20230901-
    日常学习名人名言,激励自己......
  • 「Revit2023最新版下载」Autodesk Revit 2023汉化版附安装教程
    Revit是Autodesk公司著名的3D建模软件,是建筑行业BIM系统中应用最广泛的软件之一。其核心功能是三维建筑模型的参数化设计、渲染效果图、计算、土建建模、机电建模,用于帮助工程师在施工前的精确仿真阶段。软件地址:看置顶贴AutodeskRevit2023的软件特点过滤器中的OR条件。创建一个......
  • Cinema 4D 2023图文安装教程及下载
    Cinema4D(简称C4D)是一款专业的3D建模、动画和渲染软件,由德国公司Maxon开发。它广泛应用于影视、游戏、广告等行业,具有操作简单、功能强大、渲染速度快等优点。Cinema4D2023版本提供了最主要的功能-全面的对称性建模、本地资产管理和原生OCIO支持。更新引入了用于创建火焰、烟雾和......
  • CSP20230917-3 梯度求解 题解
    〇、题目太长了懒得写。简单来说就是求对于一个后缀表达式,每个询问给出一个下标和一些值,求以该下标变量为自变量其它变量为常数时的偏导数。一、思路考虑直接对于表达式建出表达式树。建树的过程比较直接:每次栈里面放节点编号,遇到符号就取出当前栈顶两个节点作为子节点。每......
  • 云原生周刊: 使用 Kubectl 执行 100 个 Kubernetes 诊断命令 | 2023.10.23
    开源项目推荐SternStern是一个针对Kubernetes的多pod和容器日志跟踪工具。可以跟踪Kubernetes上的多个pod和pod中的多个容器。每个结果都用颜色编码,以便快速调试。LProbe在容器映像(ECS、Docker、Kubernetes)内执行本地健康检查探测的命令行工具。当你的容器被攻破时......
  • 【2023-10-06】连岳摘抄
    23:59 春生、夏长、秋收、冬藏,天之正也,不可干而逆之。                                                 ——鬼谷子在中国迅速城市化这三十来年,以北京、上海、广州......
  • 【2023-10-09】连岳摘抄
    23:59 我们需要彼此。越早了解此事,对我们来说越好。                                                 ——埃里克·埃里克森你可以抽空到大城市待几天,体验一下。白......
  • 【2023-10-08】连岳摘抄
    23:59我十分憎恶那种总是满腹牢骚、愁眉苦脸的人,他们对生活中的乐趣往往是视而不见,但却总是牢牢地抓住生活中的不幸,从哀叹不幸中得到一些满足,就像苍蝇一样,在光洁平滑的物体上是待不住的,而必须停留在粗糙不平的地方;也好像是吸血虫,专找那些不干净的血来吮吸。      ......
  • CSP-S 2023 真退役记
    写在前面最后一次CSP了,忽然就发现OI走到尽头了。Day-2被卡常了,丝毫不爽,晚上加训pyhton。还没熟悉os模块\ll。Day-1上午看了一上午知乎/cf,顺便看了一下linux的常用命令,涨不少知识确信。下午继续开摆。在蚂蚁先走一步之后跑去打球了。晚上继续颓。Day1上午来机......
  • CSP-2023 游记
    yexu,zhejiushijingsaibaPS:这不是我写的/qdDay-1打板子,然后趁着老大不在跟zc说了一句就跑出去上体育了/cy,发现实验班怎么还有些漂亮的/se/se。Day0打板子,然后中午老师问吃饺子还是吃盒饭,全场就我一个人想吃盒饭,怎么会是呢?然后就去拿饺子,有个三区可能是高三的学姐......