2024.9.28 计划

项目

学习

总结

ROS第二章总结

三种基本的通信方式都解决了。步骤和框架参照上两篇和ubantu中的demo框架即可。
前两种通信方式的比较:

发布-订阅模式 服务器通信
通信模式 发布/订阅 请求/响应
同步性 异步 同步
底层协议 ROSTCP/ROSUDP ROSTCP/ROSUDP
缓冲区
时时性
节点关系 多对多 一对多(一个 Server)
通信数据 msg srv
使用场景 连续高频的数据发布与接收:雷达、里程计 偶尔调用或执行某一项特定功能:拍照、语音识别

第三种通信方式比较特殊,类似于全局变量。在之后写项目的时候要注意的应该是进程之间的互斥和同步问题,不知道ros里面有没有对这个进行处理。

背包问题求方案数

对于01背包来说,只需要维护一个\(g[i][j]\),表示的是考虑前i个物品,体积不超过j能选到最大值的方案数。
那么就有两种情况:
1.从不选i转移过来的
2.从选i转移过来的
所以状态转移方程就是:

g[i][j] = g[i - 1][j];  // 一定可以更新
if (f[i][j] <= f[i - 1][j - v] + w[i]) { // 找到了可行解
	if (f[i][j] == f[i - 1][j - v] + w[i]) g[i][j] += g[i - 1][j - v];  // 找到了相等的别的方案,直接加上
	else {  // 找到了更优秀的解
		g[i][j] = g[i - 1][j - v];
		f[i][j] = f[i - 1][j - v] + w[i];
	}
}

背包问题求具体方案

有点难懂,可以转化为最短路?明天再看

posted on 2024-09-28 19:38  Laurance  阅读(0)  评论(0编辑  收藏  举报