直接利用simulator退火应该可以得到大量分数。
op=1:1,4,5,6,10 即构造序列{ai},最小化Σti,ai+rai,aj。
1:暴搜/退火。
4:观察到图大致成一条链(注意其中有两个断点,对比数字和行数就可以发现)。于是设f[i][j]为第i个任务在j号TPU上完成时,前i个任务计算及传输的最小代价即可,同时记录方案。
5:观察到j-i<=5,于是状压dp,与4类似。
6:只有两台TPU,即要将任务划分成两个集合,分到某个集合有一定代价,某两个任务不在同一集合有一定代价。容易想到最小割,中间一排点表示每个任务,源汇向其连边,割掉哪边就表示分到另一边,同时点之间连边表示不在同一集合的代价。跑完最大流根据与源相连的边哪些满流即可求出方案。
10:退火。
op=2:2,3,7,8,9 先坑着。