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 ...
随机推荐
- POJ2443 Set Operation (基础bitset应用,求交集)
You are given N sets, the i-th set (represent by S(i)) have C(i) element (Here "set" isn't ...
- [Selenium] WebDriver 操作 HTML5 中的 drag/drop
以 jQuery UI 官方网站元素测试,地址:http://jqueryui.com/draggable/ 示例: package com.learningselenium.html5; impor ...
- 「HNSDFZ暑期集训 测试1」「LuoguT36485」 括号(贪心
Description 给定一个由左括号'('和右括号')'组成的字符串s,其中第i个括号的权值为ai. 我们定义一个括号序列t为合法括号序列,当且仅当满足下列条件之一: 1.t为空串 2.t=(A) ...
- Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar
转自:https://blog.csdn.net/u011422744/article/details/39851693 在SSH开发,搭建环境的时候,启动tomcat服务器,就报这个异常! 信息: ...
- K
https://codeforces.com/gym/101982/attachments K 打表暴力 /*#include<bits/stdc++.h> using namespace ...
- 关于<?php exit;?>"的绕过问题
在Moctf中看到一道题目: <?php show_source(__FILE__); $c="<?php exit;?>"; @$c.=$_POST['c']; ...
- hdoj1465【错排公式(直接水过)】
//注意会爆 int #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef unsigne ...
- hihoCoder扩展欧几里得
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...
- 洛谷P2219 [HAOI2007]修筑绿化带(单调队列)
传送门 啧……明明以前做到过这种类型的题结果全忘了…… 这种矩阵的,一般都是先枚举行,然后对列进行一遍单调队列,搞出右下角在每一行中合法位置时的最小权值 再枚举列,对行做一遍单调队列,用之前搞出来的最 ...
- Java--------------Mysql中时间按要求查询
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...