DTOJ #1772运输任务 / COCI2011OPENRIJEKA

Posted xzs123456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DTOJ #1772运输任务 / COCI2011OPENRIJEKA相关的知识,希望对你有一定的参考价值。

思路:只需考虑目的地v在出发地u左侧,即u>v的情况。记总共有tot个人的出发地和目的地满足u>v。

求这些区间[v,u]的并集,因为要尽量减小调头的总距离。答案为$m+cup_{i=1}^{tot} [v_i,u_i]$。

可以通过合并区间的方式求并集,即将有交的区间合并为一个新的区间。

注意:

bool cmp(node x,node y){return x.l<y.l||(x.l==y.l&&x.r<y.r);}

 

sort(b+1,b+1+t2,cmp);
d[t4=1]=b[1];
for(i=2;i<=t2;++i)
{
	if (jiao(d[t4],b[i]))
	{
		d[t4].r=Max(d[t4].r,b[i].r);
		d[t4].l=Min(d[t4].l,b[i].l);
	}
	else d[++t4]=b[i];
}

按以上的方法求交集,即排序后将区间从前到后依次合并,需要按从左到右排序。按从右到左排序,可能出现如下情况:

|   一   |    |          四         |

    |      二     |        |  三   |

这些全部可以合并成一个区间,但扫描时,一和二合并,三和四合并,重复统计二和四的交集了。

如果按从右到左排序,则需要从后到前合并。“左前右后”

以上是关于DTOJ #1772运输任务 / COCI2011OPENRIJEKA的主要内容,如果未能解决你的问题,请参考以下文章

luoguP1772 [ZJOI2006]物流运输 x

P1772 [ZJOI2006]物流运输

[luogu] P1772 [ZJOI2006]物流运输(动态规划,最短路)

P1772 [ZJOI2006]物流运输

P1772 [ZJOI2006]物流运输

@@P1772 [ZJOI2006]物流运输