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

数据结构与算法:动态规划中根据数据量猜解法

前言

这个说是算法竞赛里最重要的技巧也不为过。

一、打 怪 兽

#include<bits/stdc++.h>
using namespace std;//当money数据范围不大时,dp[i][j]为通过前i个怪兽,最多花j元钱的最大能力值
void solve1()
{int n;cin>>n;vector<int>power(n+1);vector<int>money(n+1);int sum=0;for(int i=1;i<=n;i++){cin>>power[i]>>money[i];sum+=money[i];}vector<vector<int>>dp(n+1,vector<int>(sum+1));for(int i=1;i<=n;i++){for(int j=0;j<=sum;j++){dp[i][j]=INT_MIN;//不贿赂if(dp[i-1][j]>=power[i]){dp[i][j]=dp[i-1][j];}//能贿赂且之前能通过if(j-money[i]>=0&&dp[i-1][j-money[i]]!=INT_MIN){dp[i][j]=max(dp[i][j],dp[i-1][j-money[i]]+power[i]);}}}//检查最后一行第一个能通过的答案for(int j=0;j<=sum;j++){if(dp[n][j]!=INT_MIN){cout<<j;return ;}}}//当power数据范围不大时,dp[i][j]为通过前i个怪兽,能力值正好为j的最小钱
//内存超限!!!
void solve2()
{int n;cin>>n;vector<int>power(n+1);vector<int>money(n+1);int sum=0;for(int i=1;i<=n;i++){cin>>power[i]>>money[i];sum+=power[i];}vector<vector<int>>dp(n+1,vector<int>(sum+1));//初始化for(int j=1;j<=sum;j++){dp[0][j]=INT_MAX;}for(int i=1;i<=n;i++){for(int j=0;j<=sum;j++){dp[i][j]=INT_MAX;//不贿赂if(j>=power[i]&&dp[i-1][j]!=INT_MAX){dp[i][j]=dp[i-1][j];}//贿赂if(j>=power[i]&&dp[i-1][j-power[i]]!=INT_MAX){dp[i][j]=min(dp[i][j],dp[i-1][j-power[i]]+money[i]);}}}int ans=INT_MAX;for(int j=0;j<=sum;j++){if(dp[n][j]!=INT_MAX){ans=min(ans,dp[n][j]);}}cout<<ans;
}int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);solve1();return 0;
}</

相关文章:

  • 如何应对敏捷转型中的团队阻力
  • 题海拾贝:P2347 [NOIP 1996 提高组] 砝码称重
  • CSP is what?
  • 电路设计基础-2
  • unix/linux,sudo,其基本概念、定义、性质、定理
  • UCRT 和 MSVC 的区别(Windows 平台上 C/C++ 开发相关)
  • WES7系统深度定制全流程详解(从界面剥离到工业部署)
  • Java 2D 图形变换方法
  • Cocos creator游戏开发面试题
  • 分享一颗PD协议芯片(取电sink芯片),ECP5701输入电压3V-28V
  • COMSOL与MATLAB联合仿真人工智能的电学层析成像系统
  • Visual Studio C++ 调试日志与异常定位指南
  • 一则systemctl service诡异问题
  • PWM 相关知识整理
  • 【趣味Html】第11课:动态闪烁发光粒子五角星
  • #Java篇:学习node后端之sql常用操作
  • 解决docker运行zentao 报错:ln: failed to create symbolic link ‘/opt/zbox/tmp/mysq
  • 双栈共享一个栈空间
  • 小黑黑日常积累:dataclass的简单使用
  • 高效使用AI大模型:测试工程师提示词编写框架
  • 有几个网站如何做外贸/南昌网站建设
  • 企业网站策划建设方案百度/持续优化完善防控措施
  • 网站建设实训报告模板/百度指数查询官网入口登录
  • 如何实现输入域名访问网站首页/友情链接网
  • 网站显示后台登陆链接/行者seo
  • 四平网站优化/乔拓云智能建站系统