码迷,mamicode.com
首页 >  
搜索关键字:树状数组    ( 3763个结果
HDU 4630 No Pain No Game 树状数组+离线操作
题意:给一串数字,每次查询[L,R]中两个数的gcd的最大值。解法:容易知道,要使取两个数让gcd最大,这两个数最好是倍数关系,所以处理出每个数的所有倍数,两两间根据倍数关系形成一条线段,值为该数。那么每次查询[L,R]之间两数gcd的最大值即为查询[L,R]中值最大的线段,离线所有的查询数据,然后...
分类:其他好文   时间:2014-09-23 21:45:35    阅读次数:249
hdu 2492(树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2492 Ping pong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4011    Accepted Submission(...
分类:其他好文   时间:2014-09-23 20:49:15    阅读次数:286
树状数组
需要维护前缀和 S[i]=A[1]+A[2]+...+A[i]。 引入 “树状数组”,它的修改与求和都是 O(logn) 的,效率很高。
分类:其他好文   时间:2014-09-22 18:09:02    阅读次数:187
士兵杀敌(二)
士兵杀敌(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。 南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。 ...
分类:其他好文   时间:2014-09-21 20:49:31    阅读次数:225
POJ 2763 Housewife Wind 树链剖分
题目大意:给出一棵无根树。开始的时候你在1号节点。有两种操作:1.求你的位置到x的位置的距离,然后你走到x点。2.把第x条边边权改成y。 思路:裸地树链剖分。当然正解不是树链剖分,是DFS序+树状数组。没时间想太多就写了个链剖。 CODE: #include #include #include #include #define MAX 200010 #defi...
分类:Windows程序   时间:2014-09-20 14:09:38    阅读次数:303
HDU1556Color the ball【标号法||树状数组】
大意:N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 100005; 7 int num[maxn]; 8 9 int ...
分类:其他好文   时间:2014-09-19 20:54:26    阅读次数:266
BestCoder Round#8 1003
dp[i][j] 表示以i结尾的长度为j的递增子序列dp[i][j] = sum(dp[k][j]) ka[j]如果只是单纯的循环for(j=2; j a[j]) dp[i][j] += dp[k][j-1];时间复杂度是O(n * n * m) TLE但是k循环可以用树状数组来优化,...
分类:其他好文   时间:2014-09-19 19:07:35    阅读次数:210
HDU 1541 Stars 树状数组
看完题解自己敲了一遍 还需要加深理解吧#include#include#includeusing namespace std;int c[50000],num[50000];int N=32100;int lowbit(int x){ return x&(-x);}int sum(int x)...
分类:其他好文   时间:2014-09-18 22:01:34    阅读次数:141
树状数组
给定一个区间,如果要频繁修改该区间内的元素,且频繁查询该区间内任意小区间的元素之和时,可以用树状数组。普通的一次修改时间复杂度是O(1),而查询的时间复杂度是O(n). 树状数组的修改和查询的时间复杂度均为O(logn)给定区间1-->n,区间内对应的元素为a[i] (1 = 1) 5 {...
分类:其他好文   时间:2014-09-18 20:29:04    阅读次数:168
poj 2828 Buy Tickets(树状数组 | 线段树)
题目链接:poj 2828 Buy Tickets 题目大意:给定N,表示有个人,给定每个人站入的位置,以及这个人的权值,现在按队列的顺序输出每个人的权值。 解题思路:第K大元素,很巧妙,将人入队的顺序倒过来看,就是纯第K大问题,然后用树状数组还是线段树就都可以做了。 C++ 线段树#include #include #include using namespace std;...
分类:其他好文   时间:2014-09-18 19:03:14    阅读次数:196
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!