news 2026/6/13 10:04:22

牛客小白月赛 D[差分] E [暴力枚举] F[] g[二阶差分]

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
牛客小白月赛 D[差分] E [暴力枚举] F[] g[二阶差分]



D-小红越级(easy)_牛客小白月赛126

直接暴力会tle 我们可以算出每个曲目的舒适区间 可以合并就合并 然后用差分 维护每个值下舒适区间的数目 总数减去舒适的数目就是不舒适的数目;

#include <bits/stdc++.h> using namespace std; const int N=2e5+5; struct node { int l,r; }a[N]; int d[N],ans[N]; int n,q; void solve(){ cin>>n>>q; memset(d,0,sizeof d); memset(ans,0,sizeof ans); for(int i=1;i<=n;i++){ cin>>a[i].l>>a[i].r; int l1=a[i].l-1,r1=a[i].l+1; int l2=a[i].r-1,r2=a[i].r+1; if(r1>=l2&&r2>=l1){ int l3=min(l1,l2); int r3=max(r1,r2); d[l3]++;d[r3+1]--; }else {d[l1]++;d[l2]++;d[r1+1]--;d[r2+1]--;} } for(int i=0;i<=n;i++){ ans[i]=ans[i-1]+d[i]; } while(q--){ int x;cin>>x; cout<<n-ans[x]<<' '; }cout<<'\n'; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t;cin>>t; while(t--)solve(); return 0; }



暴力枚举 枚举操作1的所有情况下操作2 的次数 然后计算代价 取最小值

#include <bits/stdc++.h> using namespace std; #define int long long int x,a,b,c; int getadd(int x,int c){ int l=1005,r=1010; //扩大位数 for(int i=0;i<=15;i++){ if(x>=l&&x<=r)return 0; if(x<l){ int k=(l-x+c-1)/c;//为了到达l最少要加多少次c 向上取整 if(x+k*c<=r)//补齐后在上界内; return k; } if(i<15){//更新l,r l*=10; r=r*10+9; } } return 1e18; } void solve(){ cin>>x>>a>>b>>c; int ans=4e18,count=0; //枚举砍多少位 while(1){ int addk=getadd(x,c); int cost=count*a+addk*b; ans=min(ans,cost); if(x==0)break; x/=10; count++; } cout<<ans<<'\n'; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t;cin>>t; while(t--)solve(); return 0; }

F-小红开机厅_牛客小白月赛126

这道题有个结论 当点位于两点所构成的矩形内 那么他到两点的曼哈顿距离之和永远相等等于矩形的长+宽 如果在矩形之外 那么到两点的曼哈顿距离和(记作K)相等的点有2*K个

证明:

几何证明:

红色部分 四个角落为孤立的点 一个单位长度为一个点 点的个数和这个直角三角形的边长相等

代码实现

#include <bits/stdc++.h> using namespace std; const int N=2e5+5; long long n,xa,ya,xb,yb; long long dis[N]; void solve(){ memset(dis,0,sizeof dis); cin>>n;cin>>xa>>ya>>xb>>yb; int home=2; if(xa==xb&&ya==yb)home=1; unordered_map<long long,int>m; long long X=abs(xa-xb),Y=abs(ya-yb); long long L=X+Y; for(int i=1;i<=n;i++){ long long xi,yi; cin>>xi>>yi; dis[i]=abs(xi-xa)+abs(yi-ya)+abs(xi-xb)+abs(yi-yb); m[dis[i]]++; } for(int i=1;i<=n;i++){ long long ans=0; if(dis[i]==L)ans=(X+1)*(Y+1)-home; else ans=2*dis[i]; ans-=m[dis[i]]; cout<<ans<<' '; } cout<<'\n'; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t;cin>>t; while(t--)solve(); return 0; }

G-小红越级(hard)_牛客小白月赛126

距离不同 产生的不舒适感线性增长 我们可以用差分的差分进行维护

#include <bits/stdc++.h> using namespace std; const int N=2e5+5; #define int long long int d[N],dd[N],a[N]; void solve(){ memset(d,0,sizeof d); memset(dd,0,sizeof dd); memset(a,0,sizeof a); int n,q;cin>>n>>q; for(int i=1;i<=n;i++){ int l,r;cin>>l>>r; if(l-1>1){ d[1]+=(l-2); dd[2]--;dd[l]++; } dd[r+2]++; if(l<r-2){//中间 int lp=(l+r)/2; int rp=lp+1; dd[l+2]++;dd[rp]--; d[rp]-=(lp-l-1); d[rp]+=(r-rp-1); dd[rp+1]--; dd[r]++; } } int sum=0; for(int i=1;i<=n;i++){ sum+=dd[i]; d[i]+=sum; } for(int i=1;i<=n;i++){ a[i]=a[i-1]+d[i]; } while(q--){ int x;cin>>x; cout<<a[x]<<' '; } cout<<'\n'; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t;cin>>t; while(t--)solve(); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 7:09:44

OptiScaler超分辨率技术终极指南:5分钟解决游戏卡顿难题

你是否曾经在激烈的游戏对局中因为帧率骤降而错失关键操作&#xff1f;看着NVIDIA用户享受DLSS带来的流畅体验&#xff0c;而自己的AMD或Intel显卡却无能为力&#xff1f;别担心&#xff0c;今天我要向你介绍的OptiScaler项目&#xff0c;将彻底改变这一局面&#xff01;这款开…

作者头像 李华
网站建设 2026/6/13 8:48:42

视频修复新利器:SeedVR2实战应用全解析

视频修复新利器&#xff1a;SeedVR2实战应用全解析 【免费下载链接】SeedVR2-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-7B 还在为模糊不清的视频画面而烦恼&#xff1f;面对珍贵的老视频无法清晰再现&#xff0c;或者监控录像细节缺失的…

作者头像 李华
网站建设 2026/6/11 11:55:47

使用ESP32项目搭建Wi-Fi中继器的从零实现

用一块ESP32&#xff0c;亲手造个Wi-Fi中继器&#xff1a;从原理到代码的完整实践你有没有遇到过这种情况&#xff1f;家里的路由器放在客厅&#xff0c;卧室信号只剩一格&#xff1b;或者办公室角落的打印机总连不上网络。买个商用中继器吧&#xff0c;动辄上百元&#xff0c;…

作者头像 李华
网站建设 2026/6/13 2:05:08

小程序springboot高校电子图书馆的大数据平台规划与设计多-vue三端

目录具体实现截图项目介绍论文大纲核心代码部分展示可定制开发之亮点部门介绍结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持Python(flask,django)、…

作者头像 李华
网站建设 2026/6/11 14:04:10

B站UP主合作:借助短视频传播TensorFlow应用场景

B站UP主合作&#xff1a;借助短视频传播TensorFlow应用场景 在AI技术加速落地的今天&#xff0c;越来越多开发者面临一个现实问题&#xff1a;如何从“会跑通Keras示例”迈向“能上线稳定模型”&#xff1f;学术界热捧的PyTorch固然灵活&#xff0c;但当项目进入生产环境——需…

作者头像 李华
网站建设 2026/6/9 16:29:49

通过树莓派4b实现远程摄像头监控系统

用树莓派4B打造一套真正可用的远程摄像头监控系统 最近在折腾家庭安防时&#xff0c;我决定放弃市面上那些“智能”但又贵又封闭的摄像头方案——动辄几百块一个&#xff0c;还得绑定App、上传云端&#xff0c;隐私不说&#xff0c;关键还不能自定义功能。于是我把目光转向了 …

作者头像 李华