2025多校冲刺省选模拟赛10

2025多校冲刺省选模拟赛10

\(T1\) A. 电车 \(5pts\)

  • 直接化简成质因数分解的形式,因质因数分解是唯一的,故可以只考虑下标为质数处的值交换。

  • 容易发现 \(2p_{1},2p_{2}>n\) 的质数 \(p_{1},p_{2}\) 交换后不会影响合法性,考虑进一步扩展。

  • 对着指数确定范围无法处理,不妨直接看成 \(x \times p>n\) 的形式,此时 \(\left\lfloor \frac{n}{x} \right\rfloor <p \le \left\lfloor \frac{n}{x-1} \right\rfloor\)

  • 整除分块对 \(\left\lfloor \frac{n}{i} \right\rfloor\) 相等的极长区间处理素数个数即可。

    点击查看代码
    const int p=998244353;
    int prime[10000010],vis[10000010],sum[10000010],jc[10000010],len;
    void isprime(int n)
    {memset(vis,0,sizeof(vis));for(int i=2;i<=n;i++){if(vis[i]==0){len++;prime[len]=i;}for(int j=1;j<=len&&i*prime[j]<=n;j++){vis[i*prime[j]]=1;if(i%prime[j]==0)  break;}}jc[0]=1;for(int i=1;i<=n;i++)  {sum[i]=sum[i-1]+(vis[i]==0);jc[i]=1ll*jc[i-1]*i%p;}
    }
    int ask(int n)
    {int ans=1;for(int l=1,r;l<=n;l=r+1){r=(n/l>=1)?min(n,n/(n/l)):n;ans=1ll*ans*jc[sum[r]-sum[l-1]]%p;}return ans;
    }
    int main()
    {
    #define Isaac
    #ifdef Isaacfreopen("densha.in","r",stdin);freopen("densha.out","w",stdout);
    #endifint t,n,i;cin>>t;isprime(10000000);for(i=1;i<=t;i++){cin>>n;cout<<ask(n)<<endl;}return 0;
    }
    

\(T2\) B. 波长 \(5pts\)

  • 部分分

    • \(55pts\)
      • 理论上最大子段内任意选择一个 \(-1\) 均可,不妨直接取端点处 \(-1\)
      • 子段后面是否有 \(0\) 视写法会影响正确性,一个容易处理的方式是取最靠左的极短最大子段。
    点击查看代码
    const ll p=998244353;
    ll a[100010];
    int main()
    {
    #define Isaac
    #ifdef Isaacfreopen("hacho.in","r",stdin);freopen("hacho.out","w",stdout);
    #endifll n,k,sum=0,ans=0,maxx=-0x3f3f3f3f3f3f3f3f,pos=0,i,j;cin>>n>>k;for(i=1;i<=n;i++)  {cin>>a[i];sum=max(a[i],sum+a[i]);if(sum>maxx){maxx=sum;pos=i;}}a[pos]--;for(j=1;j<=k;j++){maxx=-0x3f3f3f3f3f3f3f3f;  sum=pos=0;for(i=1;i<=n;i++)  {sum=max(a[i],sum+a[i]);if(sum>maxx){maxx=sum;pos=i;}}ans=(ans+maxx%p+p)%p;a[pos]--;}cout<<ans<<endl;return 0;
    }
    
  • 正解

\(T3\) C. 捕获 \(0pts\)

  • 部分分

    • 测试点 \(13,14\) :双指针扫左部点(从大到小)和右部点(从小到大),匹配失败就交换左右部分。
    点击查看代码
    ll c[100010],a[100010];
    deque<ll>q[100010];
    ll solve(deque<ll>&v1,deque<ll>&v2,ll m)
    {if(v1.size()==0||v2.size()==0) return 0;ll ans=0;while(v1.empty()==0&&v2.empty()==0){if(v1.size()<v2.size())  swap(v1,v2);if(v1.back()+v2.front()<=m){ans+=v1.back()+v2.front();v2.pop_front();}v1.pop_back();}return ans;
    }
    int main()
    {
    #define Isaac
    #ifdef Isaacfreopen("hokaku.in","r",stdin);freopen("hokaku.out","w",stdout);
    #endifll t,n,m,i,j;scanf("%lld",&t);for(j=1;j<=t;j++){scanf("%lld%lld",&n,&m);for(i=1;i<=n;i++)  q[i].clear();for(i=1;i<=n;i++){scanf("%lld%lld",&c[i],&a[i]);q[c[i]].push_back(a[i]);}for(i=1;i<=n;i++)  sort(q[i].begin(),q[i].end());printf("%lld\n",solve(q[1],q[2],m));}return 0;
    }
    
  • 正解

