[Poi2012]Warehouse Store Time Limit: 10 Sec  Memory Limit: 64 MBSec  Special JudgeSubmit: 621  Solved: 295[Submit][Status][Discuss] Description 有一家专卖一种商品的店,考虑连续的n天.第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他.如果要满足顾客的需求,就必须要有足够的库存.问最多能够满足多少个顾客…
2802: [Poi2012]Warehouse Store Description 有一家专卖一种商品的店,考虑连续的n天.第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他.如果要满足顾客的需求,就必须要有足够的库存.问最多能够满足多少个顾客的需求. Input 第一行一个正整数n (n<=250,000).第二行n个整数A1,A2,...An (0<=Ai<=10^9).第三行n个整数B1,B2,...Bn (0<=Bi&l…
http://www.lydsy.com/JudgeOnline/problem.php?id=2802 自己yy了一下... 每一次如果够那么就买. 如果不够,考虑之前买过的,如果之前买过的比当前花费的钱多,那么就去掉之前买的,变成买现在的. 如何证明?不知道QAQ 还有...注意开longlong... #include <cstdio> #include <cstring> #include <cmath> #include <string> #inc…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=2802 题解 我一开始想到了一个比较麻烦的做法. 把每一天按照 \(b_i\) 从小到大排序,\(b_i\) 小的优先选.然后扣除库存的话,优先扣除在当前这个 \(b_i\) 的位置前面最近的库存. 这个可以使用树状数组来判断能不能选,然后扣除库存的时候因为每一个日子的库存只会被扣光一次,所以可以暴力跳,但是不要走已经被扣光的点,所以使用并查集跳过这些不应该经过的点. 但是很显然这个做法很麻烦…
题目描述 有一家专卖一种商品的店,考虑连续的n天.第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他.如果要满足顾客的需求,就必须要有足够的库存.问最多能够满足多少个顾客的需求. 输入 第一行一个正整数n (n<=250,000).第二行n个整数A1,A2,...An (0<=Ai<=10^9).第三行n个整数B1,B2,...Bn (0<=Bi<=10^9). 输出 第一行一个正整数k,表示最多能满足k个顾客的需求.第二行…
2802: [Poi2012]Warehouse Store Time Limit: 10 Sec  Memory Limit: 64 MBSec  Special JudgeSubmit: 121  Solved: 65[Submit][Status] Description 有一家专卖一种商品的店,考虑连续的n天. 第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他. 如果要满足顾客的需求,就必须要有足够的库存.问最多能够满足多少个顾客的需…
Warehouse Store bzoj-2802 Poi-2012 题目大意:一家商店的连续n天内,每一天会进货$a_i$个,有且只有一个客人回来买$b_i$个,问至多满足多少人. 注释:$1\le n \le 2.5\cdot 10^5$. 想法:又往dp上想了..... 然后一顿推,无果. 查了题解,发现贪心好难..... 首先,我们先搞清楚我们要维护什么?我们要维护两个最值,分别是前i天能最多能满足多少人和满足这么多人的情况下最多剩多少钱. 那么,对于第一个.假设我们已经维护好了前i-1…
题目链接 BZOJ2802 题解 这样的问题通常逆序贪心 每个\(A[i]\)只能用来满足后面的\(B[i]\) 就用当前\(A[i]\)不断提供给最小的\(B[i]\)即可 用一个堆维护 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<queue> #include<cmath> #include<map>…
1.题目巨短,自己看看吧 2.分析:这道题,想了半天dp还是想不到,最后看题解发现是个贪心的思想,我们维护一个堆,如果这个人不能加入就把他和堆上最大的进行比较,然后搞搞就行了 #include <queue> #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> using namespace std; #define M 250010 #defi…
BZOJ_2802_[Poi2012]Warehouse Store_堆+贪心 Description 有一家专卖一种商品的店,考虑连续的n天. 第i天上午会进货Ai件商品,中午的时候会有顾客需要购买Bi件商品,可以选择满足顾客的要求,或是无视掉他. 如果要满足顾客的需求,就必须要有足够的库存.问最多能够满足多少个顾客的需求. Input 第一行一个正整数n (n<=250,000). 第二行n个整数A1,A2,...An (0<=Ai<=10^9). 第三行n个整数B1,B2,...B…