链接

我太菜了,连贪心题都不会写。。。

贪心思路很简单,我们能满足顾客就满足他,如果满足不了,就看之前的顾客中

有没有需求比该顾客多的顾客,如果有的话改为卖给这位顾客会使解更优

所以我们用一个优先队列维护一下所有卖的顾客,然后每此判断一下就好了

  1. # include<iostream>
  2. # include<cstdio>
  3. # include<algorithm>
  4. # include<cstring>
  5. # include<cmath>
  6. # include<queue>
  7. using namespace std;
  8. typedef long long LL;
  9. priority_queue<pair<int,int> > q;
  10. const int mn = ;
  11. int n;
  12. int a[mn],b[mn],st[mn],cnt;
  13. bool vis[mn];
  14. int main()
  15. {
  16. scanf("%d",&n);
  17. for(int i=;i<=n;i++)
  18. scanf("%d",&a[i]);
  19. for(int i=;i<=n;i++)
  20. scanf("%d",&b[i]);
  21. LL now=;
  22. for(int i=;i<=n;i++)
  23. {
  24. now+=a[i];
  25. if(now-b[i]>=)
  26. {
  27. q.push(make_pair(b[i],i));
  28. vis[i]=;
  29. now-=b[i];
  30. }
  31. else if(!q.empty()){
  32. pair<int,int> tmp=q.top();
  33. if(tmp.first>b[i] && now+tmp.first-b[i]>=)
  34. {
  35. q.pop();
  36. vis[tmp.second]=;
  37. now=now+tmp.first-b[i];
  38. vis[i]=;
  39. q.push(make_pair(b[i],i));
  40. }
  41. }
  42. }
  43. for(int i=;i<=n;i++)
  44. if(vis[i]) st[++cnt]=i;
  45. printf("%d\n",cnt);
  46. for(int i=;i<=cnt;i++)
  47. printf("%d ",st[i]);
  48. return ;
  49. }

BZOJ2802Warehouse Store题解的更多相关文章

  1. 算法与数据结构基础 - 哈希表(Hash Table)

    Hash Table基础 哈希表(Hash Table)是常用的数据结构,其运用哈希函数(hash function)实现映射,内部使用开放定址.拉链法等方式解决哈希冲突,使得读写时间复杂度平均为O( ...

  2. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  3. BZOJ2802: [Poi2012]Warehouse Store

    2802: [Poi2012]Warehouse Store Time Limit: 10 Sec  Memory Limit: 64 MBSec  Special JudgeSubmit: 121  ...

  4. 【LeetCode题解】二叉树的遍历

    我准备开始一个新系列[LeetCode题解],用来记录刷LeetCode题,顺便复习一下数据结构与算法. 1. 二叉树 二叉树(binary tree)是一种极为普遍的数据结构,树的每一个节点最多只有 ...

  5. Codeforces Round #257 (Div. 1)A~C(DIV.2-C~E)题解

    今天老师(orz sansirowaltz)让我们做了很久之前的一场Codeforces Round #257 (Div. 1),这里给出A~C的题解,对应DIV2的C~E. A.Jzzhu and ...

  6. usaco training 4.1.2 Fence Rails 题解

    Fence Rails题解 Burch, Kolstad, and Schrijvers Farmer John is trying to erect a fence around part of h ...

  7. 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)

    目录 描述 解法一:双队列,入快出慢 思路 入栈(push) 出栈(pop) 查看栈顶元素(peek) 是否为空(empty) Java 实现 Python 实现 解法二:双队列,入慢出快 思路 入栈 ...

  8. leetcode & lintcode 题解

    刷题备忘录,for bug-free 招行面试题--求无序数组最长连续序列的长度,这里连续指的是值连续--间隔为1,并不是数值的位置连续 问题: 给出一个未排序的整数数组,找出最长的连续元素序列的长度 ...

  9. POI2012题解

    POI2012题解 这次的完整的\(17\)道题哟. [BZOJ2788][Poi2012]Festival 很显然可以差分约束建图.这里问的是变量最多有多少种不同的取值. 我们知道,在同一个强连通分 ...

随机推荐

  1. 深入浅出 Java Concurrency (8): 锁机制 part 3[转]

    接上篇,这篇从Lock.lock/unlock开始.特别说明在没有特殊情况下所有程序.API.文档都是基于JDK 6.0的. public void java.util.concurrent.lock ...

  2. BottomNavigationView(底部导航)

    BottomNavigationView 很早之前就在 Material Design 中出现了,但是直到 Android Support Library 25 中才增加了 BottomNavigat ...

  3. stash解决git合并冲突问题

    参考博客: https://www.cnblogs.com/juandx/p/5362723.html

  4. Spring cloud properties与yml配置说明

    encrypt说明 名称 默 认 描述 encrypt.fail-on-error true 标记说,如果存在加密或解密错误,进程将失败. encrypt.key 对称密钥.作为一个更强大的替代方案, ...

  5. KOA 学习(二)

    app.listen(...) Koa 应用并非是一个 1-to-1 表征关系的 HTTP 服务器. 一个或多个Koa应用可以被挂载到一起组成一个包含单一 HTTP 服务器的大型应用群. var ko ...

  6. springmvc:请求参数绑定集合类型

    一.请求参数绑定实体类 domain: private String username; private String password; private Double money; private ...

  7. 针对老式浏览器(主要是IE6、7、8)的css3-mediaqueries.js自适应布局

    <meta name="viewport" content="width=device-width, initial-scale=1" /> vie ...

  8. Gradle:gradle下载插件

    https://github.com/michel-kraemer/gradle-download-task 用法在readme中已经讲的很清楚了,我主要介绍下注意事项吧. 我用这个插件的目的是为了让 ...

  9. Windows Sublime text3 搭建Go语言环境

    第一步:Go环境和配置 1.安装 Go 开发环境(省略),假设Go安装目录为 C:\Go 2.配置环境变量,下面两个环境变脸没有就加上. 资料参考:http://studygolang.com/art ...

  10. nyoj zb的生日【背包型DFS/选or不选】

    zb的生日 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 今天是阴历七月初五,acm队员zb的生日.zb正在和C小加.never在武汉集训.他想给这两位兄弟买点什么 ...