2025-11-12 aoao Round2 赛后总结

news/2025/11/12 17:20:12/文章来源:https://www.cnblogs.com/AeeE5x/p/19214783

T1 空

题意

给定一个排列 \(p\) 和一个数 \(b\),求这个排列有多少长度为奇数的子段的中位数是 \(b\)

赛时

观察性质。

题解

考虑把排列中大于 \(b\) 的数变成 \(1\),小于 \(p\) 的数变成 \(-1\)

所以做个前缀和,把 \(b\) 右边的所有数存到 map 里,扫左边匹配就做完了。

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
#define infll 0x3f3f3f3f3f3f3f3f
using namespace std;int n,b;
int a[200010];map<int,int> d;int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>b;for(int i=1;i<=n;i++) cin>>a[i];int pos=0;for(int i=1;i<=n;i++){if(a[i]<b) a[i]=-1;else if(a[i]>b) a[i]=1;else a[i]=0,pos=i;}for(int i=1;i<=n;i++) a[i]+=a[i-1];long long ans=0;for(int i=pos;i<=n;i++) d[a[i]]++;for(int i=1;i<=pos;i++) ans+=d[a[i-1]];cout<<ans<<"\n";# ifndef ONLINE_JUDGEcerr<<"\nUsed time: "<<clock()*1.0/CLOCKS_PER_SEC<<"s.\n";# endifreturn 0;
}

T2 紫

题意

给定一个序列 \(a\)

定义 \(f(x,y)\)\(x\)\(y\) 在二进制表示下有多少个不同的位置。

对于每个 \(a_i\) 求出 \(\max_{j=1}^{n}f(a_i,a_j)\)

赛时

被卡了好久。

题解

显然所求是异或后最大的 \(\operatorname{popcount}\)

反过来考虑,求的就是取反后和序列中其他数的最小差异位数。

所以对序列中所有数为起点跑个 bfs 就做完了。

存在字典树做法,但我懒了。

如果想看乱搞做法可以去找 mhh。

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
#define infll 0x3f3f3f3f3f3f3f3f
using namespace std;int n,m;int a[1048577];bool vis[1048577];
int d[1048577];
queue<int> q;
void solve(){for(int i=1;i<=n;i++) q.push(a[i]),d[a[i]]=0,vis[a[i]]=1;while(!q.empty()){int x=q.front();q.pop();for(int i=0;i<m;i++){int y=x^(1<<i);if(vis[y]) continue;vis[y]=1;d[y]=d[x]+1;q.push(y);}}
}int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>m;for(int i=1;i<=n;i++) cin>>a[i];solve();for(int i=1;i<=n;i++) cout<<m-d[a[i]^((1<<m)-1)]<<" ";# ifndef ONLINE_JUDGEcerr<<"\nUsed time: "<<clock()*1.0/CLOCKS_PER_SEC<<"s.\n";# endifreturn 0;
}

T3 花

题意

给定长为 \(n\) 的序列 \(a,b\),求:

\[\sum_{i=1}^{n}\sum_{j=1}^{i-1}C_{a_i+a_j+b_i+b_j}^{a_i+a_j} \]

的值。

\(998244853\) 取模。

赛时

20 pts 暴力。

题解

考虑组合意义。

对于一对 \((i,j)\),可以看作是 \((0,0)\) 走到 \((a_i+a_j,b_i+b_j)\),只能朝上、右走的路径方案数。

把这个东西平移成从 \((-a_i,-b_i)\) 走到 \((a_j,b_j)\)

注意到 \(V\) 很小。所以我们把每个 \((-a_i,-b_i)\) 的位置加 \(1\),然后跑一个经典 dp,答案就是所有 \((a_i,b_i)\) 处的数之和。

但是会算重。首先减去 \(i\) 贡献到 \(i\) 的方案数 \(C_{2a_i+2b_i}^{2a_i}\)

最后的最后再除个 \(2\)。因为一个点对会算两次。

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
#define infll 0x3f3f3f3f3f3f3f3f
using namespace std;const long long mod=998244853;
long long qpow(long long x,long long a){long long res=1;while(a){if(a&1) res=res*x%mod;x=x*x%mod;a>>=1;}return res;
}
long long fac[200010];
long long C(long long n,long long m){return fac[n]*qpow(fac[n-m]*fac[m]%mod,mod-2)%mod;}int n;
int a[200010],b[200010];
int dp[5010][5010];int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n;for(int i=1;i<=n;i++) cin>>a[i]>>b[i];for(int i=1;i<=n;i++) dp[2500-a[i]][2500-b[i]]++;fac[0]=1;for(int i=1;i<=200000;i++) fac[i]=fac[i-1]*i%mod;for(int i=1;i<5000;i++) for(int j=1;j<5000;j++) (dp[i][j]+=dp[i-1][j]+dp[i][j-1])%=mod;long long ans=0;for(int i=1;i<=n;i++) ans=(ans+dp[2500+a[i]][2500+b[i]]-C(2*(a[i]+b[i]),2*a[i])+mod)%mod;cout<<ans*qpow(2,mod-2)%mod<<"\n";# ifndef ONLINE_JUDGEcerr<<"\nUsed time: "<<clock()*1.0/CLOCKS_PER_SEC<<"s.\n";# endifreturn 0;
}

总结

T3 T4 打不动一点。

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

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

相关文章

商丘西林瓶灌装线:人员更替需再培训?费用明晰

