尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【题解】Luogu P5322 [BJOI2019] 排兵布阵

【题解】Luogu P5322 [BJOI2019] 排兵布阵
📅 发布时间:2026/6/18 14:46:20

思路

考虑转化为背包问题。将每个玩家视为一组物品,每个城堡的出兵视为一个物品,因为如果要占领该城堡,就要出严格大于对手两倍的兵,所以每个物品的重量为 \(2\times a_i+1\),每个物品的价值为城堡编号。这样题目就转化为了分组背包问题。

但此题不同组的物品并不是相互独立的,如果选取了重量为 \(j\) 第 \(i\) 个物品,其他组重量小于 \(j\) 的第 \(i\) 个物品也同样可以选取。这启示我们从小到大预处理每个物品在不同组的重量。这样我们就能把物品合并,如果 \(j\) 是第 \(i\) 个物品中第 \(k\) 小的重量,那么比 \(j\) 重量小的物品就可以一并被取到,物品可合并为重量为 \(j\)、价值为 \(i\times k\) 的物品。把不同玩家的物品合并,组就变成了城市。

预处理,对每个城堡所有人的出兵进行排序,在背包时枚举 \(k\) 意为前 \(k\) 小即可。

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=110;
const int M=20010;
int s,n,m,ans;
int num[N][N],f[M];
//num_i,j:第i城堡,第j大出兵
//f_i,j:第i城堡,已出j兵
int main(){scanf("%d%d%d",&s,&n,&m);for(int i=1;i<=s;i++){for(int j=1;j<=n;j++) scanf("%d",&num[j][i]);}for(int i=1;i<=n;i++) sort(num[i]+1,num[i]+1+s);for(int i=1;i<=n;i++){for(int j=m;j>=0;j--){for(int k=1;k<=s;k++){if(j>num[i][k]*2) f[j]=max(f[j-(num[i][k]*2+1)]+i*k,f[j]);}}}for(int i=0;i<=m;i++) ans=max(ans,f[i]);printf("%d\n",ans);return 0;
}

时间复杂度 \(O(nms)\)。

相关新闻

  • 代码源挑战赛 Round 41
  • 详细介绍:NumPy / pandas 类型选型、内存占用与性能优化
  • 告别选择困难!2025年远程控制软件场景化终极横评

最新新闻

  • 终极NCM文件解密指南:3分钟学会网易云音乐加密文件转换
  • 【MATLAB】三维可视化进阶:从静态球面到动态光影与视角交互
  • 南京专业假发实体店排行 阮先生假发门店全收录 - 起跑123
  • 企业数字化转型中GEO技术方案的选型要点解析
  • 2026 平顶山防水,防水公司推荐|全域正规屋面防水 / SBS 防水 / 彩钢瓦防水防腐翻新 5 家合规企业排行榜 + 避坑攻略 - 速递信息
  • C++高精度计算二(练习题)

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号