普通的求区间连续和的问题,一开始因为是区间移动,但是怕UVA数据太严,直接打表,后来发现自己的担心是多余的。
14044972
1210
Sum of Consecutive Prime Numbers
Accepted
C++
0.049
2014-08-15 10:30:11
打表的话效率可能不是很高.
AC代码:...
分类:
其他好文 时间:
2014-08-15 19:43:29
阅读次数:
182
题目:UVALive 5881 Unique Encryption Keys
分类:线段树,想法题
题意:给出n个数,然后有q次查询,每次查询 l---r 区间内有没有重复的数,有的话输出任意的,没有的话输出ok
分析:上去一看觉得这个题目可以不用线段树做,因为它是静态的,想了一个方法后来发现时不对的,后来规规矩矩用线段树了。
这个题目不能直接用线段树,否则的话无法...
分类:
其他好文 时间:
2014-08-15 19:42:39
阅读次数:
256
HDU 4902 Nice boat(数据结构-线段树)
题目大意:
给定n个数,m个操作,”1 L R X“ 表示把LR区间的数同时置为X,"2 L R X "表示把LR区间大于X的数比如Y置为gcd(X,Y)。
解题思路:
区间操作,一下子就想到了线段树,但是注意线段树的优化,只要维护记录最大值的maxc,以及bool记录这段是否相等这两个变量即可,详细还请参照我的代码。...
分类:
其他好文 时间:
2014-08-15 19:40:09
阅读次数:
339
题目大意:
两种括号匹配,求最长的匹配长度。
思路分析:
状态方程:dp [i][j] 表示区间 i ~ j 之间最长的匹配长度。
转移方程:dp [i][j] = max (dp[i+1][j] , dp[i] [j-1 ] , dp[i+1][k-1] + dp[k+1][j] +2 (条件是i ,k 位置匹配))
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-15 18:01:59
阅读次数:
184
题目大意:
给你m个字符,其中有n种字符,每种字符都有两个值,分别是增加一个这样的字符的代价,删除一个这样的字符的代价,让你求将原先给出的那串字符变成回文串的最小代价。
思路分析:
状态方程:dp[i][j] 表示 区间 i-j是回文串的最小代价。
状态转移:
有三种情况。
1、 i+1 ~ j 已经是回文串了,那么对于 i 这个字符,要么删除掉,要么在这个回文串后面加一个 s...
分类:
其他好文 时间:
2014-08-15 17:55:39
阅读次数:
172
题目来源:URAL 1470. UFOs
题意:求三维区间和
思路:
#include
#include
using namespace std;
const int maxn = 130;
int a[maxn][maxn][maxn];
int b[maxn][maxn][maxn];
int n, q;
int lowbit(int x)
{
return x & -x;
}
...
分类:
其他好文 时间:
2014-08-15 16:02:59
阅读次数:
200
http://poj.org/problem?id=1177
求矩形的周长并,明确的一点是对于覆盖的边的长度忽略不计。
与求面积并类似,首先离散化,对矩形的每条横边从下往上扫描。扫描过程中要完成三个任务,更新相应的区间信息,求横边长,求竖边长。
节点信息:
l,r:左右区间编号
cnt:表示该区间是否被完全覆盖。cnt > 0 表示完全覆盖,否则不完全覆盖。
lp,rp...
分类:
其他好文 时间:
2014-08-15 14:43:08
阅读次数:
301
题意很简单了,对一个区间有两种操作:
1. "C A B C" Color the board from segment A to segment B with color C.
//A~B涂上颜色C
2. "P A B" Output the number of different colors painted between segment A and segment B (includ...
分类:
其他好文 时间:
2014-08-15 14:39:58
阅读次数:
292
题意:
给出一个图片,分成N×N个单元格,有M次操作,每次操作将(x,y)的值变为以(x,y) 为中心L(L为奇数)为边长的区域内的最小值和最大值的均值(floor((maximum+minimum)/2)),并输出该值。
分析:
明显的二维线段树的单点更新和区间查询,维护最值。
更新肯定是先在二维内找到叶子节点的那棵线段树,然后再在这棵树上更新,这部分很简单,就想成一维的写。但是这毕竟是二维线段树,二维的部分也需要维护,当然这部分比较麻烦,我们先想一想一维的:一维的节点维护的是值,我们只要根据它的左右儿子...
分类:
其他好文 时间:
2014-08-15 12:58:58
阅读次数:
224
http://acm.hdu.edu.cn/showproblem.php?pid=4630
重新认识了树状数组。
首先要记住那个树形的图,然后+或-lowbit(i)是自己根据具体问题设定的,不要死于+或者-,
树状数组的特点:
1、+lowbit(i)可以到达包含结点i的上一层父节点 所以用于值的更改
2、-lowbit(i)可以到达不包含i所代表区间的上一层父节点 所以用于...
分类:
其他好文 时间:
2014-08-15 12:51:08
阅读次数:
233