cf-754 D Fedor and coupons(优先队列+区间贪心) https://codeforces.com/problemset/problem/754/D 题意: 给定n组区间,要求选出k组区间保证其交集最大,并输出选出的区间 思路: 区间贪心,优先队列算一下天数即可。 代码: #include<iostream>#include<stdio.h>#include<stdlib.h>#include<string>#include<iom...
All our characters have hobbies. The same is true for Fedor. He enjoys shopping in the neighboring supermarket. The goods in the supermarket have unique integer ids. Also, for every integer there is a product with id equal to this integer. Fedor hasndiscount coupons, thei-th of them can ...
Input nandk(1 ≤ k ≤ n ≤ 3·105) — the number of coupons Fedor has, and the number of coupons he wants to choose. nlines contains two integersliandri(9 ≤ li ≤ ri ≤ 109) — the description of thei-th coupon. The coupons can be equal. Output In...
Codeforces Round #390 Div.2题解 T1_ Lesha and array splitting(水题) T2_Ilya and tic-tac-toe game(水题++) T3_Vladik and chat(动态规划 or 贪心) T4_Fedor and coupons(贪心 or 二分答案) 不知道为啥,这次这些题给的时间还是蛮多的。。。 比赛链接 T1_ Lesh... ...
The first line contains two integersnandk(1 ≤ k ≤ n ≤ 3·105) — the number of coupons Fedor has, and the number of coupons he wants to choose. Each of the nextnlines contains two integersliandri( - 109 ≤ li ≤ ri ≤ 109) — the description of...
CodeForces 754D Fedor and coupons (优先队列) 目录作者:@dwtfukgv本文为作者原创,转载请注明出处:https://www.cnblogs.com/dwtfukgv/p/6287343.html题意:给定n个优惠券,每张都有一定的优惠区间,然后要选k张,保证k张共同的优惠区间最大。析:先把所有的优惠券按左端点排序,然后维护一个容量为k的优先队列,...
还记得lyf说过k=2的方法,但是推广到k是其他的话有点麻烦。现在这里采取另外一种方法。 先将所有线段按照L进行排序,然后优先队列保存R的值,然后每次用最小的R值,和当前的L来维护答案即可。同时,如果Q的size()比k大,那么就弹出最小的R。 具体见代码: 另外,输出方案的
给定几组区间,找k组区间,使得它们的公共交集最大。 思路: 在k组区间中,它们的公共交集=k组区间中右端点最小值-k组区间中左端点最大值。如果我们要区间大,那我们应该尽量让左端点小,右端点大。 先对区间按照左端点排序,然后用优先队列处理。 将区间按照左端点从小到大的顺序一一进队列,只需要进右端点即可,如...
D. Fedor and coupons 二分暴力 http://codeforces.com/contest/754/problem/D 给出n条线段,选出k条,使得他们的公共部分长度最大。 公共部分的长度,可以二分出来,为val。那么怎么判断有k条线段有共同的这个长度,而且选他们出来呢? 可以把右端点减去val - 1,那么以后就只需要k条线段至少有一个交点就可以了...
Codeforces-754D Fedor and coupons 传送门 给你n(<=3e5)个区间,让你从中选出k(<=n)个,使这些区间的交集长度最大。区间范围[-1e9, 1e9] 要求输出区间长度和选取的区间编号 典型的优先队列问题。先把区间按左值从小到大排序,这样做保证了后面取出来的区间的左值大于先前所有的,然后我门就只需要比较右值了...