首先,AA 路线是错误的,所以:
possible_routes =
(
leaving_stations x arriving_stations -
(leaving_stations [intersection] arrivig_stations)
) x leaving_dates
交集运算是属于两个数组的元素
其次,当你想要 2 路路线时,组合是:
possible_2way_routes =
(
leaving_stations x arriving_stations -
(leaving_stations [intersection] arrivig_stations)
) x
leaving_dates x
(return_dates that later than leaving dates+route time)
'leaving_dates x (return_dates that later than leave dates+route time)' 是奇怪的事情,所以它可能更容易计算高估计 - 数字,在任何情况下都不少于 possible_2way_routes。最高计数将是所有返回日期晚于离开日期时,因此:
possible_2way_routes <=
(
leaving_stations x arriving_stations -
(leaving_stations [intersection] arrivig_stations)
) x leaving_dates x return_dates
哦,我记得如何计算'return_dates that later than leave dates+route time'。它的:
for each element of leaving_dates {
sum=sum+return_dates that later than ith leaving date+route time}
仍然存在“路线时间”的问题,但......