题目:http://codeforces.com/problemset/problem/749/D

题目大意:

有n个人竞拍,也有n个叫牌,一个人可以有多个叫价牌,但也可能有一些人根本不叫价

每个叫牌由叫价人的下标和价码,后叫的价码一定比前面的高,而且不会有人连续出两次价(即不与自己竞价)

可能会有一些人离场,如果下标为1的人离场了,那么他参与的叫价均作废。

如果因离场致使出现某人连续竞价的情况,那么,按此人连续竞价最早的价码计算。

问,在有人离场的情况下,输出那个人以什么样的价码赢得拍卖,均离场,则输出0 0

思路:

记录每个人出价最高的时候,从右往左遍历,如果该编号的人离场了,则跳过,直到找到第一个未离场的人,此人即为获胜者

然后算出正确出价:上面的步骤继续往下找,下一个没有离场的人,用此人的最高价到获胜者的出价序列中找到第一个大于(因为出价按时间递增)此价的价码即为答案

代码如下:

 1 #include<iostream>
 2 #include<map>
 3 #include<cstdio>
 4 #include<vector>
 5 #include<algorithm>
 6 using namespace std;
 7
 8 const int MAX = 2e5 + 10;
 9 int Pos[MAX];                //每个人参与竞拍,出价最高的时候
10 long B[MAX];                 //对应每个人出的最高价
11 map<int, bool>P;
12 vector<long> Prices[MAX];    //每个人的价位表
13
14 inline bool my_cmp(const int lhs, const int rhs)
15 {
16     return B[lhs] < B[rhs];
17 }
18
19 int main()
20 {
21     int N, Q, K, l, result, a;
22     scanf("%d", &N);
23     for (long b = 0, i = 1; i <= N && (Pos[i] = i); ++i, B[a] = b)
24     {
25         scanf("%d %ld", &a, &b);
26         Prices[a].push_back(b);
27     }
28     sort(Pos + 1, Pos + N + 1, my_cmp);
29     scanf("%d", &Q);
30     while (Q--)
31     {
32         P.clear(), result = 0;
33         scanf("%d", &K);
34         while (K--)
35         {
36             scanf("%d", &l);
37             P[l] = true;
38         }
39         int i = 0;
40         for (i = N; i > 0; --i)
41         {
42             if (!P[Pos[i]])
43             {
44                 if (result)break;
45                 result = Pos[i];
46             }
47         }
48         if (result&&B[result])printf("%d %ld\n", result, *upper_bound(Prices[result].begin(), Prices[result].end(), B[Pos[i]]));
49         else printf("0 0\n");
50     }
51     return 0;
52 }

感谢您的阅读,生活愉快~

转载于:https://www.cnblogs.com/lv-anchoret/p/8462931.html

Leaving Auction CF 749D相关推荐

  1. Leaving Auction-一道就考set特性的题目

    Codeforces Round #388 (Div. 2) D . Leaving Auction 题意很简单,就是卡时间,首先你要知道set的有序性,唯一性,查找搜索都是O(logN)的时间,由复 ...

  2. 【打CF,学算法——二星级】Codeforces Round #313 (Div. 2) B. Gerald is into Art(水题)...

    [CF简单介绍] 提交链接:http://codeforces.com/contest/560/problem/B 题面: B. Gerald is into Art time limit per t ...

  3. 『参考』.net CF组件编程(4)——为自定义组件添加工具箱图标!

    前言: 在前三篇的文章中,和大家一起创建了一个用于TCP连接检测的小组件,如果你记不得了,可以通过以下链接去回顾一下: 『参考』.net CF组件编程(1)--基础之后 『参考』.net CF组件编程 ...

  4. git 提交丢失Warning, you are leaving 2 commits behind,

    早上在自己的一个版本代码上编辑,提交commint,但是checkout到其他分支再checkout回来发现该的东西不见了, 幸好terminal还没有关掉,回看日志: Warning: you ar ...

  5. OC对象 vs CF对象

    2019独角兽企业重金招聘Python工程师标准>>> OC对象 vs CF对象 在ARC场景下,对象所有权没有转换 使用__bridge关键字即可实现CF对象和OC对象之间的自由转 ...

  6. CF 990A. Commentary Boxes【数学/模拟】

    [链接]:CF [题意]:对于一个数n,每次加一的代价是a,每次减一的代价是b,求被m整除时的最小代价. [分析]:分情况讨论,自己多举几个栗子. [代码]: #include<cstdio&g ...

  7. 推荐算法——基于协同过滤CF

    https://www.toutiao.com/a6643326861214482957/ 2019-01-06 18:21:09 前边我们已经介绍了推荐算法里的基于内容的推荐算法CB,今天我们来介绍 ...

  8. 索引贴——移动开发(.Net CF 停止更新)

    这是关于本人博客的技术索引贴,希望能方便的让您阅读到相关技术文章--不断更新中.一整理才发现,好多啊,哈哈- 一..Net CF技巧:搜集.转载一些和CF开发相关的辅助文章,比较适合初学者.开发入门者 ...

  9. 解答:CF截图保存在哪

    为什么80%的码农都做不了架构师?>>>    大家玩CF(穿越火线)的时候遇到精彩的画面总希望截图保存下来,然而有些游戏玩家截图后却不知道CF截图保存在哪!这不得不说是个悲剧,但是 ...

最新文章

  1. oracle10g sql跟踪,SQL性能的度量 - 语句级别的SQL跟踪autotrace
  2. ASP.Net4.0中新增23项功能
  3. 关于 Nginx 配置 WebSocket 400 问题
  4. [20180602]函数与标量子查询3.txt
  5. 命令行运行vbs脚本并传参数给vbs中的变量简单示例
  6. 苹果显示已连接网络连接到服务器异常,苹果确认iphone密码,显示连接服务器出现问题,为什么...
  7. 兼容IE与firefox的css 线性渐变(linear-gradient)
  8. 阿里云POLARDB如何帮助百胜软件应对数据库的“巅峰时刻”
  9. 容器编排技术 -- Kubernetes kubectl create clusterrolebinding 命令详解
  10. ArcGIS利用数据驱动工具条批量出图(python代码)
  11. 用python写一个文件管理程序下载_Python管理文件神器 os.walk
  12. C# 异步调用中使用回调方法
  13. BCD码与十进制转换
  14. 毕业那天我们一起失恋
  15. 服务器系统影子系统,影子系统安装教程
  16. eclipse导入静态网页模板+搭建springboot环境示例+细节问题解决(详细)
  17. 安装Image J 插件
  18. shell脚本中set -e作用
  19. 内存卡被格式化怎么恢复
  20. via浏览器皮肤html,Via浏览器 v4.2.1 身材小巧功能全面

热门文章

  1. pass样本量_年度质量回顾-样本量
  2. 摄影测量--相对定向元素与绝对定向元素
  3. 最速下降法的C语言实现
  4. 运动目标检测混合高斯背景建模
  5. python中matlab函数图像处理,MATLAB图像处理--同态滤波(代码及示例)
  6. 【编撰】linux IPC 001 - 概述
  7. python鼠标移动事件_给turtle屏幕增加鼠标移动事件核心代码
  8. docker部署web项目_IntelliJ IDEA 部署 Web 项目
  9. mysql数据字典生成器_「python技术」列表推导、生成器表达式和字典推导的差异及其示例
  10. 模板类的析构函数如何写_如何写财务分析报告?全套财务分析报告模板(含分析方法及流程)...