估计提问没人看,就发分享问一下吧。
突然开了个脑洞。
大家都知道电车难题吧。
这玩意我把他稍微复杂化一点。(不确定是不是有人弄过)
你身处一个交通枢纽站,有k量电车将要出发。
交通枢纽站有n个点和n - 1条轨道,是一颗二叉树, 每条轨道都是双向的。
每一辆火车将在前一辆火车驶出交通枢纽站时驶入。
你手里有m个操作杆,第r个操作杆可以让 li 到 ri 这些节点的电车行驶方向改变(所有节点一开始默认向左侧行驶,先输入的是左儿子)
例如,有这样几条边:
1 2
2 3
2 4
改变点2上的电闸,从点1方向过来的电车将不再到达点3, 而是到达点4.
再拉一下又会回到点3。
从左儿子的角度来看,根节点在左边,右儿子在右边。
从右儿子的角度来看,根节点在右边,左儿子在左边。
每两个节点之间的道路上都绑着 wi 只喵星人,一旦电车经过,他们都将死亡。
求喵星人最少死亡数量。
(其实还可以更恶心,先这样吧)。
输入格式:
第一行输入 n , m , k 分别表示点数,操作杆的数量和电车的数量。
第二行输入 k 个整数,表示电车的入站位置
第三行输入 k 个整数,表示电车的出战位置
接下来 n−1 行,每行输入三个数,分别表示这条轨道连接的两个节点和轨道上捆绑的喵星人的数量。
输出在 k 量电车碾压后喵星人死亡的最小数量。
只是开个脑洞,自己不会,所以要发上来。
有大佬可以帮忙解决吗?
Q:为什么没有数据范围?
A:我不知道最优解的时间复杂度。
Q:不会为什么发?
A:看到没有人开脑洞就发一下,当做给一些特别厉害的大佬的练习题。
顺便说一句,如果你们在网上找的类似的题,可以评论或者私信告诉我,如果有题解也麻烦发一下。
纯属好奇。
一会弄个样例
我看看看啊
floyd或者dijkstra,看k定
啊那区间的修改操作(拉控制杆)怎么办呢
斯,有点麻烦,我看看
而且第i次对控制杆的调整会影响到第i+1次