CF1945题解
CF1945A
贪心简单题
先把b自己内部组合,再考虑与c组合
CF1945B
简单题数学题
因为在0m的时间内一定能覆盖所有的情况,所以对0m的时间内最多烟花数进行小学2年纪计算即可
CF1945C
简单题
枚举每一个断点,记录答案即可
CF1945D
挺好玩的一道贪心题。
转化一下式子,我们发现
注意到对于一个
因为在
那么在
所以只需要统计一下
最终答案即是这两段贡献的加和
代码
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5,inf=1e18+5;
int n,m,t;
int a[N],b[N];
signed main(){
scanf("%lld",&t);
while(t--){
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
}
for(int i=1;i<=n;i++){
scanf("%lld",&b[i]);
}
int cnt=0,ans=inf;
for(int i=n;i>=1;i--){
if(i>m){
if(a[i]>b[i]){
cnt+=b[i];
}
else{
cnt+=a[i];
}
}
else{
ans=min(ans,cnt+a[i]);
cnt+=b[i];
}
}
printf("%lld\n",ans);
}
}
CF1945E
非常好玩的一道题,使我的脑子旋转
首先我先从x有序和二进制这两方面考虑,然后发现这是大大的没前途的
于是我有前途的打开了题解
首先我们考虑先进行一遍二分得出的答案为
所以我们由这条性质进行一个分讨:
若二分时没有访问到这个元素直接一步交换
若访问到了则在进行一个分讨:
若
若
综上所述,我们就跑一遍二分然后交换
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探