题目链接: http://poj.org/problem?id=3614 Sunscreen Time Limit: 1000MSMemory Limit: 65536K 问题描述 to avoid unsightly burns while tanning, each of the c (1 ≤ c ≤ 2500) cows must cover her hide with sunscreen when they're at the beach. cow i has a minimum and…
http://poj.org/problem?id=3614 有c头奶牛在沙滩上晒太阳,每头奶牛能忍受的阳光强度有一个最大值(max_spf) 和最小值(min_spf),奶牛有L种防晒霜,每种可以固定阳光强度在某一个值,每种的数量是cover[i] ,每头奶牛只能用一瓶防晒霜,问最多有多少头奶牛能在沙滩上晒太阳. 理解题意之后还是挺好做的. 首先确定的贪心策略是,在满足min_spf的条件下,尽量用spf小的用在max_spf大的奶牛身上,用一个最小堆维护max_spf的最小值即可. 先对奶牛…
把牛的SPF看作一个区间,防晒霜看作点.一个点可以匹配C[i]次,问最大匹配数.可以用图论做. 也可以贪心.贪心的思想是,把区间和点排序以后,考虑最左边的点,加入和这个点相交的区间, 并排除出界的区间,优先选右端点最小的区间进行匹配. 对于已有的区间,左端点已经可以忽略,因为已经没有更靠左的点可以选. 而且右端点越大的选到的机会越大,所以放在后面选. (如果一个区间要匹配多次的话贪心可能会出错 #include<cstdio> #include<iostream> #include…
题目链接:http://poj.org/problem?id=3614 题意:C头牛去晒太阳,每头牛有自己所限定的spf安全范围[min, max]:有L瓶防晒液,每瓶有自己的spf值和容量(能供几头牛用). 求这L瓶防晒液最多能让多少头牛安全地晒太阳. 思路:贪心策略,按spf从小到大或从大到小的顺序取出防晒液,供给尽可能多的剩余的牛. 具体如何判断当前这瓶防晒液最多能供给几头牛呢? 以spf从小到大排序所有防晒液为例,可以维护一个小顶堆,每取出一瓶防晒液l,就把剩余的所有min值低于l.sp…
To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with sunscreen when they're at the beach. Cow i has a minimum and maximum SPF rating (1 ≤ minSPFi ≤ 1,000; minSPFi ≤ maxSPFi ≤ 1,000) that will work. If the…
Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6410   Accepted: 2239 Description To avoid unsightly burns while tanning, each of the C (1 ≤ C ≤ 2500) cows must cover her hide with sunscreen when they're at the beach. Cow i has…
题意 有C个奶牛去晒太阳 (1 <=C <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值,太大就晒伤了,太小奶牛没感觉. 而刚开始的阳光的强度非常大,奶牛都承受不住,然后奶牛就得涂抹防晒霜,防晒霜的作用是让阳光照在身上的阳光强度固定为某个值. 那么为了不让奶牛烫伤,又不会没有效果. 给出了L种防晒霜.每种的数量和固定的阳光强度也给出来了 每个奶牛只能抹一瓶防晒霜,最后问能够享受晒太阳的奶牛有几个. 那么将奶牛按照阳光强度的最小值从小到大排序. 将防晒霜也按照能固定的阳光…
                                                                                                    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7450   Accepted: 2627 Description To avoid unsightly burns while tanning, each…
题意:奶牛美容:有C头奶牛日光浴,每头奶牛分别需要minSPF_i和maxSPF_i单位强度之间的阳光.现有L种防晒霜,分别能使阳光强度稳定为SPF_i,其瓶数为cover_i.求最多满足多少头奶牛 思路: 将奶牛按照阳光强度的最小值从小到大排序.将防晒霜也按照能固定的阳光强度从小到大排序. 从最小的防晒霜枚举,将所有符合最小值小于等于该防晒霜的奶牛的最大值放入优先队列之中. 然后优先队列是小值先出,所以就可以将这些最大值中的最小的取出来.更新答案. #include <iostream> #…
POJ.2299 Ultra-QuickSort (线段树 单点更新 区间求和 逆序对 离散化) 题意分析 前置技能 线段树求逆序对 离散化 线段树求逆序对已经说过了,具体方法请看这里 离散化 有些数据本身很大,自身无法作为数组的下标保存对应的属性. 如果这时只是需要这堆数据的相对属性, 那么可以对其进行离散化处理! 当数据只与它们之间的相对大小有关,而与具体是多少无关时,可以进行离散化.例如: 9 1 0 5 4 与 5 2 1 4 3 的逆序对个数相同. 设有4个数: 1234567.123…