摘要: ![](https://img2022.cnblogs.com/blog/1203009/202207/1203009-20220719180738100-613327090.png) 阅读全文
posted @ 2022-07-19 18:09 Tarjan_Zeng 阅读(96) 评论(0) 推荐(0)
摘要: 优化工具箱是对MATLAB数值计算环境扩展得到的一组函数,它包括以下最优化命令: 1.无约束非线性最小化 2.有约束非线性最小化 3.二次规划和线性规划 4.最小二乘和曲线拟合 5.非线性系统的方程求解 6.有约束线性最小二乘 阅读全文
posted @ 2022-01-30 19:49 Tarjan_Zeng 阅读(422) 评论(0) 推荐(0)
摘要: 最近在学习模拟退火算法,并做了一些练习题,在这里做一个总结。 阅读全文
posted @ 2021-08-13 11:51 Tarjan_Zeng 阅读(738) 评论(0) 推荐(0)
摘要: (文章目录) 前言 $matlab$封装了很有非常实用的图论算法,如最短路,最小生成树,网络流等。本篇将简要介绍$matlab$图论的相关命令。 一、基本命令 |命令名 |功能 | |--|--| |graphallshortestpaths |求图中所有顶点对之间的最短距离| |graphconn 阅读全文
posted @ 2021-08-06 11:56 Tarjan_Zeng 阅读(1603) 评论(0) 推荐(0)
摘要: 题目 解析: 由于一个点可以走多次,而且第二次走没有分数,考虑拆点。每个点到它拆出来的点连两条边,一条的容量设成1,费用设为该格子分数的相反数。表示,这条边只能走一次,且走这条边能拿到分数;第二条的容量设成无穷大,费用设成$0$,表示,这个格子可以重复走,但是没有分数。然后在拆出来的点和它能到的点连 阅读全文
posted @ 2021-08-03 14:39 Tarjan_Zeng 阅读(49) 评论(0) 推荐(0)
摘要: 题目 解析: 本质是个二分图带权匹配问题,建图后用费用流实现即可。 code: #include <iostream> #include <algorithm> #include <cstdio> #include <queue> #include <cstring> using namespace 阅读全文
posted @ 2021-07-31 11:51 Tarjan_Zeng 阅读(47) 评论(0) 推荐(0)
摘要: 题目 解析: 点只能经过一次就拆成两个点,连一条容量为1费用为0的边即可。 code: #include <iostream> #include <algorithm> #include <cstdio> #include <queue> using namespace std; const int 阅读全文
posted @ 2021-07-31 10:35 Tarjan_Zeng 阅读(42) 评论(0) 推荐(0)
摘要: 题目 解析: 这道题建模挺妙的,难点在于如何处理累积时间。 首先对于一个车间,如果加工了$k$个玩具,那么总时间为 \[ (t_1)+(t_1+t_2)+(t_1+t_2+t_3)+...+(t_1+t_2+...+t_k)=kt_1+(k-1)t_2+...+t_k \] 由此我们发现,每一个玩具 阅读全文
posted @ 2021-07-30 12:35 Tarjan_Zeng 阅读(36) 评论(0) 推荐(0)
摘要: 题目 解析: 把题意换一下,就是从$1—>n$的所有路径中找两个没有没有公共边的路径使得长度之和最小。 没有公共边$<=>$流量为$1$ 长度最小$<=>$费用为边长 两条路径$<=>s,t$流量为2 跑费用流,最小费用即为答案 code: #include <iostream> #include 阅读全文
posted @ 2021-07-29 17:18 Tarjan_Zeng 阅读(41) 评论(0) 推荐(0)
摘要: 题目 解析: 二分图。$X$集合中的$x_i$表示第$i$天用掉的餐巾数量,$Y$集合中的$y_i$表示第$i$天需要的餐巾。建图时,从源点$s$向集合$X$中的每一个点连一条容量为$r_i$的边,从集合$Y$中的每一个点向汇点$t$连一条容量$r_i$的边来限制第$i$天用的餐巾。每天用完的餐巾有 阅读全文
posted @ 2021-07-29 11:59 Tarjan_Zeng 阅读(33) 评论(0) 推荐(0)