题目描述

现在有一个包含 \(n\) 个元素的数组,它的元素的编号从 \(1\) 到 \(n\) 。

每一个元素都有一个初始的颜色 \(C_i\) 以及数值 \(W_i\) 。

这个数组支持 \(4\) 种操作:

  • CC x c:第 x 个元素的颜色被修改成了 c
  • CW x w:第 x 个元素的数值被修改成了 w
  • QS x y:查询从第 x 个元素开始到第 y 个元素结束的所有颜色等于 C_x 的数值之和;
  • QM x y:查询从第 x 个元素开始到第 y 个元素结束的所有颜色等于 C_x 的数值中的最大值。

输入格式

输入的第一行包含整数 \(n, q(1 \le n, q \le 10^5)\) 依次表示元素个数和操作数。

接下来 \(n\) 行,第 \(i+1\) 行两个整数 \(W_i, C_i\) 依次表示操作开始之前,第 \(i\) 个元素的数值和颜色。

接下来 \(q\) 行,每行一个操作,格式如上所述。

数据保证每次修改的数值都不超过 \(10^4\) 。

输出格式

对每个QS和QM事件,输出一行,表示对应的结果。

样例输入

3 6
1 1
2 2
3 3
QM 1 3
QS 1 3
CC 1 3
CW 1 5
QM 1 3
QS 1 3

样例输出

1
1
5
8

P1113 同颜色询问的更多相关文章

  1. codedecision P1113 同颜色询问 题解 线段树动态开点

    题目描述:https://www.cnblogs.com/problems/p/11789930.html 题目链接:http://codedecision.com/problem/1113 这道题目 ...

  2. 【bzoj4817】[Sdoi2017]树点涂色&&bzoj3779-重组病毒

    题解: 两道几乎差不多的题(所以说当年sdoi考了道原题) 都是将树上一段改为新颜色询问颜色数目 可以把改成新颜色这个操作看成access操作 然后通过线段树+dfs序来维护 另外换根了为什么还可以用 ...

  3. [总结] LCT学习笔记

    \(emmm\)学\(lct\)有几天了,大概整理一下这东西的题单吧 (部分参考flashhu的博客) 基础操作 [洛谷P1501Tree II] 题意 给定一棵树,要求支持 链加,删边加边,链乘,询 ...

  4. bzoj 1095 Hide 捉迷藏 - 动态点分治 -堆

    Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子们决定在家里玩捉迷藏游戏.他们的家很大且构造很奇特,由N个屋子和N-1条双 ...

  5. SDOI2017 解题报告

    数字表格 \(T\)次询问,每次给出\(n,m(n,m\le 10^6)\),\(f\)为斐波那契数列,\(f_0=0,f_1=1\),求: \[ \prod _{i=1}^n\prod _{j=1} ...

  6. 【2018.10.20】CXM笔记(思维)

    1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小. 先预处理任意子串的哈希值. 然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同 ...

  7. 【JZOJ6231】【20190625】等你哈苏德

    题目 有\(m\)条线段,每条线段为\([l_i,r_i]\),每条线段可以是黑/白色 有些线段已经被染色,有些需要被确定颜色 询问是否存在一种染色方案,使得对于每一个位置\(i\),覆盖它的线段黑白 ...

  8. luogu2173 [ZJOI2012]网络

    题目链接 problem 给出一个无向图,每条边有一种颜色.每种颜色都构成一个森林.需要完成以下操作. 修改点权 修改边的颜色 询问某种颜色的森林中某条路径上点权最大值 solution 颜色数量不超 ...

  9. P3313-[SDOI2014]旅行【树链剖分,线段树】

    正题 题目链接:https://www.luogu.com.cn/problem/P3313 题目大意 \(n\)个点的一棵树,每个点有一个颜色和权值,有操作 修改一个点的权值 修改一个点的颜色 询问 ...

随机推荐

  1. scala的插值器

    Scala 为我们提供了三种字符串插值的方式,分别是 s, f 和 raw.它们都是定义在 StringContext 中的方法. s 字符串插值器 val a = 2println(s"小 ...

  2. C++ 之手写memcpy

    #include<iostream>#include<cstdio>using namespace std; void* mymemcpy(void* dst, const v ...

  3. console 中的格式化打印(占位符),和样式定义

    格式化打印 Gecko 9.0 (Firefox 9.0 / Thunderbird 9.0 / SeaMonkey 2.6) 首次发布对string substitutions的支持.你可以在传递给 ...

  4. Linux C socket 基于 UDP

    /*************************************************************************     > File Name: serve ...

  5. spring boot + mybatis 访问 neo4j

    之前有通过rest的风格去访问,但是每次需要访问时候将statement一并加入header中去数据库执行,方式简单.且思路清晰,但是不便于形成模板调用,固采用mybaits来集成. 1.关键pom. ...

  6. Net Transport

    在调用第三方请求时,正确使用Client也不是一件非常容易的事. 下面是截取的一段描述,建议Client或Transport在整个服务期间最好是全局单例的,Transport本身会维护连接的状态,而且 ...

  7. Objectarx之分批存储相连实体

    void CCommonFuntion::BatchStorageEnt(AcDbObjectIdArray& inputId, std::vector<std::vector<A ...

  8. SpringMVC的简单传值总结

    之前学习SpringMVC时感觉他的传值很神奇:简便,快捷,高效. 今天写几个简单的传值与大家分享,希望能对大家有帮助. 一. 从后往前传: (1) @Controller @RequestMappi ...

  9. Libevent:8Bufferevents高级主题

    本章描述的是Libevent的bufferevent实现的一些高级特性,这对于普通应用来说并非必须的.如果你只是学习如何使用bufferevent,则应该跳过本章去阅读evbuffer的章节. 一:成 ...

  10. MaxCompute 图计算用户手册(下)

    示例程序 强连通分量 在有向图中,如果从任意一个顶点出发,都能通过图中的边到达图中的每一个顶点,则称之为强连通图.一张有向图的顶点数极大的强连通子图称为强连通分量.此算法示例基于 parallel C ...