bzoj 5026
题目链接
题意
给了一个长度为n的数组a,输出两个排列.
如果a[i]!=0a[i]!=0a[i]!=0,则要求在输出的排列中,a[i]要比i的值更小.
分别输出满足要求的排列中字典序最小和字典序最大的排列.
考虑从a[i]向i连边,然后就可以用优先队列跑拓扑排序了
然后有关第一问,其实是有O(n)O(n)O(n)解法的,考虑从1到n枚举每个数,然后将它之前的点都赋值,遇到已经赋值过的点就停下来....
原创
2020-01-11 14:06:54 ·
177 阅读 ·
0 评论