CCPC2019江西省赛-Problem G.Traffic
程序员文章站
2022-09-22 11:38:23
题目描述: Input Output 题解心得: 啊啊啊啊啊啊啊啊啊啊啊啊,当时在比赛的时候翻了好久词典,终于把这个题目的意思大概搞懂了 然后和我们队的大佬讨论了好久 一开始爆搜O(N3) 然后想了好久奇奇怪怪的方法,分治什么的,然后就剪枝优化。 但是最后用标记法把时间复杂度压到了O(N2)。 大致 ......
题目描述:
/*纯手打题面*/
avin is observing the cars at a crossroads.he finds that there are n cars running in the east-west direction
with the i-th car passing the intersection at time a[i].there are another m cars running in the north-south
direction with the i-th car passing the intersection at time b[i].if two cars passing the intersections at
the same time,a traffic crash occurs.in order to achieve world peace and harmony,all the cars running in the
north-south direction wait the same time amount of integral time so that no two cars bump.you are asked the
minimum waiting time.
/*纯手打题面*/
input
n m
a[i]
b[i]
(1<=n,m<=1000;1<=ai,bi<=1000)
output
the minimum waiting time(integer).
题解心得:
啊啊啊啊啊啊啊啊啊啊啊啊,当时在比赛的时候翻了好久词典,终于把这个题目的意思大概搞懂了
然后和我们队的大佬讨论了好久
一开始爆搜o(n3)
然后想了好久奇奇怪怪的方法,分治什么的,然后就剪枝优化。
但是最后用标记法把时间复杂度压到了o(n2)。
大致思路:
枚举时间(一个循环)
在每个循环里标记a[i]所占的时间点(布尔数组c)
同时标记b[i]+t的时间点(布尔数组d)
接着c&&d;
就可以了。
这题真的水,不加剪枝也能ac。
代码:
以后附。
上一篇: php 异常处理实现代码
下一篇: 大数据 - Teradata学习体会