当前位置: 首页 > news >正文

20260421 模拟赛

比赛链接

T1

显然的贪心,按容量排序,每次选前 \(m\) 个组成木桶。

#include<bits/stdc++.h>
#define N 505
using namespace std;
int n,m,a[N*N];
int main(){int T;scanf("%d",&T);while(T--){long long ans=0;scanf("%d%d",&n,&m);for(int i=1;i<=n*m;i++) scanf("%d",a+i);sort(a+1,a+n*m+1);for(int i=1;i<=n*m;i+=m) ans+=a[i];printf("%lld\n",ans);}return 0;
}

T2

考虑枚举字串的位置,发现要覆盖的区间是内部的极小且包含全部 \(0\) 的段。

可以预处理每个点前面(包括自己)的第一个 \(0\) 的位置,分别对应代码中的 a,b 数组。

这样用 \(a_r-b_l\) 就可以求出区间 \([l,r]\) 的极小且包含全部 \(0\) 的段的长度,但当区间内没有 \(0\) 时会算出负数,所以最后答案要和 \(0\)\(\max\)

#include<bits/stdc++.h>
#define N 100005
using namespace std;
string s;int n,k,a[N],b[N];
int main(){int T;scanf("%d",&T);while(T--){int ans=INT_MAX;scanf("%d%d",&n,&k),cin>>s,k--;for(int i=n;i>=1;i--) s[i]=s[i-1]^48;for(int i=1;i<=n;i++) a[i]=s[i]?a[i-1]:i;for(int i=n;i>=1;i--) b[i]=s[i]?b[i+1]:i;for(int i=1;i<=n-k;i++) ans=min(ans,a[i+k]-b[i]+1>>1);printf("%d\n",max(ans,0));}return 0;
}

T4

枚举菱形的两个端点,那么它们形成的答案就是与这两个点距离等于它们的距离且连边平行的点对数。

可以将长度的平方(避免小数)和斜率(斜率相等则平行),为避免方位角的问题再存入所在以枚举的两个点为原点的象限,可以钦定大小顺序避免算重。

代码用的是 unordered_map 实现,被卡空间了,但个人认为比正确的代码更可读所以放上了。

#include<bits/stdc++.h>
#define N 2005
#define um unordered_map
using namespace std;
using ll=long long;
ll ans;
int n,x[N],y[N];
um<ll,vector<int>>a[N];
map<pair<pair<int,int>,pair<bool,bool>>,int>cnt;
int main(){scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%d%d",x+i,y+i);for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(i^j)a[i][(ll)(x[i]-x[j])*(x[i]-x[j])+(ll)(y[i]-y[j])*(y[i]-y[j])].emplace_back(j);for(int i=1;i<n;i++) for(int j=i+1;j<=n;j++){ll len=(ll)(x[i]-x[j])*(x[i]-x[j])+(ll)(y[i]-y[j])*(y[i]-y[j]);vector<int>a1=a[i][len],a2=a[j][len];cnt.clear();for(auto p:a1){if(p>=j) break;int X=x[i]-x[p],Y=y[i]-y[p];int g=__gcd(X,Y);X/=g,Y/=g;cnt[{{X,Y},{x[i]<x[p],y[i]<y[p]}}]++;}for(auto p:a2){if(p>=i) break;int X=x[j]-x[p],Y=y[j]-y[p];int g=__gcd(X,Y);X/=g,Y/=g;ans+=cnt[{{X,Y},{x[j]<x[p],y[j]<y[p]}}];}}printf("%lld",ans);return 0;
}
http://www.jsqmd.com/news/689286/

相关文章:

  • 别再只看图了!代谢组学OPLS-DA分析,R2Y和Q2Y到底怎么看才不踩坑?
  • 校园综合体育赛事自动化调度平台
  • GanttProject:开源项目管理工具深度探索
  • UDOP-large部署教程:HTTP端口7860访问异常排查与容器日志定位方法
  • Phi-3.5-mini-instruct中文场景深度适配:专有名词识别、成语理解、口语化表达强化
  • SCP单细胞分析:从原始数据到生物学洞见的完整解决方案
  • DuckLake变更数据捕获:实时监控数据变化的完整教程
  • C程序员必读:2026年3大内存漏洞(UAF、溢出、未初始化)在Linux/Kubernetes环境中的实时拦截方案
  • 做题随笔2
  • 中兴光猫配置解密工具:高效配置管理解决方案
  • Vue3项目实战:用vis-network从零搭建一个可自定义节点图标与连线的知识图谱
  • not-so-smart-contracts:GiftBox蜜罐合约的欺骗机制
  • 如何让你的Windows任务栏瞬间变透明?TranslucentTB深度体验指南
  • 对于高并发应用,文件 Session 是性能瓶颈。
  • 基于微信小程序实现电影院订票选座管理系统【附项目源码+论文说明】计算机毕业设计
  • 孩子坐不住?专注力训练可尝试这些互动学习方式 - 品牌测评鉴赏家
  • 2026年防爆电机及机械主轴企业最新推荐榜:防爆电机/机械主轴/仓壁振动器等设备供应 - 海棠依旧大
  • Hitchhiker团队协作功能深度指南:如何实现API开发无缝协作
  • 从零到三层互通:用Wireshark抓包带你理解VXLAN跨子网转发全过程
  • 别再死记硬背PID公式了!用这个水槽模型,5分钟搞懂P、I、D到底在干啥
  • 从Git SSL报错到HTTPS原理:手把手教你用OpenSSL诊断并修复证书链问题
  • 家有小学生必看!在家学同步教材,这4类工具刚需不踩坑 - 品牌测评鉴赏家
  • 没搞清楚这组概念之前,先别碰你的毕业论文——实测好写作AI降重降AIGC“三步闭环法”
  • 为什么越来越多女性创业者选择“玫瑰工程”?一个运营十五年的社区健康品牌深度解析 - 速递信息
  • utron与其他Go框架对比:为什么选择这个轻量级MVC方案
  • Unitree R1人形机器人:低成本高性能的开发者平台
  • go-dockerclient Swarm 集群管理:服务部署与节点调度实战
  • MeshAnything核心技术解析:自回归变压器如何实现艺术家级网格生成
  • PCIe 6.0实战避坑:为什么你的Flit里TLP塞不到9个?聊聊Half-Flit那8个TLP的硬性规定
  • STM32CubeIDE HAL库实战:搞定W25Q128跨页跨扇区写入的坑(附完整代码)