ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps (线段树:无序数组找到第一个小于val)
题意:n个房间,每个房间有ai盏旧灯,每个月可以买m盏新灯,要求:按房间顺序换灯,如果剩下的新灯数目大于ai,那么进行更换,否则跳过该房间,判断下一个房间。如果所有房间都换完灯,那么久不会再买新灯。
q次询问,每次询问该月已换的房间数以及剩余的新灯数量。
题解:线段树记录最小值,然后一遍模拟
#include<bits/stdc++.h> using namespace std ; #define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define INF 0x3f3f3f3f
typedef long long ll;
const int maxn = 1e5+;
int n,m;
int lamp[maxn << ];
int q;
int month[maxn];
int re;
int MIN[maxn << ];
int ans1[maxn], ans2[maxn];
void pushup(int rt)
{
MIN[rt] = min(MIN[rt<<],MIN[rt<<|]);
} void build(int l , int r , int rt)
{
if(l == r)
{
scanf("%d",&MIN[rt]);
return ;
} int mid = (l+r) >> ;
build(lson);
build(rson);
pushup(rt);
} int query(int l , int r , int rt , int val)
{
if(l==r)
{
re-=MIN[rt];
MIN[rt]=INF;
return ;///找到了
}
int mid = (l + r) >> ;
int pos = ;
if(MIN[rt<<] <= val) ///在左子树找到
{
pos = query(lson,val) ;
pushup(rt);
return pos; }
if(MIN[rt<<|]<=val)///在右子树找到
{
pos = query(rson,val);
pushup(rt);
return pos;
}
return ;
}
int main ( )
{
int n,m;
scanf("%d%d",&n,&m);
build(,n,);
int Maxmonth = ; scanf("%d",&q);
for(int i= ; i<=q ; i++)
{
scanf("%d",&month[i]);
Maxmonth=max(month[i],Maxmonth);
}
int cur=;
int cnt=;///换了多少
int fa=;///是否换完
while(cur<=Maxmonth)
{
if(!fa)
re+=m;
while(query(,n,,re)&&!fa)
cnt++; if(!fa)
{
ans1[cur]=cnt;
ans2[cur]=re;
}
else
{
ans1[cur]=n;
ans2[cur]=re;
}
cur++;
if(cnt>=n)
fa=;
}
for(int i= ; i<=q ; i++)
printf("%d %d\n",ans1[month[i]],ans2[month[i]]); }
ACM-ICPC 2018 南京赛区网络预赛 Lpl and Energy-saving Lamps (线段树:无序数组找到第一个小于val)的更多相关文章
- ACM-ICPC 2018 徐州赛区网络预赛 HRyuji doesn't want to study 树状数组
题目链接:https://nanti.jisuanke.com/t/A2007 题目大意:有一个序列含有n个数a[1],a[2],a[3],……a[n],有两种操作: 第一种操作:k=1,l,r,询问 ...
- 计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)
G. Lpl and Energy-saving Lamps 42.07% 1000ms 65536K During tea-drinking, princess, amongst other t ...
- ACM-ICPC 2018 南京赛区网络预赛(12/12)
ACM-ICPC 2018 南京赛区网络预赛 A. An Olympian Math Problem 计算\(\sum_{i=1}^{n-1}i\cdot i!(MOD\ n)\) \(\sum_{i ...
- ACM-ICPC 2018 南京赛区网络预赛 J.sum
A square-free integer is an integer which is indivisible by any square number except 11. For example ...
- ACM-ICPC 2018 南京赛区网络预赛 E题
ACM-ICPC 2018 南京赛区网络预赛 E题 题目链接: https://nanti.jisuanke.com/t/30994 Dlsj is competing in a contest wi ...
- ACM-ICPC 2018 南京赛区网络预赛B
题目链接:https://nanti.jisuanke.com/t/30991 Feeling hungry, a cute hamster decides to order some take-aw ...
- 计蒜客 30999.Sum-筛无平方因数的数 (ACM-ICPC 2018 南京赛区网络预赛 J)
J. Sum 26.87% 1000ms 512000K A square-free integer is an integer which is indivisible by any squar ...
- 计蒜客 30990.An Olympian Math Problem-数学公式题 (ACM-ICPC 2018 南京赛区网络预赛 A)
A. An Olympian Math Problem 54.28% 1000ms 65536K Alice, a student of grade 66, is thinking about a ...
- ACM-ICPC 2018 南京赛区网络预赛 B. The writing on the wall
题目链接:https://nanti.jisuanke.com/t/30991 2000ms 262144K Feeling hungry, a cute hamster decides to o ...
随机推荐
- bzoj 2300: [HAOI2011]防线修建 凸包
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=2300 题解 这道题让我们维护一个支持动态删除点的上凸壳 并且告诉了我们三个一定不会被删除 ...
- 景深(Depth of Field)
http://www.cnblogs.com/cxrs/archive/2013/03/22/DepthOfFeild.html 景深(Depth of Field) 什么是景深? 所谓景深,就是当焦 ...
- [转]JS的内存泄露处理
问题: 1.给DOM对象添加的属性是一个对象的引用.范例: var MyObject = {}; document.getElementByIdx_x('myDiv').myProp = MyObje ...
- 机器学习:从sklearn中加载数据
一.sklearn模块 sklearn模块下有很多子模块,常用的数据集在:sklearn.datasets模块下: 通过数据集中DESCR来查看数据集的文档: 从datasets中加载数据: impo ...
- Jumony.Core非常厉害的一个开源项目!
简单的说,就是解析html文档的,以前发送一个get请求获取一个页面的html文本后,想要获取里面的数据都是使用正则表达式.(非常的苦逼), 现在用这个获取就very easy! 安装的话在Nu Ge ...
- centos7 firewalld使用
转 http://blog.csdn.net/jamesge2010/article/details/52449678 1.firewalld的基本使用 启动: systemctl start fir ...
- C笔试题(一)
a和b两个整数,不用if, while, switch, for,>, <, >=, <=, ?:,求出两者的较大值. 答案: int func(int a, int b) { ...
- !important定义为最高级不可替代
<!DOCTYPE html> /*!important定义为最高级不可替代*/ <html lang="en"> <head> <met ...
- ViewPage+Fragment(仿微信切换带通知)
第一步 : 布局文件 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <Li ...
- JDBC操作MySQL(crud)
这两天复习了一下JDBC操作MySQL,把crud操作的例子记一下, 类库链接(mysql-connector-java-5.1.37-bin.jar):http://files.cnblogs.co ...