一周总结树状dp:在一棵树上进行状态转移,一般在树上遍历的时候,有返回到父节点的有不需要返回的,有无根树的遍历(即任意一点都可作为一个根),但状态方程的转移还是从父结点到儿子节点的递归转移。Hdu1296题意:求任意一个点作为根,求该树的半径两次dfs第一次求出以该点为根的最大距离和次大距...
分类:
其他好文 时间:
2014-08-17 10:20:42
阅读次数:
205
UVA 10869 - Brownie Points II
题目链接
题意:平面上n个点,两个人,第一个人先选一条经过点的垂直x轴的线,然后另一个人在这条线上穿过的点选一点作垂直该直线的线,然后划分出4个象限,第一个人得到分数为1,3象限,第二个人为二四象限,问第一个个人按最优取法,能得到最小分数的最大值,和这个值下另一个人的得分可能情况
思路:树状数组,可以枚举一点,如果能求出...
分类:
其他好文 时间:
2014-08-16 23:51:11
阅读次数:
531
UVA 11423 - Cache Simulator
题目链接
题意:题目讲的大概就是几个cash,每次操作可以加入一个或一些数据,如果数据之前有就是hit,命中后的数据就不会消失,如果没有就miss,当容量超过cash容量时,就会把之前最早没命中的一个丢掉,每次START就执行这些命令,计算miss次数并输出
思路:由于最多就2^24的数据,所以可以开一个树状数组,每个位置表...
分类:
其他好文 时间:
2014-08-16 21:11:01
阅读次数:
211
看着题意:[1,i]中等于a[i]的个数要大于[,jn]中等于a[j]的个数 且i
int n;
int aa[1000000 + 55];
int bb[1000000 + 55];
int c[1000000 + 55];
map mp;
ll lowbit(ll x) {
return x&(-x);
}
void add(int i,int val) {
while...
分类:
其他好文 时间:
2014-08-16 21:09:01
阅读次数:
194
题目链接题意:给一个n个数的序列a1, a2, ..., an ,这些数的范围是0~n-1, 可以把前面m个数移动到后面去,形成新序列:a1, a2, ..., an-1, an (where m = 0 - the initial seqence)a2, a3, ..., an, a1 (wher...
分类:
其他好文 时间:
2014-08-16 21:00:01
阅读次数:
188
题目链接题意:给出一些数a[n],求(i, j),i f(j, n, a[j])。f(lhs, rhs, x)指在{ [lhs, rhs]范围中,a[k]的值=x }的数量。1.f(1, i, a[i])就是指a[i]前面包括a[i]的数中,有几个值=a[i]。2.f(j, n, a[j])就是指a...
分类:
其他好文 时间:
2014-08-16 19:46:50
阅读次数:
271
UVA 1406 - A Sequence of Numbers
题目链接
题意:给定一些数字,每次操作
C x 表示所有数字加上x
Q x 表示答案加上与2x进行且操作不为0的个数
E 结束,并输出答案
思路:树状数组,首先观察,对于每次查询x而言,只有前x位是是有用的,所以可以开16个树状数组,每个数组表示数字对应前x位下的数字,然后就可以搞了,已经现在加过值为sum,...
分类:
其他好文 时间:
2014-08-16 17:10:20
阅读次数:
227
Codeforces Round #261 (Div. 2)题意:给出数组A,定义f(l,r,x)为A[]的下标l到r之间,等于x的元素数。i和j符合f(1,i,a[i])>f(j,n,a[j]),求i和j的种类数。题解:使用树状数组统计小于某数的元素数量。我们可以先把f(1,i,a[i])和f(j...
分类:
其他好文 时间:
2014-08-16 17:04:40
阅读次数:
241
A. Laptops题意:给两个数列,问是否存在i,j,是的a[i]b[j]题解:先把一维排序,就是问是否存在逆序对。我写了个树状数组。。。貌似从a小到大扫一遍保存遇到的b的最大值即可代码: 1 var s,a,b,c:array[0..150000] of longint; 2 i,n,m...
分类:
其他好文 时间:
2014-08-16 13:43:40
阅读次数:
225
题目链接:Codeforces 459D Pashmak and Parmida's problem
题目大意:给定一个序列,定义f(l,r,x)为l≤k≤r并且ak=x的k的个数,求1≤ij≤n的情况下,f(1,i,ai)f(j,n,aj)的个数。
解题思路:预处理出f(1,i,ai),f(j,n,aj)值,然后用树状数组维护个数。
#include
#include
#inc...
分类:
其他好文 时间:
2014-08-16 11:11:00
阅读次数:
199