2025多校冲刺CSP模拟赛2 2025.10.4 模拟炸

rt:炸了

T1 查询

题面

赛时

疯狂排序!!疯狂贪心!!疯狂分讨!!疯狂星期六!!(大雾)
无果。死了。
打了暴力32pts遗憾离场

正解

二分答案!闪亮登场!
考虑比较元素为\(a_i+b_i*c_j\)形如一次函数\(y=kx+b\),
即设\(k=b_i,b=a_i,x=c_j\),则对\(y\)进行查找。
rt:
image
发现:若\(k=b_i,b=a_i\)为定值,则\(x=c_j\)越大,\(y\)越大。

观察数据范围,考虑对答案二分(即第\(k\)大的数为\(js\)),check是否有\(k\)个数小于\(js\)

如何check?
根据上面的发现,对\(c\)数组进行排序,使其具有单调性,再次进行二分答案,对于每个\(a_i,b_i\),二分答案(可调upper_bound)有多少个\(c_j\)使\(a_i+b_i*c_j \le js\),然后累加比较是否大于等于\(k\)
时间复杂度\(O(n \log n \log V)\)

代码:

#include<bits/stdc++.h>
using namespace std;
long long a[100010],b[100010],c[100010];
int n;
long long k;
bool check(long long js)
{long long res=0;for(int i=1;i<=n;i++){long long dk=(upper_bound(c+1,c+n+1,(js-a[i])/b[i])-c-1);res+=dk;	if(res>=k){return 1;}	} if(res>=k){return 1;}return 0;
}
int main()
{ios::sync_with_stdio(false);freopen("query.in","r",stdin);freopen("query.out","w",stdout);cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){cin>>b[i];	} for(int i=1;i<=n;i++){cin>>c[i];}cin>>k; sort(c+1,c+1+n);long long l=0,r=1e18,mid;while(l<r){mid=(l+r)>>1;if(check(mid)){r=mid;}else{l=mid+1;}} cout<<r;return 0;
} 

T2 参加

题面

赛时

10min烧烤性质!!20min证明性质!!疯狂证明!!疯狂证明!!疯狂证明!!

5min写出代码!!计算时间复杂度!!疯狂TLE!!疯狂TLE!!疯狂TLE!!

评价:不如暴力

打了不如暴力25pts遗憾离场
(其实应该是40pts,但唐必僵尸没开long long,且极大值调用的INT_MAX导致挂掉15pts)

40pts

