链接:http://acm.hdu.edu.cn/showproblem.php?pid=6301
给出m个区间,要求构造一个指定区间内的数字不能相等,并且数字在$[1,n]$之间,求构造的字典序最小的方案。
首先给区间排个序,按照左端点小、右端点小的规则排。接下来维护两个指针L、R,从左到右往里塞,然后用类似莫队的更新方法去维护数列,同时维护目前可用的数字。 整体复杂度为$O(n+m)$。
1 |
|
Keep going
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6301
给出m个区间,要求构造一个指定区间内的数字不能相等,并且数字在$[1,n]$之间,求构造的字典序最小的方案。
首先给区间排个序,按照左端点小、右端点小的规则排。接下来维护两个指针L、R,从左到右往里塞,然后用类似莫队的更新方法去维护数列,同时维护目前可用的数字。 整体复杂度为$O(n+m)$。
1 | #include <bits/stdc++.h> |