首页 > 其他分享 >梦熊 NOIP 13连测 #3

梦熊 NOIP 13连测 #3

时间:2024-09-30 12:01:05浏览次数:1  
标签:13 ch int phi 连测 ans 梦熊 2n mod

A.

赛事找规律找到了,可惜差一步,然后用了oies。

  1. 欧拉定理:若 \(gcd(a, m) = 1\),则 \(a^{\phi(m)} \equiv 1 (mod \ m)\)。

发现 1 和 \(2n\) 永远都不会动,并且当 2 归位时,整套牌也都归位了,所以先只考虑 2 的位置变化。

如果 \(n\) 无线大,第 \(i\) 次操作后 2 的位置为 \(2^i + 1\)。考虑上 \(n\) 的大小,第 \(i\) 次操作后的位置为 \((2^i + 1) \% (2n - 1)\) 。

  1. 归为即为求最小的 \(i\) 使得 \((2^i + 1) \% (2n - 1) = 2\),即为 \((2^i - 1) \% (2n - 1) = 0\), \(2^i \equiv 1 (mod \ 2n - 1)\)。

再由欧拉定理得 \(i\) 一定为 \(\phi(2n - 1)\) 的因子,枚举 \(\phi(2n - 1)\) 的因子即可,时间复杂度 \(O(\sqrt n)\)。

#include<bits/stdc++.h>
#define int __int128
using namespace std;

const int N = 1e6 + 7;
int mod;
int qpow(int a, int b) {
	int res = 1;
	while(b) {
		if(b & 1) res = res * a % mod;
		b >>= 1;
		a = a * a % mod;
	}
	return res % mod;
}
inline int read()
{
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
    {
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0' && ch<='9')
        x=x*10+ch-'0',ch=getchar();
    return x*f;
}
void write(int x)
{
    if(x<0)
        putchar('-'),x=-x;
    if(x>9)
        write(x/10);
    putchar(x%10+'0');
    return;
}
int phi(int n) {
  int ans = n;
  for (int i = 2; i * i <= n; 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;
}void solve() {
	int n;
	n = read();
	int m = phi(2 * n - 1);
	int ans = 0;
	mod = 2 * n - 1;
	for(int i = 1; i * i <= m; i ++) {
		if(m % i == 0) {
			if(qpow(2, i) == 1 % mod) {
				write(i);
				cout << endl;
				return;
			}
			if(i * i != m && qpow(2, m / i) == 1 % mod) ans = m / i;
		}
	}
	write(ans);
	cout << endl;
}
signed main() {
	freopen("card.in", "r", stdin);
	freopen("card.out", "w", stdout);
	int T;
	T = read();
	while(T --) solve();
}

B.

原题

设当前异或和为 \(x\),令 \(a_{n+1} = x\)。不难发现,对 \(a_i\) 操作一次即为交换 \(a_i\) 和 \(a_{n + 1}\)。就可以建边,对于
\(a_i \neq b_i\),连一条边,答案即为边数 + 连通块数 - 1。

证明

C.

原题

D.

标签:13,ch,int,phi,连测,ans,梦熊,2n,mod
From: https://www.cnblogs.com/wyyqwq/p/18441594

相关文章

  • springboot超市管理系统-计算机毕业设计源码65137
    摘要随着电子商务的快速发展和超市行业的竞争加剧,建立一个高效的超市管理系统对于提升超市运营效率和用户体验至关重要。本文旨在基于SpringBoot框架、Java编程语言和MySQL数据库,设计和开发一个超市管理系统。该系统旨在提升超市的运营效率和用户体验。通过采用简洁直观的用......
  • 南沙C++信奥赛陈老师解一本通题 1269:【例9.13】庆功会
    ​ 【题目描述】为了庆贺班级在校运动会上取得全校第一名成绩,班主任决定开一场庆功会,为此拨款购买奖品犒劳运动员。期望拨款金额能购买最大价值的奖品,可以补充他们的精力和体力。【输入】第一行二个数n(n≤500),m(m≤6000),其中n代表希望购买的奖品的种数,m表示拨款金额。接......
  • 转载 fastapi 部署 原文链接:https://blog.csdn.net/FrenzyTechAI/article/details/132
    sudoadd-apt-repositoryppa:deadsnakes/ppasudoaptupdatesudoaptinstallpython3.12python3.12-venv-ysudoaptinstallsupervisorsudoaptinstallsupervisornginx-y启用并启动Supervisor:sudosystemctlenablesupervisorsudosystemctlstartsupervisor使用ena......
  • 题解:P11132 【MX-X5-T4】「GFOI Round 1」epitaxy
    1.做法及证明因为\(n\)一定会被包含在某一区间内,所以最后答案肯定是\(n\)的因数。先给出结论:对于\(n\)的因数\(d\),其合法的充要条件为\(d\lem\),所以我们只需要找到第一个小于等于\(m\)的\(d\)即可。接下来我们来证明。下文用\(i'\)表示以第\(i\)位开头的长度......
  • 2024 最新 Navicat Premium 17.0.13 简体中文版(亲测可用)
    步骤如下:一、官网下载安装包:https://www.navicat.com.cn/download/navicat-premium  二、安装NavicatPremium17  注意:安装完后不要打开已打开自行退出三、补丁下载关注后发送“navicat17”即可获取补丁下载地址,无套路。 四、安装补丁先将下载下来的压缩包里面......
  • P11130 解题报告
    场外选手口胡题目传送门题目大意:\(T\)组询问,每次给定两个正整数\(a,b\)。定义一种操作为:选择一个正整数\(y\),将\(x\)变成\(x\times\gcd(a,y)\)。对每组询问回答:将\(a\)变成\(y\)最少需要几次操作。数据范围:\(1\leT\le2\times10^5,1\lea\leb\le10^{18}\)......
  • 2024-2025-1 20241318 《计算机基础与程序设计》第一周学习总结
    这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标阅读浏览教材《计算机科学概论》并提出自己的问题,基于AI进行学习作业正文...本博客链接......
  • 2024-2025-1 20241327 《计算机基础与1程序设计》第1周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||-- |-|2024-2025-1计算机基础与程序设计第一周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|...本博客链接 |教材学习内容总结-《计算机科学概......
  • 【问题解决】win10日志错误:创建 TLS 客户端凭据时发生致命错误。 内部错误状态为 1001
    背景最近win10死机了一次,查看事件管理器发现有大量的报错:“创建TLS客户端凭据时发生致命错误。内部错误状态为10013”,如图:解决win键搜索internet选项确定。原因参考错误:“创建TLS客户端凭据时发生致命错误。内部错误状态为10013”的说法是win10对TLSv3.0兼容性......
  • 2024-2025-1 20241314 《计算机基础与程序设计》第一周学习总结
    作业信息作业所属课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)作业要求<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)作业的目标课程概论工业革命与浪潮之巅信息与信息安全计算......