当前位置: 首页 > news >正文

NOIP2025模拟赛24

T1 T2 T3 T4
\(\color{#52C41A} 普及+/提高\) \(\color{#3498DB} 提高+/省选-\) \(\color{#9D3DCF} 省选/NOI-\) \(\color{#0E1D69} NOI/NOI+\)

参赛网址:https://oj.33dai.cn/d/TYOI/contest/689ad798c5d9c2f14c20b17f

T2,T4未完成搭建

T1 寄希地【NOIP2025模拟赛T1】

题目传送门

题目难度:\(\color{#52C41A} 普及+/提高\)

算法标签:搜索,搜索与剪枝

~首先说 《我将 100 AC 改为 0 RE 这件事》!~

:::info[来源]
来源:2024ICPC亚洲区域赛昆明站G

cf链接:https://codeforces.com/gym/105588/problem/G

2024ICPC亚洲区域赛昆明站G题面:https://codeforces.com/gym/105588/attachments/download/28814/2-statement-chinese.pdf

2024ICPC亚洲区域赛昆明站G题解:https://codeforces.com/gym/105588/attachments/download/28803/tutorial.pdf
:::

思路

由于具有明显提示性,本题没有大样例。

首先考虑打表,通过 \(\text {Dp}\) 或搜索。

然后我们发现答案在 \(17\) 以内,搜索时间复杂度 \(O(2^{17})\)结案

复杂度的证明

标准题解证明详细过程

设两数分别为 \(x\),\(y\)

  • 情况1:\(x\)\(y\) 奇偶性不同,

    \(\because\) \(x\)\(y\) 奇偶性不同.

    \(\therefore\) \(\gcd(x,y) \equiv 1 \pmod{2}\).

    \(x \equiv 1 \pmod{2}\).

    则如果使 \(x-\gcd(x,y)\).

    那么 \(x\)\(y\) 在二进制下末尾都为 \(0\),即 \(x \equiv y \equiv 0 \pmod{2}\),我们可以视为 同时删除 \(x\)\(y\) 的末尾.

  • 情况2:\(x\)\(y\) 奇偶性相同,

    \(\because\) \(x\)\(y\) 奇偶性相同.

    \(\therefore\) \(\gcd(x,y) \equiv 0 \pmod{2}\).

    那么 \(x\)\(y\) 在二进制下末尾都为 \(0\),即 \(x \equiv y \equiv 0 \pmod{2}\),同时删除 \(x\)\(y\) 的末尾对答案相当于 \(+2\).

所以答案最大为 \(2 \times log_2 a+1+1\).

AC Code

std:2ms

#include <bits/stdc++.h>
#define int long long
using namespace std;int T;
int n,m;
struct node{int n,m,dis;};
queue<node> Q;int bfs(){while (Q.size()>0)  Q.pop();Q.push({n,m,0});while (Q.size()>0){node t=Q.front();Q.pop();int x=t.n,y=t.m;if (x==0&&y==0) return t.dis;int gcd=__gcd(x,y);if (x==0)   gcd=y;if (y==0)   gcd=x;Q.push({x-gcd,y,t.dis+1});Q.push({x,y-gcd,t.dis+1});}
}signed main(){ios::sync_with_stdio(false);cin.tie(0);cin>>T;while (T--){cin>>n>>m;cout<<bfs()<<"\n";}return 0;
}

T2 后缀的前缀之和【NOIP2025模拟赛T2】

题目传送门

题目难度:\(\color{#3498DB} 提高+/省选-\)

算法标签:字符串,Trie树,后缀数据结构,数据结构,Hashing,其他,二分查找,分治

T3 大金币【NOIP2025模拟赛T3】

题目传送门

题目难度:\(\color{#9D3DCF} 省选/NOI-\)

算法标签:模拟,递推,其他,二分查找,数学,分块

:::info[来源]
来源:2024ICPC亚洲区域赛昆明站C

cf链接:https://codeforces.com/gym/105588/problem/C

2024ICPC亚洲区域赛昆明站题面:https://codeforces.com/gym/105588/attachments/download/28814/2-statement-chinese.pdf

2024ICPC亚洲区域赛昆明站题解:https://codeforces.com/gym/105588/attachments/download/28803/tutorial.pdf
:::

思路

https://oj.33dai.cn/d/TYOI/p/N0740/solution

考虑第 \(i\) 轮淘汰的第一个人,\(a_i=\lceil \frac{a_{i-1}\times k}{k-1} \rceil\)

可以通过打表得知,为什么我没发现

直接暴力太慢了,时间复杂度 \(O(n)\)

\(a_i=\lceil \frac{a_{i-1}\times k}{k-1} \rceil=a_{i-1}+\lceil \frac{a_{i-1}}{k-1} \rceil\)

所以可以每次考虑增量 \(c=\lceil \frac{a_{i-1}}{k-1} \rceil\)

二分即可。

AC Code

#include <bits/stdc++.h>
#define int long long
using namespace std;const int maxn=1e7+5;
int T;
int n,k;
int dp[maxn];signed main(){ios::sync_with_stdio(false);cin.tie(0);cin>>T;while (T--){cin>>n>>k;dp[1]=1;int x=1,num=0,d=0;while (1){d=(x+k-2)/(k-1);int l=0,r=(n-x+d)/d,ans=0;while (l<=r){int mid=(l+r)>>1;if ((x+mid*d+k-2)/(k-1)<=d){l=mid+1;ans=mid;}else    r=mid-1;}num=ans+1;if (x+num*d>=n){x+=((n-x)/d)*d;break;}x+=num*d;}cout<<x<<"\n";}return 0;
}

T4 道路定向【NOIP2025模拟赛T4】

题目传送门

题目难度:\(\color{#0E1D69} NOI/NOI+\)

算法标签:贪心,搜索,折半搜索,动态规划,树形DP

http://www.hskmm.com/?act=detail&tid=19597

相关文章:

  • grammar(?
  • 读人形机器人25伦理问题
  • 使用场景规则匹配模式代替复杂的if else条件判断
  • 9.28作业
  • 2025.9.28+7[未完]
  • 无需登录即可在管理员页面发现XSS漏洞的技术解析
  • 【操作系统】函数调用
  • 岐金兰与AI元人文概念的深度关联研究:从理论构想到实践应用
  • 维生素D,毛姆,我,还有停滞的3年
  • “一键并行搜索”的本地导航页实现
  • 常见NAS文件传输协议中SMB、FTP、NFS、 rsync、WebDAV服务各有何区别?
  • cgroup 使用
  • 在Java中原码反码补码的区别
  • 苍穹外卖-day02(新增员工,员工分页查询,启用禁用员工账号,编辑员工,导入分类模块功能代码) - a
  • 问题
  • 智慧决策的透明化路径:空白金兰契架构下的悟空备案制研究
  • 使用 preact 渲染组件到任何元素
  • 《ZeroTier教程》03-客户端配置 zerotier-cli常用命令 桥接和路由配置示例
  • XDG和桌面环境
  • JAVA 语法基础课程动手动脑及课后实验问题整理文档
  • python垃圾回收
  • Arduino IDE 离线更新ESP-32 lib包
  • CUDA编程(CUDA_By_Example笔记)
  • K8S部署Openwebui 服务(Nvidia版)
  • 传统AI对话:悟空也辛苦(ai元人文)
  • 理解大语言模型中的 Token
  • 软件工程第一次团队作业
  • 实验1作业
  • 苍穹外卖-day01(软件开发整体介绍,苍穹外卖项目介绍,开发环境搭建,导入接口文档,Swagger) - a
  • 9.27动手动脑及课后实验