题目:https://vjudge.net/problem/POJ-3614

思路参考这个:https://blog.csdn.net/qq_25576697/article/details/76577536

我有时间再补吧。

思路很清晰, 不过我最开始做的第一个思路是:对奶牛的maxSPF从大到小优先队列储存, 然后看lotion的SPF是否在奶牛的SPF区间内。

代码中的不用专门写个cmp对比吗?

还是sort就是直接对比P->first?

 #include <cstdio>
#include <iostream>
#include <queue>
#include <algorithm>
using namespace std; const int MAX_N = +;
typedef pair<int, int> P;
priority_queue<int, vector<int>, greater<int> > q;
P cows[MAX_N], bottle[MAX_N];
int C, L; bool cmp (pair<int, int>a, pair<int, int>b)
{
return a.first<b.first;//根据fisrt的值升序排序 } int main()
{
cin>>C>>L;
for(int i=; i<=C; i++)
scanf("%d%d", &cows[i].first, &cows[i].second);
for(int i=; i<=L; i++)
scanf("%d%d", &bottle[i].first, &bottle[i].second);
sort(cows, cows+C+, cmp);
sort(bottle, bottle+L+, cmp);
// cout<<"&&"<<cows[1].first<<cows[2].first<<cows[3].first<<endl;
// cout<<"&"<<bottle[1].first<<bottle[2].first<<endl; int ans=, j=;
for(int i=; i<=L; i++)
{
while(j<=C && cows[j].first<=bottle[i].first)
{
q.push(cows[j].second);
j++;
}
int x;
while(!q.empty() && bottle[i].second)
{
x=q.top();//奶牛i的最大SPF
// cout<<"$"<<bottle[i].first<<endl;
// cout<<"#"<<x<<endl;
q.pop();
if(x<bottle[i].first) continue; bottle[i].second--;
// cout<<"*"<<bottle[i].second<<endl;
ans++;
}
}
cout<<ans<<endl;
return ;
}

这题打完代码后一直WA, 卡了我半个多小时。

第二天才发现是因为我对sort()不够理解。

参考题解是从下标0开始储存的, 然后sort(a,a+c);

而我是从下标1开始存的, 应该要sort(a, a+c+1);才对, 少加了个1.

POJ 3164 Sunscreen (挑战程序设计竞赛的练习题)的更多相关文章

  1. POJ 2386 Lake Counting 题解《挑战程序设计竞赛》

    地址 http://poj.org/problem?id=2386 <挑战程序设计竞赛>习题 题目描述Description Due to recent rains, water has ...

  2. 《挑战程序设计竞赛》2.3 动态规划-优化递推 POJ1742 3046 3181

    POJ1742 http://poj.org/problem?id=1742 题意 有n种面额的硬币,面额个数分别为Ai.Ci,求最多能搭配出几种不超过m的金额? 思路 据说这是传说中的男人8题呢,对 ...

  3. Aizu 2249Road Construction 单源最短路变形《挑战程序设计竞赛》模板题

    King Mercer is the king of ACM kingdom. There are one capital and some cities in his kingdom. Amazin ...

  4. 挑战程序设计竞赛》P345 观看计划

                                                 <挑战程序设计竞赛>P345 观看计划 题意:一周一共有M个单位的时间.一共有N部动画在每周si时 ...

  5. poj 3253 Fence Repair 贪心 最小堆 题解《挑战程序设计竞赛》

    地址 http://poj.org/problem?id=3253 题解 本题是<挑战程序设计>一书的例题 根据树中描述 所有切割的代价 可以形成一颗二叉树 而最后的代价总和是与子节点和深 ...

  6. 【网络流#8】POJ 3469 Dual Core CPU 最小割【ISAP模板】 - 《挑战程序设计竞赛》例题

    [题意]有n个程序,分别在两个内核中运行,程序i在内核A上运行代价为ai,在内核B上运行的代价为bi,现在有程序间数据交换,如果两个程序在同一核上运行,则不产生额外代价,在不同核上运行则产生Cij的额 ...

  7. <挑战程序设计竞赛> poj 3320 Jessica's Reading Problem 双指针

    地址 http://poj.org/problem?id=3320 解答 使用双指针 在指针范围内是否达到要求 若不足要求则从右进行拓展  若满足要求则从左缩减区域 代码如下  正确性调整了几次 然后 ...

  8. Best Cow Line <挑战程序设计竞赛> 习题 poj 3617

    P2870 [USACO07DEC]最佳牛线,黄金Best Cow Line, Goldpoj 3617 http://poj.org/problem?id=3617 题目描述FJ is about ...

  9. poj 1852 ants 题解《挑战程序设计竞赛》

    地址  http://poj.org/problem?id=1852 题目描述 Description An army of ants walk on a horizontal pole of len ...

随机推荐

  1. django用户验证机制

    django的验证机制 from django.contrib.auth.decorators import login_required 需要在要验证的界面添加`@login_required` 登 ...

  2. 机器学习中的特征缩放(feature scaling)

    参考:https://blog.csdn.net/iterate7/article/details/78881562 在运用一些机器学习算法的时候不可避免地要对数据进行特征缩放(feature sca ...

  3. jlink RTT 打印 BUG , FreeRTOS 在开启 tickless 模式下 无法使用的问题

    一开始我以为是 jlink 的问题,后面发现是 tickless 模式搞鬼 tickless 模式下 ,内核 会 根据任务需求,会停止工作,这个时候 jlink rtt 打印就会失效!!! 不过 NR ...

  4. 《驱蚊神器v1.0》android应用 赶走那些烦人的臭蚊子

    <驱蚊神器v1.0>能够非常好地赶走那些个烦人又恼人伤人的臭蚊子,它总是搞得自己没有好的睡眠或歇息,得努力地拍巴巴掌,这下可好了,也少些烦恼了,先深情地眯缝一会儿...此声波怡人不会对人产 ...

  5. KVM的初始化过程

    之前打算整理一下在Guest VM, KVM, QEMU中IO处理的整个流程,通过查阅资料和阅读源码,已经大致知道IO在Guest KVM中的处理流程.当想要整理IO在KVM和QEMU中的处理时,发现 ...

  6. 【LeetCode371】 Sum of Two Integers

    题目描述: 解题思路: 此题是要在不用操作符+和-的情况下,求两个整数的和.既然不能用内置的加减法,那就只能用位运算(&, |, ~, ^). (1)异或(xor):异或的数学符号为“⊕”,计 ...

  7. 2.7 usb摄像头之usb摄像头描述符打印

    学习目标:参考lsusb源码,打印USB摄像头的设备描述符.配置描述符.接口联合描述符.端点描述符: 一.lsusb命令和源码 使用命令lsusb可以看看设备的id,并执行 # lsusb -v -d ...

  8. 使用RT3070使开发板上网

    原文地址:http://www.cnblogs.com/NickQ/p/8973880.html 使开发板上网 USB驱动部分 在arch/arm/mach-s3c2440/mach-smdk2440 ...

  9. C语言学习记录_2019.02.06

    break语句的作用:当执行到break,则跳出循环,免去不必要的循环次数,节省时间和资源.-----跳出循环,结束循环: continue:跳过这一次循环剩下的语句,进入到下一轮循环.-----跳到 ...

  10. 用Modelsim SE 直接仿真 Altera(Intel PSG) IP核 需要注意的问题

    如果我们直接用Modelsim SE仿真 Altera IP核,首先会进入Quartus II目录下找到IP核对应的仿真库源文件,然后在Modelsim SE中进行编译,添加到Modelsim SE的 ...