
线段树
OIerGH
某OIER
展开
-
环中环 {动态规划/线段树}
题目描述: 被认为天才的小头遇到麻烦了!!这天数学课老师给出了一道难题,而小头居然没能在3秒内解决,可见此题难度之大。 问题是这样的:n个整数围成一个环,老师要求选出其中的若干数,使得选中的数所组成的环中,两个相邻数的差的绝对值不等于1。在满足这个前提下,问最多能取多少个数。输入: 第一行一个正整数n,表示有n个数 第二行n个整数,a1、a2……an 按顺时针方向围成一个环原创 2016-08-16 19:23:56 · 1247 阅读 · 0 评论 -
{算法}浅析线段树
线段树是一种简单而实用的算法。 线段树是一棵二叉树,而且是一颗完全二叉树。顾名思义,线段树的每一个节点表示一个区间,如图: 以最大值问题为例: 给你一个数列,每次询问区间最大值是多少。maketree:根节点表示1~n的区间最大值,然后将这个区间分成两半,它的两个子节点分别表示这两个区间的最大值,这样我们就可以构造一个线段树。void maketree(int t,int l,int r){原创 2016-08-23 15:56:47 · 5632 阅读 · 0 评论