Lpl and Energy-saving Lamps 计蒜客

2024-02-22 18:38

本文主要是介绍Lpl and Energy-saving Lamps 计蒜客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

https://nanti.jisuanke.com/t/30996

暴力跑一遍每个月 再暴力跑一遍房间序列 看以当前灯泡数量能换哪个房间 维护区间最小值 线段树二分查找

最多1e5个房间 都换完了就直接退出

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll N=0x3f3f3f3f3f3f3f3f;struct node
{int l;int r;ll val;
};vector <int> pre[100010];
node tree[400010];
ll ans2[100010];
ll m,gou;
int ans1[100010];
int n,q,pos;void pushup(int cur)
{tree[cur].val=min(tree[2*cur].val,tree[2*cur+1].val);
}void build(int l,int r,int cur)
{int m;tree[cur].l=l;tree[cur].r=r;tree[cur].val=N;if(l==r){scanf("%lld",&tree[cur].val);return;}m=(l+r)/2;build(l,m,2*cur);build(m+1,r,2*cur+1);pushup(cur);
}void query(ll val,int cur)
{if(tree[cur].l==tree[cur].r){gou=tree[cur].val;pos=tree[cur].l;return;}if(val>=tree[2*cur].val) query(val,2*cur);else query(val,2*cur+1);
}void update(int tar,int cur)
{if(tree[cur].l==tree[cur].r){tree[cur].val=N;return;}if(tar<=tree[2*cur].r) update(tar,2*cur);else update(tar,2*cur+1);pushup(cur);
}int main()
{ll sum;int i,j,p,num;scanf("%d%lld",&n,&m);build(1,n,1);scanf("%d",&q);for(i=1;i<=q;i++){scanf("%d",&p);pre[p].push_back(i);}sum=0,num=0;for(i=1;i<=100000;i++){if(num<n){sum+=m;while(tree[1].val<=sum&&num<n){query(sum,1);update(pos,1);sum-=gou;num++;}}for(j=0;j<pre[i].size();j++){ans1[pre[i][j]]=num,ans2[pre[i][j]]=sum;}}for(i=1;i<=q;i++){printf("%d %lld\n",ans1[i],ans2[i]);}return 0;
}

 

这篇关于Lpl and Energy-saving Lamps 计蒜客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/736152

相关文章

计蒜客 Skiing 最长路

In this winter holiday, Bob has a plan for skiing at the mountain resort. This ski resort has MM different ski paths and NN different flags situated at those turning points. The ii-th path from the

计蒜客 Half-consecutive Numbers 暴力打表找规律

The numbers 11, 33, 66, 1010, 1515, 2121, 2828, 3636, 4545 and t_i=\frac{1}{2}i(i+1)t​i​​=​2​​1​​i(i+1), are called half-consecutive. For given NN, find the smallest rr which is no smaller than NN

【ZOJ】2539 Energy Minimization 最小割——项目分配问题

传送门:【ZOJ】2539 Energy Minimization 题目分析:还是项目分配问题,还是曾经的味道TUT 再次请出神奇的函数: 再看看题目中的函数: 惊人的相似啊有木有!简直就是稍作修改就好了。。 因为Xi只能取0或1,所以最终我们可以将所有的Xi分成两个集合:Xi取1的集合,Xi取0的集合。 假设源点S和Xi取1的集合相连,汇点T和Xi取0的集合相

【HDU】5025 Saving Tang Monk 状压最短路

传送门:【HDU】5025 Saving Tang Monk 题目分析:这题一开始想都没想就敲了优先队列+dij。。然后TLE了。。。 后来发现是一个稀疏图。。换成spfa就过了。。 这是一个四维最短路,x轴,y轴,拿到第几个钥匙,打怪的状态(状压),然后就是很简单的状压最短路了。 要注意到钥匙不用状压,因为拿到钥匙是有顺序的。 代码如下: #include <c

06-1. Saving James Bond - Hard Version (30) BFS

06-1. Saving James Bond - Hard Version (30) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue This time let us consider the situation in the movie "Live

05-2. Saving James Bond - Easy Version (25)

05-2. Saving James Bond - Easy Version (25) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue This time let us consider the situation in the movie "Live

05-2. Saving James Bond - Easy Version

需要注意的是1.能否从中心岛跳到其他顶点,需要计算(0,0)到顶点的距离再减去小岛半径                          2.顶点到地点先把所有顶点转到到第一象限再判断方便一些 /* ***********************************************Author :fistyCreated Time :2015/1/1 22:

ISO 26262中的失效率计算:IEC 61709-Clause 18_Signal and pilot lamps

目录 概要 1 元器件分类和基准温度 2 失效率的计算 2.1 失效率预测模型 2.2 电压应力系数 概要 IEC 61709是国际电工委员会(IEC)制定的一个标准,即“电子元器件 可靠性 失效率的基准条件和失效率转换的应力模型”。主要涉及电学元器件的可靠性,包括失效率的基准条件和失效率转换的应力模型。本文介绍IEC 61709第十八章: Signal and pilo

[状态压缩 广搜BFS]Saving Tang Monk

描述 《Journey to the West》(also 《Monkey》) is one of the Four Great Classical Novels of Chinese literature. It was written by Wu Cheng'en during the Ming Dynasty. In this novel, Monkey King Sun Wukong,

HDU 3037 Saving Beans 大组合数 lucas定理

直接lucas降到10w以内搞组合数 #include <cstdio>#include <cstring>typedef __int64 LL;LL f[110010];LL pow(LL a, LL b, LL c){LL ans = 1;while(b){if(b&1)ans = (ans*a) % c;b >>= 1;a = (a*a) % c;}return ans;}