Vijos P1782 借教室 ( 前缀和&&差分序列)
题目链接:借教室
题意:给出n天得教室数目,m个借教室得单子,按顺序借教室,问哪个单子不满足并输出
分析:可以用线段树做,会T,常数比较大,选择用差分序列维护前缀和,二分答案即可
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- int ans,n,m,r[],d[],s[],t[],pre[];
- //inline int read(){int x=0;char ch=getchar();while(!(ch>='0'&&ch<='9')) ch=getchar();while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();};return x;}
- int check(int x)
- {
- int sum=;
- memset(pre,,sizeof(pre));
- for(int i=;i<=x;i++) pre[s[i]]+=d[i],pre[t[i]+]-=d[i];
- for(int i=;i<=n;i++)
- {
- sum+=pre[i];
- if(sum>r[i]) return ;
- }
- return ;
- }
- int main()
- {
- scanf("%d %d",&n,&m);
- ans=;
- for(int i=;i<=n;++i) scanf("%d",r+i);
- for(int i=;i<=m;++i) {scanf("%d %d %d",d+i,s+i,t+i);}
- int l=,r=m;
- while(l<r)
- {
- int mid=(l+r)>>;
- if(check(mid)==) ans=mid,r=mid;
- else l=mid+;
- }
- if(ans) printf("-1\n%d\n",ans);
- else puts("");
- }
Vijos P1782 借教室 ( 前缀和&&差分序列)的更多相关文章
- VIjos——V 1782 借教室 | | 洛谷——P1083 借教室
https://vijos.org/p/1782|| https://www.luogu.org/problem/show?pid=1083 描述 在大学期间,经常需要租借教室.大到院系举办活动,小到 ...
- NOIP2012 D2 T2 借教室 线段树 OR 二分法
题目描述: 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...
- NOIP2012借教室[线段树|离线 差分 二分答案]
题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...
- [NOIP2012] 提高组 洛谷P1083 借教室
题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然 ...
- NOIp 2012 #2 借教室 Label:区间修改线段树
题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然 ...
- 【NOIP2012】借教室
因为本校OJ+1s所以用线段树水过了,不去syz的水库水这题还真不知道线段树过不了= = 原题: 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的 ...
- NOIP 2012 T5 借教室 [洛谷P1083]
题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要 向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...
- NOIP2012 借教室 Splay初探
终于把区间操作的Splay搞明白了…… Splay的大致框架是这样的: [代码中的Zig-Zig和Zig-Zag操作其实是可以优化的,实际只需要3次passDown和3次update] templat ...
- vijos1782借教室
描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自然希望 ...
随机推荐
- 建设DevOps统一运维监控平台,先从日志监控说起
https://blog.csdn.net/jessise_zhan/article/details/80129915 https://blog.csdn.net/JThink_/article/de ...
- 洛谷—— P2812 校园网络
P2812 校园网络 题目背景 浙江省的几所OI强校的神犇发明了一种人工智能,可以AC任何题目,所以他们决定建立一个网络来共享这个软件.但是由于他们脑力劳动过多导致全身无力身体被♂掏♂空,他们来找你帮 ...
- freeswitch三方通话配置
此种方法能实现,其中默认转移后按0,可进入三方通话. 用transfer只能实现代接转移. Misc. Dialplan Tools att xfer From FreeSWITCH Wiki Jum ...
- Win7中你所应该知道的强制计划关机操作
有时候更新系统补丁时,需要很长时间,为了能让电脑在你晚上睡觉后,扔然能做些枯燥费时类的这种工作,你可以用到强制计划关机.cmd命令是: shutdown -f -s -t 3600 上面的意思是,强制 ...
- mysql too many connection 解决办法
SHOW VARIABLES LIKE "max_connections"; SHOW VARIABLES LIKE "wait_timeout"; SET G ...
- java验证身份证号码是否有效源代码
原文:http://www.open-open.com/code/view/1420373343171 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 ...
- Md5扩展攻击的原理和应用
*本文原创作者:Guilty and Innocent,本文属FreeBuf原创奖励计划,未经许可禁止转载 做CTF题目的过程中遇到了md5扩展攻击,参考了几篇文章,感觉写的都有些小缺陷,再发一篇文章 ...
- topcoder srm 551
div1 250pt 题意:一个长度最多50的字符串,每次操作可以交换相邻的两个字符,问,经过最多MaxSwaps次交换之后,最多能让多少个相同的字符连起来 解法:对于每种字符,枚举一个“集结点”,让 ...
- curl -L 跟随跳转
curl -L 跟随跳转 加上-v 就可以看见详细信息: 学习了:https://www.cnblogs.com/davicelee/archive/2011/11/19/cURL.html http ...
- @Retention n. 保留
@Retention n. 保留 学习了:https://blog.csdn.net/asdgbc/article/details/70196749 默认都是保留到class中,而在runtime中没 ...