Link: BZOJ 1806 传送门 Solution: 为了使状态包含每个节点前所有必须的信息: 设$dp[i][a1][a2][b1][b2]$为配送到第$i$个,一厂前两个为$a1,a2$,二厂前两个为$b1,b2$时的最大权值, 每次向一厂添加/二厂添加转移. 要使用滚动数组,注意对每种情况权值的计算. Code: #include <bits/stdc++.h> using namespace std; ][][][][],n,res=,cur,pre; int get_type(…