Mobile phoneshttp://poj.org/problem?id=1195 1 #include 2 #include 3 #define mt(a,b) memset(a,b,sizeof(a)) 4 const int M=1030; 5 class Two_Tree_Array {...
分类:
其他好文 时间:
2014-08-01 13:03:01
阅读次数:
168
题目大意:
对一个矩阵上的某个值进行修改,然后求出子矩阵的和。
思路分析:
这题discuss 上说二维线段树过不了。
所以二维树状数组搞。
理解树状数组的意义就是 1 - n 上所有的和。
然后两重循环。
#include
#include
#include
#include
#define maxn 1040
#define lowbit(x) (x&(-...
分类:
其他好文 时间:
2014-07-31 20:46:37
阅读次数:
201
本来是想找个主席树的题目来练一下的,这个题目虽说可以用主席树做,但是用这个方法感觉更加叼炸天第一次做这种离线方法,所谓离线,就在把所有询问先存贮起来,预处理之后再一个一个操作像这个题目,每个操作要求区间不同元素的个数,我盲目去查的话,某个元素在之前如果出现了,我把他算在当前区间也不好,算在之前的区间...
分类:
其他好文 时间:
2014-07-31 02:19:05
阅读次数:
252
UVA 11525 - Permutation
题目链接
题意:给定一个k个数字,求第n个全排列,由于n很大,输入的方式为∑k1Si?(K?i)!
思路:全排列,很容易看出,前面的si对应的就是数组中第k小的数字,那么问题变成每次找第k小的数字,然后去掉这个数字,这个用树状数组很容易实现
代码:
#include
#include
#define lowbit(...
分类:
其他好文 时间:
2014-07-30 17:25:44
阅读次数:
167
UVA 1513 - Movie collection
题目链接
题意:有一些光盘,一开始是n-1叠上去的(1最顶),现在每次抽出一张,要问这一张上面有多少张,然后把抽出来这张放到最顶,输出每次询问
思路:树状数组,数组维护每个位置下面有多少张光碟,这样每次拿出一张,就在相应位置-1就可以了,然后在最顶位置上多一个位置+1
代码:
#include
#include...
分类:
其他好文 时间:
2014-07-30 14:45:33
阅读次数:
186
HDU 1754 单点更新,区间查询最大值,水题……
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define mem(a,b) memset(a,b,sizeof(a))
#define lson i<<1,l,mid
#define rson i<<1|1,mid+1,r...
分类:
其他好文 时间:
2014-07-30 12:23:33
阅读次数:
252
Description
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until the seq...
分类:
其他好文 时间:
2014-07-30 12:22:33
阅读次数:
290
给定一个初始都为0的序列,有三种操作,前两种比较正常,一个是对某个位置的数add k,另一个是query区间和。然后比较麻烦的是第三个操作,把某个区间里面的每个值改成离它最近的Fibonacci数,如果存在左右两个离它近的,优先取左边数值小的一看到前两个操作马上就想上手敲树状数组,后来看到第三个就有...
分类:
其他好文 时间:
2014-07-30 00:56:52
阅读次数:
211
UVA 1428 - Ping pong
题目链接
题意:给定一些人,从左到右,每个人有一个技能值,现在要举办比赛,必须满足位置从左往右3个人,并且技能值从小到大或从大到小,问有几种举办形式
思路:利用树状数组处理出每个位置左边比它小的个数和右边比他小的个数和,那么左边和右边大就也能计算出来,那么比赛场次为左边小*右边大+左边大*右边小。
代码:
#include
...
分类:
其他好文 时间:
2014-07-29 14:52:16
阅读次数:
154
题意:
允许单点修改的区间第K值为题
思路:
树状数组套主席树 详见注释
按照kuangbin大神的代码学习 虽然还是理解得不透彻TAT
代码:
//树状数组套主席树
#include
#include
#include
using namespace std;
#define N 60010 //数组和哈希表大小
#define M 10010 //操作数
#de...
分类:
其他好文 时间:
2014-07-29 14:35:48
阅读次数:
164