题目链接:点击进入
就是一个二维的RMQ问题,其实二维线段树或则是树状数组都是可以做的,但是二维的ST算法编码还是要简单一点。下面这份代码可以作为二维ST算法的模板用。代码如下:#include
#include
#include
#include
using namespace std;int val[255...
分类:
其他好文 时间:
2015-08-09 12:41:29
阅读次数:
106
【CF 459D】 Pashmak and Parmida’s problem...
分类:
其他好文 时间:
2015-08-08 19:59:08
阅读次数:
169
HDU - 3584
Cube
Time Limit: 1000MS
Memory Limit: 65536KB
64bit IO Format: %I64d & %I64u
Submit Status
Description
Given an N*N*N cube A, whose elements are either ...
分类:
编程语言 时间:
2015-08-08 19:57:29
阅读次数:
131
HDU - 1556
Color the ball
Time Limit: 3000MS
Memory Limit: 32768KB
64bit IO Format: %I64d & %I64u
Submit Status
Description
N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a ...
分类:
编程语言 时间:
2015-08-08 19:54:39
阅读次数:
137
树形结构的数据库表Schema设计 程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,因此是不能直接将Tree存入DBMS,设计....
分类:
数据库 时间:
2015-08-08 13:29:15
阅读次数:
210
题目链接:点击进入
其实这种动态查询区间最大最小值的题目,解法是有很多的,像是线段树和树状数组都是可以做的。ST算法效率和上面两种是一样的,但是编码更为简单。
ST算法是一种利用了递推思想进行计算的算法,令dp(i,j)表示从i开始长度为2^j的一段元素中的最小值,则dp(i,j)=min(dp(i,j-1),dp(i+2^(j-1),j-1))。这是求区间最小值的递归关系,其实求区间最大值也是...
分类:
编程语言 时间:
2015-08-08 12:05:44
阅读次数:
115
NecklaceTime Limit: 15000/5000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3923Accepted Submission(s): 1292Problem D...
分类:
编程语言 时间:
2015-08-08 06:32:36
阅读次数:
145
Turing TreeTime Limit: 6000/3000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3981Accepted Submission(s): 1349Problem...
分类:
编程语言 时间:
2015-08-08 06:30:07
阅读次数:
256
树状数组详解:
假设一维数组为A[i](i=1,2,...n),则与它对应的树状数组C[i](i=1,2,...n)是这样定义的:
C1 = A1
C2 = A1 + A2
C3 = A3
C4 = A1 + A2 + A3 + A4
C5 = A5
C6 = A5 + A6
.................
C8 = A1 + A2 + A3 + A4 + A5 ...
分类:
编程语言 时间:
2015-08-08 01:24:09
阅读次数:
1180
题意:
??
给定一棵树,每个节点有一个点权,然后有一些询问,求以某个点为根的子树中有多少的数出现了恰好k次。
思路:
首先dfs一次将树形结构转化成线性结构,利用时间戳记录下以结点u为根的子树在数组中的开始位置和结束位置。
那么我们将所有查询记录下来离线来做,将所有的查询按右端点升序排序。
考虑用树状数组来做这道题,每个位置记录当前从1到当前位置有多少数出现了恰好k次。
从头遍历一...
分类:
编程语言 时间:
2015-08-07 23:58:10
阅读次数:
340