总结

  • 整场都在死磕 \(T3\) 的一般图最大权匹配 \(20pts\) 暴力,误认为网络流可做。
  • \(T3\) 为了方便,把匹配失败就交换左右部分写成了跑两遍分别匹配,挂了 \(10pts\)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/881391.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DESTRUCTION OI(退役前要做的 100 件事)

【洛谷专栏】。 这几天会慢慢更新的,致我即将结束的 OI 旅程。 每一个事应该都会图文并茂展开写,也算是作为我回忆录的一部分(?这也给了我另外一个思路。 更新进度 -> 100。给自己起个 ID ✓cjh20090318/Chen_Jinhui,这两个应该是我最常用的 ID。微信:cjh20090318 QQ:…

linux命令操作以及常见环境部署

文档对应的视频来自bibi 黑马 Linux基础命令 Linux的目录结构/,根目录是最顶级的目录了 Linux只有一个顶级目录:/ 路径描述的层次关系同样适用/来表示 /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txtls命令 功能:列出文件夹信息 语法:ls [-l …

题解 [ARC127C] Binary Strings

【洛谷专栏】。 题意 给出 \(n,x\),请求出二进制下 \([1,2^n-1]\) 中字典序第 \(x\) 小的数是什么。 分析 从样例观察出每一个数的第一个字符都是 \(1\),然后画出 \(n=3\) 的树。节点即第 \(x\) 小的终止位置,边权从上到下依次表示二进制位。 顺着树从上往下,设当前节点在第…

[图形绘制/流程图] Mermaid : 开源的低代码图形绘制语言、协议及工具

概述:MermaidMermaid‌是一种基于Javascript的、开源的文本驱动图表生成工具/绘图工具,,使用类似于Markdown的低代码语法,它允许用户使用简单的文本语言来创建各种类型的图表,如流程图、时序图、甘特图和饼状图等。https://github.com/mermaid-js/mermaid https://mermaid…

SFM(Structure from Motion)总结(一)

什么是SFM? SFM(Structure from Motion)即运动结构恢复,通过给出多幅图像及其图像特征的一个稀疏对应集合,从而估计3D点的位置,这个求解过程通常涉及3D几何(结构)和摄像机姿态(运动)的同时估计。如何求解相关参数? 从图中可以得出,我们需要求解的主要内容有两个,一…

virt-manager 创建 Linux 虚拟机

上传 iso 到宿主机 ls -l /data1/iso/ total 4422912 -rw-r--r-- 1 root root 1774077952 Jan 22 08:51 ctyunos-2.0.1-210625-x86_64-dvd.iso -rw-r--r-- 1 root root 2754981888 May 7 2024 ubuntu-24.04-live-server-amd64.iso 运行 virt-manager virt-manager创建虚拟机 …

hyperf: 为项目定义全局函数

一,修改composer.json"autoload": {"psr-4": {"App\\": "app/"},"files": ["app/Functions.php"]}, 在files数组中增加我们的函数文件 二,源代码 app/Functions.php <?phpuse Hyperf\Context\ApplicationCo…

13. CMake工具的使用

一、什么是CMake工具CMake 是一个跨平台的构建系统生成器,主要用于管理和自动化软件项目的构建过程。它通过读取项目中的 CMakeLists.txt 文件来生成适用于不同编译器和操作系统的构建文件。对于大型或复杂的项目,直接编写和维护 Makefile 文件可能会变得非常复杂且容易出错,…

「PMOI-5」奇怪的方程 题解

哎哎,感觉是很典的题啊,但还是不会。 一些无脑的转化 首先转化成二维数组,原题中 \(2n\) 个方程相当于必须满足每一行和每一列的数之和是定值,已被选的数可以让这个位置的行与列的总和分别减去这个数,然后直接令它等于 \(0\),显然这是与原条件等价的。 另外我们可以发现有…

P11216 【MX-J8-T4】2048 题解

这是本蒟蒻的第一篇正式题解。 本题重点在于找到无解序列的充要条件,首先记 \(a_i\) 为游戏结束时第 \(i\) 个数取 \(2\) 的对数,\(t_i\) 为第 \(i\) 个数出现时间离散化后的值,显然 \(a\) 相邻两项不同,\(t\) 是一个排列,如果一个位置比它相邻位置大且出现时间小,直接按…

问一下,利用在线 DeepSeek 等 API 服务实现一个答题 APP

这是一个利用 Android 无障碍功能 + 悬浮窗 + 大模型的搜题应用原理就是利用无障碍读取屏幕内容,然后通过悬浮窗来显示答案简介 这是一个利用 Android 无障碍功能 + 悬浮窗 + 大模型的搜题应用 原理就是利用无障碍读取屏幕内容,然后通过悬浮窗来显示答案 众所周知我是一个学渣…