T1
怎么就没往网络流方向想呢
可以感性证明同时在一个格点上是不会影响答案的
所以可以直接(S->)初始点,末态点(->T),连((1,0))边
可以到达的合法点之间连((INF,1))
跑一个最小费用最大流即可
无解便是没有流满
T2
设(dp[i][j][k])代表现在该([i,j])不用考虑k以下的点的最小花费
转移一个是枚举断点
一个是没有断点的情况下一个存在一个([i,j])矩阵直接选最大的高度
T3
对于每个单位合数建一个虚点
每个点向它包含的连边
便可以建出点数边数为(O(nloglog))的无向图来
这张图显然是和原图等价的
在这张图上跑(Tarjan)求出割点来更新答案