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

Solution - P8903 [USACO22DEC] Bribing Friends G

主观难度:【2】

挺合理的。应该说 \(\mathrm O(n^3)\) 部分分容易教坏选手吗。


\(\mathrm O(n^3)\) 是容易想到的,正解和这个也没有任何关系。

考虑对 \(x\) 排序,发现答案必定是前半段以甜筒支付,后半段以钱支付,中间有一个混合支付。这容易证明,因为同样的甜筒对于更前的牛能抵扣更多的钱。

于是顺着用甜筒 DP,倒着用钱 DP,枚举中间点即可。

假设所有数据同阶,得到复杂度 \(\mathrm O(n^2)\)

#include <bits/stdc++.h>
#define llong long long
#define N 2005
using namespace std;#define bs (1<<20)
char buf[bs], *p1, *p2;
#define gc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,bs,stdin),p1==p2)?EOF:*p1++)
template<typename T>
inline void read(T& x){x = 0; int w = 1;char ch = gc();while(ch < '0' || ch > '9'){if(ch == '-') w = -w;ch = gc();}while(ch >= '0' && ch <= '9')x = (x<<3)+(x<<1)+(ch^48), ch = gc();x *= w;
}
template<typename T, typename ...Args>
inline void read(T& x, Args& ...y){return read(x), read(y...);
}int n, a1, a2;
int dp1[N][N], dp2[N][N];
int ans;struct Node{int v, w, k;
} a[N];int main(){read(n, a1, a2);for(int i = 1; i <= n; ++i)read(a[i].v, a[i].w, a[i].k);sort(a+1, a+n+1, [&](Node o1, Node o2){return o1.k < o2.k;});for(int i = 1; i <= n; ++i){for(int j = a2; j >= 0; --j) dp1[i][j] = dp1[i-1][j];for(int j = a2; j >= a[i].w*a[i].k; --j)dp1[i][j] = max(dp1[i][j], dp1[i-1][j-a[i].w*a[i].k]+a[i].v);}for(int i = n; i >= 1; --i){for(int j = a1; j >= 0; --j) dp2[i][j] = dp2[i+1][j];for(int j = a1; j >= a[i].w; --j)dp2[i][j] = max(dp2[i][j], dp2[i+1][j-a[i].w]+a[i].v);}ans = max(dp1[n][a2], dp2[1][a1]);for(int i = 1; i <= n; ++i){ans = max(ans, dp1[i-1][a1]+dp2[i+1][a2]);for(int j = 0; j <= a[i].w && j*a[i].k <= a2; ++j)ans = max(ans, dp1[i-1][a2-j*a[i].k]+dp2[i+1][a1-(a[i].w-j)]+a[i].v);}printf("%d", ans);return 0;
}
http://www.jsqmd.com/news/502789/

相关文章:

  • OpenClaw+Qwen3-32B自动化办公:飞书机器人配置全流程
  • MCP中台建设
  • 5分钟搞懂多机器人路径规划(MAPF):从仓储物流到无人机编队的实战应用
  • foobox-cn终极方案:专业级foobar2000深度定制与界面美化完全指南
  • GME多模态向量-Qwen2-VL-2B快速上手:Python入门级多模态API调用
  • 【超详细】2026年3月OpenClaw(Clawdbot)本地8分钟超简单集成流程
  • Vercel+Railway+Zeabur多平台部署Typecho动态博客实战指南(附避坑技巧)
  • Altium Designer 22 丝印层精准避让焊盘过孔实战指南
  • 重塑个人任务管理:My-TODOs赋能高效生活新方式
  • 智能体落地:先搭框架,再填功能
  • 华能伊敏露天矿:矿用卡车无人化关键技术研究与示范应用落地
  • Anaconda环境管理:为SenseVoice-Small模型调用创建独立的Python虚拟环境
  • AI Agent 架构图解:大模型、记忆、RAG 与工具调用的协同机制
  • 截止到 2026-3 自动驾驶开源算法中 哪个算法最强
  • OpenClaw多模型路由策略:GLM-4.7-Flash与轻量模型智能切换
  • AI 大模型重构教育!2026 学习机推荐,下一代是智能学习 - 速递信息
  • 2026年极萌水光仪深度解析:基于效果与口碑的市场评价分析 - 外贸老黄
  • 广州海珠区靠谱养生馆推荐,避开坑选对调理机构 - 妙妙水侠
  • 齐次坐标与变换矩阵在计算机图形学中的应用
  • cocos create i18n 本地化
  • 一键添加视频封面脚本
  • A4950驱动电路避坑指南:为什么你的震动电机不工作?实测8V电压阈值问题
  • 罗兰艺境GEO诊断与验证系统:品牌AI可见度的“测量基准仪”与“效果公证处” - 罗兰艺境GEO
  • 多维数组在算法设计中的存储映射问题的技术4
  • 写中国,就不能只写中国 - 速递信息
  • 论文排版效率革命:Paperxie 如何让高校学子告别格式繁琐
  • 【强化学习】GAIL:绕过奖励函数,直接模仿专家策略的博弈艺术
  • Maxwell中铜导体热损计算的关键步骤与技巧
  • 2026年极萌水光仪深度解析:基于口碑与效果的市场评价分析 - 外贸老黄
  • PPO与DQN在Replay Buffer使用上的本质差异——从重要性采样角度解析