nssl1298-网站计划【线段树】

正题


题目大意

若干个区间操作l,rl,rl,r
让答案增加(l+r)∗max{ai}(i∈[l..r])(l+r)*max\{a_i\}(i\in[l..r])(l+r)max{ai}(i[l..r])
并把最大的数变为0


解题思路

线段树,上传最大值时多上传一个位置,然后单点修改。


codecodecode

#include<cstdio>
#include<algorithm>
using namespace std;
const int N=200100,XJQ=2011;
struct treenode{int num,val,l,r;
}t[N*4];
int n,m,ans,sum,num;
void Merge(int k)
{if(t[k*2].val>t[k*2+1].val)t[k].val=t[k*2].val,t[k].num=t[k*2].num;else t[k].val=t[k*2+1].val,t[k].num=t[k*2+1].num;
}
void build(int k,int l,int r)
{t[k].l=l;t[k].r=r;if(l==r){scanf("%d",&t[k].val);t[k].num=t[k].l;return;}int mid=(l+r)/2;build(k*2,l,mid);build(k*2+1,mid+1,r);Merge(k);
}
void ask(int k,int l,int r)
{if(t[k].l==l&&t[k].r==r){if(t[k].val<=ans) return;ans=t[k].val;num=t[k].num;return;}int mid=(t[k].l+t[k].r)/2;if(r<=mid) ask(k*2,l,r);else if(l>mid) ask(k*2+1,l,r);else ask(k*2,l,mid),ask(k*2+1,mid+1,r);
}
void change(int k,int x)
{if(t[k].l==t[k].r){t[k].val=0;return;}int mid=(t[k].l+t[k].r)/2;if(x<=mid) change(k*2,x);else change(k*2+1,x);Merge(k);
}
int main()
{//freopen("data.in","r",stdin);scanf("%d%d",&n,&m);build(1,1,n);for(int i=1;i<=m;i++){int l,r;scanf("%d%d",&l,&r);ans=0;ask(1,l,r);(sum+=ans*((l+r)%XJQ)%XJQ)%=XJQ;change(1,num);}printf("%d",sum);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

输入框限定保留三位小数点

这里用到正则表达式&#xff0c;没输入一个数字会对输入框进行一次事件的触发&#xff0c;检查是否超过三位小数点&#xff0c;超过则进行删除。 你可以3改成2&#xff0c;这样就是保留两位小数点了 <el-input placeholder"请输入商品重量" v-model"baseInfo…

基于OIDC(OpenID Connect)的SSO(纯JS客户端)

在上一篇基于OIDC的SSO的中涉及到了4个Web站点&#xff1a; oidc-server.dev&#xff1a;利用oidc实现的统一认证和授权中心&#xff0c;SSO站点。 oidc-client-hybrid.dev&#xff1a;oidc的一个客户端&#xff0c;采用hybrid模式。 oidc-client-implicit.dev&#xff1a;od…

mybatis源码阅读(七) ---ResultSetHandler了解一下

转载自 mybatis源码阅读(七) ---ResultSetHandler了解一下 1、MetaObject MetaObject用于反射创建对象、反射从对象中获取属性值、反射给对象设置属性值&#xff0c;参数设置和结果封装&#xff0c;用的都是这个MetaObject提供的功能。 public static MetaObject forObject…

nssl1299-选做作业【最大流,最小割,最大子权闭合图】

正题 题目大意 有nnn个任务&#xff0c;完成需要先决条件&#xff0c;然后有完成价值。选择一些任务完成&#xff0c;求最大价值。 解题思路 首先&#xff0c;如果有环&#xff0c;那么这些环是不可能完成的。所以先用拓扑排序找环。 然后考虑最大子权闭合图&#xff0c;对于…

IIS中的 Asp.Net Core 和 dotnet watch

在基于传统的.NET Framework的Asp.Net Mvc的时候&#xff0c;本地开发环境中可以在IIS中建立一个站点&#xff0c;可以直接把站点的目录指向asp.net mvc的项目的根目录。然后build一下就可以在浏览器里面刷新到最新的修改了&#xff0c;也可以附加到w3wp的进程进行调试。但是在…

mybatis源码阅读(八) ---Interceptor了解一下

转载自 mybatis源码阅读(八) ---Interceptor了解一下 1 Intercetor MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下&#xff0c;MyBatis允许使用插件来拦截的方法调用包括&#xff1a; Executor (update, query, flushStatements, commit, rollba…

foreach方法使用

用法 foreach方法主要是针对数组而言的&#xff0c;对数组中的每个元素可以执行一次方法 var array [a, b, c, e]; array.forEach((a)> {console.log(a); });属性 foreach方法主要有三个参数&#xff0c;分别是数组内容、数组索引、整个数组 var array [a, b, c, e]; arra…

ssl提高组周六模拟赛【2019.3.2】

前言 Rank1Rank1Rank1耶 成绩 RankRankRank是有算别人的 只放前Rank10Rank10Rank10 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCCDDD111meselfmeselfmeself340340340808080100100100100100100606060222XXYXXYXXY250250250808080707070100100100000333LWLWLW2502502…

.NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions

.NET Core 控制台程序没有 ASP.NET Core 的 IWebHostBuilder 与 Startup.cs &#xff0c;那要读 appsettings.json、注依赖、配日志、设 IOptions 该怎么办呢&#xff1f;因为这些操作与 ASP.NET Core 无依赖&#xff0c;所以可以自己动手&#xff0c;轻松搞定。 1、读 appsett…

Object.keys方法拿到对象的key值

项目中的高级搜索选项用到了Object.keys方法&#xff0c; 那么它是用来干嘛的呢&#xff1a;删除某个子对象里的数据 var anObj { aaa: kejin,bbb: shenxian,ccc: yuanshan };let params {...anObj,ddd: luanwu } console.log(params) console.log(Object.keys(anObj)); // …

jsdiff 比较文本内容差异

翻译自 jsdiff JavaScript文本内容差异实现。 基于"An O(ND) Difference Algorithm and its Variations" (Myers, 1986) 中提出的算法 。 安装 npm install diff --save API Diff.diffChars(oldStr, newStr[, options]) -区分两个文本块&#xff0c;逐字符比较。…

Net Core下多种ORM框架特性及性能对比

在.NET Framework下有许多ORM框架&#xff0c;最著名的无外乎是Entity Framework&#xff0c;它拥有悠久的历史以及便捷的语法&#xff0c;在占有率上一路领先。但随着Dapper的出现&#xff0c;它的地位受到了威胁&#xff0c;本文对比了在.NET Core下 两种框架的表现以及与原生…

P3275-[SCOI2011]糖果【差分约束,负环】

正题 题目大意:https://www.luogu.org/problemnew/show/P3275 题目大意 对于nnn个值&#xff0c;给出一系列不等式。求每个值的最小正整数。 解题思路 差分约束 codecodecode #include<cstdio> #include<queue> #include<cstring> #define MN 300005 usi…

ssh免密登陆失败原因总结(Linux)

转载自 ssh免密登陆失败原因总结&#xff08;Linux&#xff09; 1. SSH公钥认证&#xff08;免密码&#xff09;配置 登录到本机服务器A&#xff0c;切换到响应的操作系统用户&#xff0c;执行命令&#xff0c;生成秘钥文件【按照提示直接回车】 ssh-keygen -t rsa 将公钥传送…

FormData的使用

声明 创造一个空对象 var formData new FormData();或者在里面放入一个表单 var form document.getElementById("kForm"); var formData new FormData(form);赋值 如果想在里面赋值&#xff0c;可以用append方法 添加&#xff1a; formData.append(k1,kejin)…

从ThoughtWorks 2017技术雷达看微软技术

ThoughtWorks在每年都会出品两期技术雷达&#xff0c;这是一份关于技术趋势的报告&#xff0c;它比起一些我们能在市面上见到的其他各种技术行情和预测报告&#xff0c;更加具体&#xff0c;更具可操作性&#xff0c;因为它不仅涉及到新技术大趋势&#xff0c;比如云平台和大数…

Spark入门(一)单主standalone安装

一、集群安装条件前置 实验spark安装在【Hadoop入门&#xff08;二&#xff09;集群安装】机器上&#xff0c; 已完成安装jdk,hadoop和ssh、网络等配置环境等。 spark所依赖的虚拟机和操作系统配置 环境&#xff1a;ubuntu14 spark-2.4.4-bin-hadoop2.6jdk1.8ssh 虚拟机&a…

POJ1201-Intervals【差分约束,负环,SPFA】

正题 题目链接:http://poj.org/problem?id1201 题目大意 求一个最少数量的数字集合满足 在li∼ril_i\sim r_ili​∼ri​的范围的数字至少是cic_ici​个 解题思路 设sis_isi​表示0∼i0\sim i0∼i的范围内数字个数。然后其实条件就是sr−si≥cs_r-s_i\geq csr​−si​≥c。…

laravel使用migrate操作数据库迁移

数据库表单预创建 1、生成php文件 php artisan make:migration create_articles_table2、执行php文件操作数据库 php artisan migrate --force回滚上一个 php artisan migrate:rollback回滚初始状态 php artisan migrate:reset$table->increments(id); $table->strin…

AutoMapper在asp.netcore中的使用

automapper 是.net 项目中针对模型之间转换映射的一个很好用的工具&#xff0c;不仅提高了开发的效率还使代码更加简洁&#xff0c;当然也是开源的&#xff0c;https://github.com/AutoMapper&#xff0c;这不多做介绍&#xff0c;详细看&#xff0c;官网下面是介绍它在 .net c…