随笔分类 - NOI 数据结构
摘要:前置技能——线段树 线段树属于一种高级数据结构。在学习线段树的时候需要的知识铺垫比较多。建议先对树状结构、二分以及递归编程法有深刻的认识和理解,然后再进行线段树的学习。 简单线段树支持单点查询,区间查询,单点修改,区间修改。 权值线段树 普通线段树维护的信息是数列的区间信息,比如区间和、区间最大值、
阅读全文
摘要:时间限制:C/C++ 3秒 空间限制:C/C++ 262144K 题目描述 小多计划在接下来的n天里租用一些服务器,所有的服务器都是相同的。接下来n天中,第i天需要$a_i$台服务器工作,每台服务器只能在这n天中工作m天,这m天可以不连续。 但是计划不是一成不变的,接下来有q次修改计划(修改是永久的
阅读全文
摘要:题目描述 一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树: 二叉树; 将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等。 下图中节点内的数字为权值,节点外的 id 表示节点编号。 现在给出一棵二叉树,希望你找出它的一棵子树,该子树为对称二叉树,且节点数最多。请输出这
阅读全文
摘要:单调队列是什么呢?可以直接从问题开始来展开。 Poj 2823 给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数。 数列长度:$N 1、维护区间最值 2、去除冗杂状态 如上题,区间中的两个元素a[i],a[j](假设现在再求最大值) 若 j i且a[j] =a[i] ,a[j]比a[
阅读全文