STL
wjw1340
这个作者很懒,什么都没留下…
展开
-
HDU6047 Maximum Sequence【STL】
题意:求a[n+1]~a[2*n]的和,这些值得计算方法是,每次用b数组取值,a[i] = MAX(a[k]-k) (bj ≤ k ≤ i-1)思路:我们用优先队列存下a[i]-i 和他们的位置,每次取最大的值的位置,没有了就向前取,这样就保证每次取到的是最大的,放在a[i]最优。#includeusing namespace std;const int MAX=250原创 2017-07-27 20:40:31 · 177 阅读 · 0 评论 -
HDU6040 Hints of sd0061【STL】
题意:用给的A、B、C算出n个值,每次求第Bi小的数思路:直接sort的话,会超时。这里用到STL中的函数nth_element ( arr.begin() ,arr+n,arr.end() ),这个时间复杂度是线性的调用函数后保证比第n小的数小的都在前面,比它大的数在后面。想想也是没必要全部排好,就求那一个就好。给B排序后(用间接排序),从后面往前求。#i原创 2017-07-27 20:05:24 · 285 阅读 · 0 评论 -
HDU6184 Counting Stars【三元环】
题意:一个无向图,找有几对三元环有公共边思路:暴力枚举,枚举每一个点x,再枚举出去一条边到y,如果y的度小于sqrt(总边数),再以y出去一条边到z,看x、z是否相连;反之,再枚举x出去的边到z,相同的判断。这样是以一条边作为基础,看有几个点与它形成三元环,那条边为公共边,所有找到的三元环,两两一对。可以用set存边,x、y相连的话,加入x*n+y、y*n+x为什么用邻接表原创 2017-09-05 19:27:22 · 373 阅读 · 0 评论