首页 > TAG信息列表 > Coupons

[USACO12FEB]Cow Coupons G 题解

传送门 思路 首先,\(k\) 张优惠券肯定是全部要用的,我们只需要考虑怎么分配即可。 不难发现,将 \(C\) 数组升序排序后,前 \(k\) 个必然在答案之中,但不一定要使用优惠券,可以用反证法证明。 按照贪心的套路,可以先将前 \(k\) 个 \(C_i\) 扔进一个堆里,后期再一步一步更新。 考虑 \(i \gt k

CF754D Fedor and coupons(优先队列)

题目传送门 思路 这道题我刚开始的思路,是按照l为第一关键字,r为第二关键字从小到大排完序以后,二分答案,后来wa掉了,其实就是排完序的结果未必能够连续使用。 因为如果区间非常长的小 比如k=3 1 9 5 6 5 9 6 10 如果是用二分的话5 6是没有办法排掉的 因此我们可以用优先队列,将l从

[CF754D] Fedor and coupons - 贪心,堆

[CF754D] Fedor and coupons - 贪心,堆 Description 给出n个区间,要求选出k个区间,是k个区间的并尽可能大 Solution 按 l 排序后顺序扫描,用一个堆维护 l 不超过当前的,最大的 k 个 r #include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e6 + 5; i

【USACOFEB】Cow Coupons G

题目链接 首先可以确定,在最优解中,$k$张优惠券一定会用光(除非带的钱实在太少)。 于是一开始先选中$c$最小的前$k$只牛。可以证明,最优解中一定包含这些牛,然而优惠券却不一定全部用在它们身上。 假设后来不买这其中的牛$i$,而是转而用优惠价买了这之外的牛$j$,发现$c_j>c_i$绝对是亏的。

[USACO12FEB]牛券Cow Coupons

题目链接 牛券 题目描述 Farmer John needs new cows! There are \(N\) cows for sale \((1 \le N \le 50,000)\), and FJ has to spend no more than his budget of \(M\) units of money \((1 \le M \le 10^{14})\). Cow \(i\) costs \(P_i\) money \((1 \le P_i

优惠券选择

<template>   <div class="mask">     <div class="option" @click="yu_mask"></div>     <div class="coupons" @click="yu_mask">       <p><img src="@/assets/img/accout