随笔分类 -  NOI 数据结构

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