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

【蓝桥杯冲冲冲】动态规划初步[USACO2006 OPEN] 县集市

蓝桥杯备赛 | 洛谷做题打卡day13

文章目录

  • 蓝桥杯备赛 | 洛谷做题打卡day13
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
    • 提示
        • 样例说明
        • 数据规模与约定
      • 思路:
      • 方程:
    • 题解代码
    • 我的一些话


思路:

这道题目我们可以用动态规划做。我们先对时间顺序排序,时间小的在前面,因为只有先经过小的时间才可以推算大的时间。接着我们就有了一个数组,用来记录在前 *i* 个礼物中最多能拿几个礼物,且第 *i* 个礼物一定要取。当然这个要经过前面的推算才能得出。

方程:

我们需要通过前面的时间推算那么我们就可以做一个判断:如果前面那个礼物发放的时间加上那个集市到这个集市的时间小于等于这个礼物发放的时间,那么就可以从那个集市过来,之所以是要一定小于等于,是因为这个礼物必须要取。通过所有可以到达的集市,更新数组的最大值。

在这里插入图片描述

题解代码

学会利用新知,自己多试试并尝试积攒一些固定解答方案,debug,以下是题解代码 ~

#include <bits/stdc++.h>
using namespace std;
struct o//每一个集市的信息,下面的t和b分别是发放礼物的时间和集市的编号,记录编号是因为下面的排序有可能打乱编号
{int t;int b;
};
int p(o o1,o o2)//定义排序的优先级,发放礼物时间前的集市在前面
{return o1.t<o2.t;
}
int dp[401],ans;//把它们放在外面,自动清零
int main()
{o s[401];//定义所有的集市int n,t[401][401];//集市数量和走这两个集市的路的时间scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&s[i].t);s[i].b=i;}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d",&t[i][j]);sort(s+1,s+n+1,p);s[0].b=1,s[0].t=0;//赋初始值,在第0分钟,FJ在第一个集市for(int i=1;i<=n;i++)for(int j=0;j<i;j++)if(t[s[j].b][s[i].b]+s[j].t<=s[i].t)dp[i]=max(dp[j]+1,dp[i]),ans=max(ans,dp[i]);//通过方程更新最大值printf("%d",ans);return 0;
}

我的一些话

  • 前几天一直在学习图论算法,今天看看动态规划算法初步吧,动态规划dp有一定难度,需要通盘的考虑和理解,以及扎实的数据结构基础才能独立写出AC代码。但无论难易,大家都要持续做题,保持题感喔!一起坚持(o´ω`o)

  • 如果有非计算机专业的uu自学的话,关于数据结构的网课推荐看b站上青岛大学王卓老师的课,讲的很细致,有不懂都可以私信我喔

  • 总结来说思路很重要,多想想,多在草稿纸上画画,用测试数据多调试,debug后成功编译并运行出正确结果真的会感到很幸福!

  • 关于之前蓝桥杯备赛的路线和基本方法、要掌握的知识,之前的博文我都有写,欢迎大家关注我,翻阅自取哦~

  • 不管什么都要坚持吧,三天打鱼两天晒网无法形成肌肉记忆和做题思维,该思考的时候一定不要懈怠,今天就说这么多啦,欢迎评论留言,一起成长:)

http://www.lryc.cn/news/285779.html

相关文章:

  • C#,入门教程(30)——扎好程序的笼子,错误处理 try catch
  • 操作教程|JumpServer堡垒机结合Ansible进行批量系统初始化
  • 序列化VS反序列化
  • 新数智空间:阿里云边缘云持续保持中国公有云市场第一
  • 【开源】基于JAVA语言的陕西非物质文化遗产网站
  • C++(Qt)软件调试---静态分析工具clang-tidy(18)
  • 2401llvm,clang的重构引擎
  • 【C语言深度剖析——第四节(关键字4)】《C语言深度解剖》+蛋哥分析+个人理解
  • 鸿蒙开发系列教程(五)--ArkTS语言:组件开发
  • Java:正则表达式讲解加举例,简洁易懂
  • 2.机器学习-K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解
  • ​WordPress顶部管理工具栏怎么添加一二级自定义菜单?
  • Linux安装ossutil工具且在Jenkins中执行shell脚本下载文件
  • Docker命令---搜索镜像
  • docker使用http_proxy配置代理
  • 综述:自动驾驶中的 4D 毫米波雷达
  • 蓝桥杯:1.特殊日期(Java)
  • 服务异步通讯之 SpringAMQP【微服务】
  • LED闪烁
  • php array_diff 比较两个数组bug避坑 深入了解
  • c++中STL的vector简单实现
  • C# 更改Bitmap图像色彩模式
  • 5.2 基于深度学习和先验状态的实时指纹室内定位
  • AIGC时代高效阅读论文实操
  • 对网站进行打点(不要有主动扫描行为)
  • 502. IPO(贪心算法+优先队列/堆)
  • 设计模式篇---中介者模式
  • 双端Diff算法
  • react+antd,Table表头文字颜色设置
  • 2024年1月18日Arxiv最热NLP大模型论文:Large Language Models Are Neurosymbolic Reasoners