首先这道题目是求第k大

求第k大我们有逐位确定,主席树,整体二分等等方法

首先我们考虑如何处理每个询问

我们可以二分答案k,之后扫一遍之前的操作

我们只需要知道有多少个权值>=k的操作经过当前点u就可以啦

这显然是直接维护的(这里并不需要数据结构)

之后我们考虑对询问整体二分

那么我们需要维护数据结构来完成查询多少个权值>=k的操作经过某个点

我们会发现两个操作对于上面这个询问的贡献是可分离的

不妨分开来考虑,首先对于子树修改,显然我们对DFS序维护一棵线段树就可以了

当然,我们也可以差分之后维护一个树状数组

对于链修改,最直观的做法是树链剖分,然而树链剖分的话加上整体二分变成了O(nlog^3n),这是会T的

但是我们可以考虑差分,我们对DFS序维护一个树状数组

每次在u位置+1,v的位置+1

LCA的位置-1,LCA的父亲位置-1

这样我们查询这个点被多少条链经过等价于查询他的子树和了

这样我们就通过整体二分+线段树+树状数组完美的解决了这道题目了

cojs 榴莲 题解报告的更多相关文章

  1. cojs 奈特 题解报告

    才知道knight念奈特,而不念科耐特 这个题显然是一个数据结构题目,我搬运的CF上的题 CF的题解好长超长哒,而且可以在线,但是并不能看懂 于是自己想了一个一种做法A掉了,唯一的缺陷就是做法有些繁琐 ...

  2. cojs EX_香蕉 题解报告

    这道题目是香蕉的加强版 当m=100w时矩阵会很大,而且又有多组询问,所以这道题用原来香蕉的程序会T 所以我们需要更好点的做法 我们考虑优化我们的状态 首先考虑这道题的隐藏性质,考虑不合法的情况 那么 ...

  3. cojs 强连通图计数1-2 题解报告

    OwO 题目含义都是一样的,只是数据范围扩大了 对于n<=7的问题,我们直接暴力搜索就可以了 对于n<=1000的问题,我们不难联想到<主旋律>这一道题 没错,只需要把方程改一 ...

  4. cojs 二分图计数问题1-3 题解报告

    OwO 良心的FFT练手题,包含了所有的多项式基本运算呢 其中一部分解法参考了myy的uoj的blog 二分图计数 1: 实际是求所有图的二分图染色方案和 我们不妨枚举这个图中有多少个黑点 在n个点中 ...

  5. 2015浙江财经大学ACM有奖周赛(一) 题解报告

    2015浙江财经大学ACM有奖周赛(一) 题解报告 命题:丽丽&&黑鸡 这是命题者原话. 题目涉及的知识面比较广泛,有深度优先搜索.广度优先搜索.数学题.几何题.贪心算法.枚举.二进制 ...

  6. 题解报告:hdu 1398 Square Coins(母函数或dp)

    Problem Description People in Silverland use square coins. Not only they have square shapes but also ...

  7. 题解报告:hdu 2069 Coin Change(暴力orDP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Problem Description Suppose there are 5 types of ...

  8. 题解报告:hdu 1028 Ignatius and the Princess III(母函数or计数DP)

    Problem Description "Well, it seems the first problem is too easy. I will let you know how fool ...

  9. CF Educational Round 78 (Div2)题解报告A~E

    CF Educational Round 78 (Div2)题解报告A~E A:Two Rival Students​ 依题意模拟即可 #include<bits/stdc++.h> us ...

随机推荐

  1. Linux学习笔记之VI(VIM)编辑器

    百度关于vi的资料 http://baike.baidu.com/view/908054.htm 关于vi 和vim的介绍可以在上面的网址看到. 1   进入和退出vi 进入:在终端命令行输入 vi ...

  2. sql语句中like匹配的用法详解

    在SQL结构化查询语言中,LIKE语句有着至关重要的作用. LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用 ...

  3. 【zendstudio】如何利用zendstudio新建 或导入php项目

    一.利用ZendStudio创建 PHP Project 1. 打开ZendStudio, 选择:File à New à PHP Project, 如下图所示: 于是弹出如下界面: 在”Projec ...

  4. Translation001——android

    请尊重原创,转载请注明出处: Author:KillerLegend Link:http://www.cnblogs.com/killerlegend/ BEGIN****************** ...

  5. Linq中延迟查询和立即查询

    //立即查询 public static void NowExecute() { var results = new int[]{5,4,3,2,1,6,7,8,9,0 }; int i = 0; v ...

  6. hdu 5738 2016 Multi-University Training Contest 2 Eureka 计数问题(组合数学+STL)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5738 题意:从n(n <= 1000)个点(有重点)中选出m(m > 1)个点(选出的点只 ...

  7. RMAN备份失败之:mount: block device /dev/emcpowerc1 is write-protected, mounting read-only

    今天再做巡检的时候发现有一台服务器的RMAN备份不正常,有一段时间没能正常备份了.检查了一下脚本,正常,定时任务列表也正常,再检查一下/var/log/cron的内容,也没有问题.尝试在该挂载点上创建 ...

  8. 从零开始学ios开发(十八):Storyboards(下)

    这篇我们完成Storyboards的最后一个例子,之前的例子中没有view之间的切换,这篇加上这个功能,使Storyboards的功能完整呈现.在Storyboards中负责view切换的东西叫做“s ...

  9. 用例图 UseCase Diagram

    从上面的用例图模型,我们可以大致了解用例图所描述的是什么.下面进行详细介绍. 用例图,即用来描述什么角色通过某某系统能做什么事情的图,用例图关注的是系统的外在表现,系统与人的交互,系统与其它系统的交互 ...

  10. 自定义的你的ubuntu鼠标右键

    首先看下效果图: 好,接下来讲下如何实现,“下一个桌面”和”在终端打开“,首先是安装必要软件 sudo apt-get -y install nautilus-open-terminal nautil ...