思考
\(k\)左边部分为例,发现若相邻两个数之间不满足严格递增(即\(a_i \ge a_{i+1}\)
其一定会有\(x\)次操作\([l,r]\),不同时包含\(a_i,a_{i+1}\)(即\(l \le i \le r <i+1\))
此时\(x=a_i-a_{i+1}+1\),\(x\)即为对答案的贡献。
做法
枚举分界点\(k\),将序列分为两部分
左边严格上升,右边严格下降
两部分分别遍历,对于相邻数字\(a_i,a_{i+1}\),若其不符合它所处部分的规则,它对答案的贡献为两数差值加一(因为是严格上升或下降)
最终答案是对于一个\(k\),其两部分的贡献取较大值,然后对于每个k较小值

点击查看代码
#include<bits/stdc++.h>
using namespace std;
long long a[200010];
int main()
{ios::sync_with_stdio(false);freopen("attend.in","r",stdin);freopen("attend.out","w",stdout);long long n;cin>>n;for(long long i=1;i<=n;i++){cin>>a[i];	}	long long res=99999999999999; for(long long k=1;k<=n;k++){long long ans1=0,ans2=0;for(long long i=1;i<k;i++){if(a[i]>=a[i+1]){ans1+=a[i]-a[i+1]+1; }	}  for(long long j=n;j>k;j--){if(a[j]>=a[j-1]){ans2+=a[j]-a[j-1]+1; }	} res=min(res,max(ans1,ans2));if(res==0){cout<<0;return 0;	} }cout<<res;return 0;
}

正解

发现其性质是优的,只是会TLE

我们考虑优化
发现对于每次枚举\(k\)分界点时,都计算了相邻数字\(a_i,a_{i+1}\)对答案的贡献,有许多冗杂计算浪费时间。

如何优化:
可以使用差分的方法
用一个差分数组\(cf\)记录相邻数字\(a_i,a_{i+1}\)的差
再用前缀和数组\(prv\)和后缀和数组\(nxt\)还原答案
最后再枚举分界点,找出答案。

代码

#include<bits/stdc++.h>
using namespace std;
long long a[200010],cf[200010];
long long prv[200010],nxt[200010];
long long ans=1e18;
int n;
int main()
{ios::sync_with_stdio(false);freopen("attend.in","r",stdin);freopen("attend.out","w",stdout);cin>>n;for(int i=1;i<=n;i++){cin>>a[i];cf[i]=a[i]-a[i-1];	} for(int i=1;i<=n;i++){prv[i]=prv[i-1]+max(0ll,1-cf[i]);} for(int i=n;i>=1;i--){nxt[i]=nxt[i+1]+max(0ll,1+cf[i]);}for(int i=0;i<=n;i++){ans=min(ans,max(prv[i],nxt[i+1]));}cout<<ans;return 0;	
} 

T3 决斗

题面

正在施工中...

T4 回文串问题

题面

正在施工中...

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

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

相关文章

算法乱谈

1.图与树最短路所谓最短路,在图上确定序列长度为 \(n\) 的序列 \(A\) 为 \({P_1,P_2,...P_n}\),其中总有 \(P_i \rightarrow P_{i+1} \in E\),并且最小化 \(\sum_{i=1}^n W_{(P_i,P_{i+1})}\) 。 算法 1.dijkstra 其…

2025 年 9 月习题集

2025年9月习题集P5933 [清华集训 2012] 串珠子。简单的图计数。 P8329 [ZJOI2022] 树。DP。 P6646 [CCO 2020] Shopping Plans。堆,最优化。 P7470 [NOI Online 2021 提高组] 岛屿探险。分治,01-Trie。 P4809 [CCC 2…

实用指南:Linux整个系统权限玩坏了怎么办

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

工业云网站建设为什么网站打开是空白

题意 给定两个人相互打电话&#xff0c;如果a打给b,b打给c,c打给a&#xff0c;则说a,b,c在同一电话圈中。给出n个人的m次通话&#xff0c;输出所有的电话圈 思路 用graph[u][v]1表示u和v之间有打电话。在使用floyd算法计算所有的点对之间的值。graph[u][v]1表示u,v之间有直接…

asp.net 网站开发 教程网页翻译器在线翻译

Amundsen 是一个用于数据发现和元数据管理的开源平台。Amundsen是一个用于提高数据分析师、数据科学家和工程师在与数据交互时的生产力的数据发现和元数据引擎。目前,它通过索引数据资源(表、仪表板、流等)并基于使用模式(例如,高频查询的表会比低频查询的表更早显示)提供…

做足球采集软件和预测软件的网站网站建设新闻发布注意什么

无向图概念时间戳\(dfn[x]\),在深度优先遍历中&#xff0c;按照每个节点第一次被访问的顺序&#xff0c;依次做整数标记追溯值\(low[x]\),通过非搜索边能到达的最小时间戳割边判定法则无向边\((x,y)\)是割边/桥&#xff0c;当且仅当存在x的一个子节点满足\(dfn[x] < low[y]\…

阐述网站建设的步骤过程网站首页成品

身为程序员哪一个瞬间让你最奔溃&#xff1f; 有一次我面临一个挑战&#xff0c;由于后续开发的需要&#xff0c;本来不需要同步块运行的部分突然需要进行同步块处理。为了避免重新设计同步块的耗时&#xff0c;我考虑使用一个资源占用标志代替。然而&#xff0c;事情并没有按…

Chrome 系统信息

Chrome 系统信息在地址栏中输入并访问​​ chrome://version/

YACS2025年9月甲组

YACS2025年9月甲组T1. 整除 创建一个由数对组成的数组 \(C\),其中每个元素为 \((i, a_i) \ (1 \leqslant i \leqslant n)\)。令 \(C_{x, 1}\) 和 \(C_{x_, 2}\) 分别表示数对 \(C_x\) 的第一个(即 \(i\))和第二个元…

信息链路层协议——以太网,ARP协议

信息链路层协议——以太网,ARP协议pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco…

微信小程序制作网站怎么让网站绑定域名访问

一般是kswapd0导致的cpu占用异常 按顺序执行以下操作 在控制台执行top命令&#xff0c;查看占用最高的是否kswapd0。基本100%占用。记下该进程ID 5081 执行查找命令 find / -name kswapd0 显示查找结果&#xff1a; /proc/3316/.X2c4-unix/.rsync/a/kswapd0 /root/.configrc…

关于网站开发的销售文章类网站后台

机试问题—实现基于BigDecimal的特殊的四舍五入。 这是一道外企的机试题&#xff0c;我把里面的某个难点部分&#xff0c;摘出来详细如下&#xff1a; //实现特殊的四舍五入&#xff0c;先普通四舍五入取到小数点后两位&#xff0c;然后最后一位向后进位&#xff0c;0和5不变&…

C# 代码规范

简单记录一下 C# 的代码规范。简单记录一下 C# 的代码规范。(不断更新…) 参考:.NET 编码约定 - C# | Microsoft Learn C# Coding Style例子 public class MagicClass { // 魔法类private int _magicNumber;public …

网站开发报价表的文档弧光之源网站建设

来源&#xff1a;36氪概要&#xff1a;波士顿动力公司的那只黄色机器人狗SpotMini&#xff0c;你还记得吗&#xff1f;波士顿动力公司的那只黄色机器人狗SpotMini&#xff0c;你还记得吗&#xff1f;它上一次亮相是在去年11月&#xff0c;当时它还在一片后院的草地上恣意奔跑。…

Docker 容器与镜像 - 实践

Docker 容器与镜像 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &…

实用指南:babelfish for postgresql 分析--todo

实用指南:babelfish for postgresql 分析--todopre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", …

MySql的存储过程以及JDBC实战 - 详解

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

安徽合肥建设银行招聘网站万维网包括哪些网站

springboot745简历系统 获取源码——》公主号&#xff1a;计算机专业毕设大全

做外贸营销型网站浅谈博物馆网站建设意义

目录 基本查找*&#xff1a; 二分查找*&#xff1a; 数据单调递增&#xff1a; 数据单调递减&#xff1a; 总结规律&#xff1a; 插值查找*&#xff1a; 斐波那契查找&#xff08;了解原理&#xff09;&#xff1a;以后补 分块 查找*&#xff1a; 特殊 情况&#xff0…

深圳哪家做网站最好辽宁建设工程信息网ca锁激活

本文目录 本系列文章从新开始为啥要用TypeScript官方文档程序框架从package.json开始tsconfig.jsonJest的配置 jest.config.js服务的实现自动化测试setup.ts文件夹integration 执行及测试对应代码及branch 本系列文章 SAP CAP篇一: 快速创建一个Service&#xff0c;基于Java的…