在制药与生物制剂行业,西林瓶灌装设备的操作人员流动性问题日益受到关注。尤其当熟悉流程的技术人员离职后,新接手人员是否需要重新培训、二次培训成本如何控制,成为企业采购决策中的关键考量因素之一。面对这一现实…

vue3+ts实现页面滚动位置的保存及恢复

vue3+ts实现页面滚动位置的保存及恢复前言: 折腾了n个小时才搞定,这个在vue2中不显眼的功能到了vue3中没想到成为了拦路虎。借助于AI一遍一遍的尝试各种方案,最终敲定了路由scrollBehavior保存组件滚动位置到pinia,…

SAP屏幕增强自定义界面字段使用自定义搜索帮助方法

背景:在比如采购订单、销售订单屏幕界面,做了自定义字段,里面要选择一些底表的数据显示。 1、直接使用系统标准的搜索帮助。 假设我们已经有底表数据ZTCMS002,SE11建立搜索帮助. 进到屏幕界面,点击布局 双击字段,…

南大-操作系统-绿导师原谅你了

现在在看的视频: 操作系统上的程序 (什么是程序和编译器) [南京大学2022操作系统-P2] 1. 缘起 事情起因是在学习youtube上benEater的制作cpu的视频,然后在b站上搜索有没有人做过搬运或者中文翻译的视频。 B站搜索后找…

昌都西林瓶粉末灌装机:远程可控,手机电脑轻松操作

在制药、生物试剂及精细化工等行业,西林瓶灌装设备的选型常面临多重挑战:一方面,用户对灌装精度、洁净等级、自动化程度等核心参数理解不足;另一方面,市场产品种类繁杂,功能描述模糊,导致需求与设备实际能力错配…

深入解析:EI会议预订又又+1

深入解析:EI会议预订又又+12025-11-12 17:07 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important;…

牛B, 我去,新手小白也能使用InfiniteTalk搭建属于自己的数字人啦 ,真的太简单啦!!!

嗨,我是小华同学,专注解锁高效工作与前沿AI工具!每日精选开源技术、实战技巧,助你省时50%、领先他人一步。👉免费订阅,与10万+技术人共享升级秘籍!数字人视频制作最难的是两点:口型要准、全身/表情要自然一致…

QCombox判断是否包含某项

在 Qt 中,判断 QComboBox 是否包含某项有几种方法。以下是详细的解决方案: 方法一:使用 findText() 函数(最常用) #include <QComboBox>// 判断是否包含文本项 QComboBox *comboBox = new QComboBox(this);…

植物大战僵尸2下载教程:延续经典塔防,体验全新时空冒险

前言: 十多年前,一款小巧却极具创意的塔防游戏——《植物大战僵尸》,几乎成为每一代电脑玩家的共同记忆。它以简洁画风、紧凑节奏和独特策略设计,奠定了塔防类游戏的经典地位。 如今,这个系列迎来了更具规模和深度…

阳江西林瓶灌装加塞机:多品牌如何选?看这几点

在当前制药与生物制剂设备采购市场中,阳江地区的中小型药企及科研机构对西林瓶灌装设备的需求持续增长。据2024年行业调研数据显示,用户在选购西林瓶灌装机时,核心关注点依次为:设备稳定性(占比38%)、灌装精度(…

JavaWeb05-Web基础

JavaWeb05-Web基础Web基础1.SpringBoot Spring官网:spring.ioSpring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。Spring Boot可以帮助我们非常快速的构建应用程序、…

CF125E MST Company

按照和 P2619 一样的方法,将连有 \(1\) 的边看作白边,其他边为黑边,随便 WQS 二分一下即可。

Git分支合并

在开发中,我们需要独立的分支进行独立开发,开发测试完之后没问题,往master合并的操作 Git分支合并(别的分支合并到master)bash # 切换到 master 分支 git checkout master# 从远程拉取最新的 master 分支代码(如…

西林瓶灌装机质

在制药、生物试剂及精细化工等行业,设备选型常面临需求与产品错配、技术参数混乱、售后响应滞后等核心痛点。尤其针对西林瓶灌装机这类高精度设备,一旦出现质量问题,不仅影响生产效率,更可能造成整批产品报废。因此…

基于Newmark-β法的单自由度体系地震响应MATLAB实现

基于Newmark-β法的单自由度体系地震响应MATLAB实现一、算法原理与公式 单自由度体系运动方程:Newmark-β法递推公式:预测步:校正步:二、MATLAB核心代码实现 function [time, disp, vel, acc] = Newmark_SDOF(m, c…

无监督学习驱动的遗留系统重构专业的方法论

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Cortex-M3 内核 MCU-STM32F1 构建之路:(一)单片机 MCU 的构成,包括 FLASH 和 SRAM 的区别,以及引脚类型

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

证书的格式转化

Windows server 颁发给Linux的证书一般为p7b格式 流程图:在centos8中把p7b证书转发成pem格式的证书 假设p7b证书在/etc/ssl/certs中 证书的名字: certnew.ceropenssl pkcs7 -inform der -in /etc/ssl/ce…

P14480 化作彗星 题解

Description 为了再现那日的彗星,Nana 和 Lily 需要使用特定的数对把一个序列变成另一个序列。 Nana 有一个长度为 \(n\) 序列 \(a\),Lily 每次可以选择一个下标 \(i(1\le i<n)\),然后操作 \(a_i\leftarrow x,a_…

PG系列:Select查询一样会被阻塞

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。在之前的理解…