COGS 827. [Tyvj Feb11] 网站计划
输入文件:web.in
输出文件:web.out
简单对比
时间限制:1 s 内存限制:128 MB
描述 Description | ||
Tyvj的Admin--zhq同学将在寒假开始实行Tyvj new web计划,把Tyvj打造成为中国一流的信息学在线评测系统。Tyvj的new web计划里一共有n项,编号1~n,每项的重要度为v[i],Admin—zhq同学共工作m次,第j次从编号为l[j]~r[j]的项目里选择重要度最大的一项任务完成,所获得的进展量为(l[j]+r[j])*该任务的重要度。完成该任务后该任务的重要度变为0。请问Admin在工作m次后可以有多少进展量呢?
注:数据保证初始情况下所有任务的重要度不同。 |
输入格式 Input Format
第一行为n,m
第二行n个整数v[i]。
接下来m行,每行两个整数l,r,表示Admin这一次将会从编号为l~r的项目里选择(包括l,r)重要度最大的来完成。
输出格式 Output Format | ||
最终的进展量。由于结果可能会比较大,你只需要输出mod2011之后的结果即可。 |
输出格式 Output Format | ||
最终的进展量。由于结果可能会比较大,你只需要输出mod2011之后的结果即可。 |
样例输入:
5 3
1 2 3 4 5
1 3
2 3
1 5
样例输出:
52
线段树
RMQ 单点修改
#include <iostream>
#include <cstdio>
using namespace std; typedef long long LL;
struct node
{
LL l,r,dis,v;
}t[*+];
LL whr,to,maxn,n,m;
void up(LL k)
{
if(t[k<<].dis>t[k<<|].dis)
{
t[k].dis=t[k<<].dis;
t[k].v=t[k<<].v;
}
else
{
t[k].dis=t[k<<|].dis;
t[k].v=t[k<<|].v;
}
}
void build(LL l,LL r,LL k)
{
t[k].l=l;t[k].r=r;
if(l==r)
{
scanf("%d",&t[k].dis);
t[k].v=t[k].l;
return;
}
LL mid=(l+r)>>;
build(l,mid,k<<);
build(mid+,r,k<<|);
up(k);
}
void query(LL l,LL r,LL k)
{
if(t[k].l==l&&t[k].r==r)
{
if(t[k].dis>maxn)
{
maxn=t[k].dis;
whr=t[k].v;
}
return;
}
LL mid=(t[k].l+t[k].r)>>;
if(r<=mid) query(l,r,k<<);
else if(l>mid) query(l,r,k<<|);
else
{
query(l,mid,k<<);
query(mid+,r,k<<|);
}
}
void delet(LL now,LL k)
{
if(t[k].l==t[k].r)
{
t[k].dis=;
t[k].v=;
return;
}
LL mid=(t[k].l+t[k].r)>>;
if(mid>=now) delet(now,k<<);
else if(mid<now) delet(now,k<<|);
up(k);
}
int main()
{
freopen("web.in","r",stdin);
freopen("web.out","w",stdout);
cin>>n>>m;
build(,n,);
LL u,v;
long long ans=;
while(m--)
{
cin>>u>>v;
maxn=;whr;
query(u,v,);
delet(whr,);
ans+=(u+v)*maxn%;
ans%=;
}
cout<<ans;
return ;
}
COGS 827. [Tyvj Feb11] 网站计划的更多相关文章
- cogs 826. [Tyvj Feb11] GF打dota
826. [Tyvj Feb11] GF打dota ★★☆ 输入文件:dota.in 输出文件:dota.out 简单对比时间限制:1 s 内存限制:128 MB 众所周知,GF同学喜 ...
- cogs 826. [Tyvj Feb11] GF打dota 次短路详细原创讲解! dijkstra
826. [Tyvj Feb11] GF打dota ★★☆ 输入文件:dota.in 输出文件:dota.out 简单对比时间限制:1 s 内存限制:128 MB 众所周知,GF同学喜 ...
- COGS 1191. [Tyvj Feb11] 猫咪的进化
★ 输入文件:neko.in 输出文件:neko.out 简单对比时间限制:1 s 内存限制:128 MB [背景] 对于一只猫咪来说,它是有九条命的.但是并不是所有的猫咪都是这样,只 ...
- COGS——T 826. [Tyvj Feb11] GF打dota
http://www.cogs.pro/cogs/problem/problem.php?pid=826 ★★☆ 输入文件:dota.in 输出文件:dota.out 简单对比时间限制:1 ...
- COGS 1215. [Tyvj Aug11] 冗余电网
★ 输入文件:ugrid.in 输出文件:ugrid.out 简单对比时间限制:1 s 内存限制:128 MB TYVJ八月月赛提高组第2题 测试点数目:5 测试点分值:20 --内存 ...
- cogs——1215. [Tyvj Aug11] 冗余电网
1215. [Tyvj Aug11] 冗余电网 ★ 输入文件:ugrid.in 输出文件:ugrid.out 简单对比 时间限制:1 s 内存限制:128 MB TYVJ八月月赛提高组 ...
- cogs 1829. [Tyvj 1728]普通平衡树 权值线段树
1829. [Tyvj 1728]普通平衡树 ★★★ 输入文件:phs.in 输出文件:phs.out 简单对比时间限制:1 s 内存限制:1000 MB [题目描述] 您需要写一种数 ...
- cogs 2109. [NOIP 2015] 运输计划 提高组Day2T3 树链剖分求LCA 二分答案 差分
2109. [NOIP 2015] 运输计划 ★★★☆ 输入文件:transport.in 输出文件:transport.out 简单对比时间限制:3 s 内存限制:256 MB [题 ...
- MVC Core 网站开发(Ninesky) 2、栏目
栏目是网站的常用功能,按照惯例栏目分常规栏目,单页栏目,链接栏目三种类型,这次主要做添加栏目控制器和栏目模型两个内容,控制器这里会用到特性路由,模型放入业务逻辑层中(网站计划分数据访问.业务逻辑和We ...
随机推荐
- 实现自定义xib和storyboard的加载,
一:加载xib 1.分别创建xib,.h .m文件继承自UIView. 在xib上绑定类名. 或者创建文件的时候直接勾选xib 2.在控制器中调用类方法 jyq52787网盘/ios/潭州学院/iO ...
- rbenv更新ruby后rails命令无效的解决方案
创建: 2017/11/02 更新: 2018/02/02 增加rbenv使用方法的链接 rbenv的使用: http://www.cnblogs.com/lancgg/p/8281739.h ...
- (水题)Codeforces - 327C - Magic Five
https://codeforces.com/problemset/problem/327/C 因为答案可以有前导零,所以0和5一视同仁.每个小节内,以排在第 $i$ 个的5为结尾的序列即为在前面 $ ...
- hdoj5328【尺取】
现在在队内赛(灰常艾斯比的队内赛),还是来写篇题解开心一下,23333. 题意: 就是问你找出一个最长的等比数列或者等差数列 思路: 一个等差的尺取,一个等比的尺取.2333,就这么过了,具体自己写吧 ...
- PTA 模拟,【放着一定要写哈哈哈哈哈】(据说用string哟)
实现一种简单原始的文件相似度计算,即以两文件的公共词汇占总词汇的比例来定义相似度.为简化问题,这里不考虑中文(因为分词太难了),只考虑长度不小于3.且不超过10的英文单词,长度超过10的只考虑前10个 ...
- python 子类调用父类成员的方法
1.直接写类名调用: parent_class.parent_attribute(self) class Animal(): def __init__(self, name): self.name = ...
- AT2534 港湾設備 (Port Facility)
洛谷 先膜一下Iscream巨巨 首先我们可以把题目转化为线段覆盖,如果两条线段相交(不算某一条完全在另一条里面的情况),那么这两条线段代表的集装箱就不能放到同一个栈里,我们在它们之间连一条边.如果图 ...
- JZOJ4307. 【NOIP2015模拟11.3晚】喝喝喝
Description
- Java 反射机制详解(下)
续:Java 反射机制详解(上) 三.怎么使用反射 想要使用反射机制,就必须要先获取到该类的字节码文件对象(.class),通过字节码文件对象,就能够通过该类中的方法获取到我们想要的所有信息(方法,属 ...
- 关于long long int和__int64用%I64d和%lld输出在不同编译语言下的正确性
http://blog.csdn.net/febr2/article/details/52068357 这个网址最下面