关闭
当前搜索:

[树状数组] 洛谷 P3616 富金森林公园

达成成就 noip题想不出! 我是怎么做到想去写cdq分治加并查集的 还写不出来 数据结构学傻系列 其实是noip题 这样的话高度一样怎么办 我们把一个高度放大成一个高度区间就可以避免有相同数字了#include #include #include using namespace std;inline char nc(){ stat...
阅读(248) 评论(0)

[LCT 树状数组] HDU 5333 Undirected Graph

这个题跟 [LCT 主席树] BZOJ 3514 Codechef MARCH14 GERALD07加强版有异曲同工之妙 考虑询问按右端点排序 对于一条边 边的权值定义为较小的一端的编号 那么显然权值大的边更有利 对于每个右端点 我们加入所有新增的边 维护最大生成树 询问么 就是n-生成树中编号大于等于左端点 因为这样的边会把两个联通块连在一起#include #...
阅读(125) 评论(0)

[区间GCD预处理 树状数组 离线] HDU 5869 Different GCD Subarray Query

首先确定一个右端点 向左做后缀gcd的值是不超过log的 因为gcd必然递减 每次至少除以2 那么可以对每个右端点预处理出来 然后要求区间不同的gcd个数 这里要用到1878: [SDOI2009]HH的项链的技巧 用树状数组离线处理 按右端点的顺序处理询问 令pos[x]等于x这个值出现的最靠右的位置 显然这里是对计算贡献最有利的 然后用树状数组维护下 对于某个位置 有多少个pos的取值...
阅读(135) 评论(0)

[广义后缀自动机 set启发式合并 || dfs序 树状数组 离线] BZOJ 2780 [Spoj]8093 Sevenk Love Oimaster

可以直接用[广义后缀自动机] BZOJ 3473 字符串 & BZOJ 3277 串 & Codeforces 204E #129 (Div. 1) E. Little Elephant and Stringsset启发式合并的方法 还有一种是离线做法 通过dfs序转化为一段区间内不同数字的数量 就是 [SDOI2009]HH的项链的经典做法啦#include #includ...
阅读(178) 评论(0)

[点分树 树状数组] BZOJ 3730 震波

线段树T成翔 只能用vector写BIT 痛苦的回忆啊 思路不难想 先建出点分树 然后每个点对于他掌管的点的距离与权值建成BIT 然后每次查询就是爬点分树 这里有点注意 往树上爬的时候不能中途break,不会因为有一个祖先爬不上去就终止,说不定有一个爷爷比爸爸还近 #include #include #include #include using namespace std;...
阅读(156) 评论(0)

[AC自动机 fail树 树状数组] BZOJ 2434 [NOI2011] 阿狸的打字机

PoPoQQQ:http://blog.csdn.net/popoqqq/article/details/41518097 fail树不难想 看到两个条件马上想到树套树 汗 后来发现可以离线 树状数组 #include #include #include #include using namespace std; inline char nc() { static char bu...
阅读(172) 评论(0)

[莫比乌斯反演 树状数组] BZOJ 3529 [Sdoi2014]数表

#include #include #include #include using namespace std; typedef pair abcd; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p...
阅读(128) 评论(0)

[树 树状数组] SRM659 1100pts

题目大意: 题解: #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return...
阅读(150) 评论(0)

[树状数组 线段树] BZOJ 3333 排队计划

Po姐:http://blog.csdn.net/popoqqq/article/details/40392219?utm_source=tuicool&utm_medium=referral #include #include #include using namespace std; typedef long long ll; inline char nc() { static ...
阅读(157) 评论(0)

[dfs序 树状数组] BZOJ 1103 [POI2007]大都市meg

大水题 据说树链剖分可暴力过? #include #include #include using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) re...
阅读(164) 评论(0)

[扫描线 树状数组 随机数列 优化] BZOJ 2221 [Jsoi2009]面试的考验

%%%JSB #include #include #include using namespace std; typedef long long ll; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1=...
阅读(577) 评论(0)

[整体二分 树状数组套线段树] BZOJ 2674 Attack

大暴力啊 96s+卡过  //本地明明44s+ //要了数据才知道相对顶点可以不是左下和右上 #include #include #include using namespace std; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+frea...
阅读(288) 评论(0)

[树状数组] BZOJ 4240 有趣的家庭菜园

%%%POPOQQQ 从小到大枚举高度,由于无论将这株草移动到左侧还是右侧都对比它高的植物没有影响,因此贪心选择代价最小的方向即可  故答案为∑min(a[1…i-1]中大于a[i]的数的数量,a[i+1…n]中大于a[i]的数的数量)  #include #include #include using namespace std; typedef long long ll; ...
阅读(336) 评论(0)

[主席树 树状数组套权值线段树] BZOJ 1146 [CTSC2008]网络管理Network

CTSC的裸题么 先建主席树  然后修改么 可以发现对整棵子树有影响 对每个点记录每个权值的改变量 然后用差分的思想 用树状数组区间修改 单点查询 A掉后发现不用打主席树 可以最初的权值也可以树状数组上改  结果稍微改下程序 慢了5倍233 #include #include #include #define V G[p].v using namespace std;...
阅读(490) 评论(0)

[树状数组套权值线段树] BZOJ 1901 Zju2112 Dynamic Rankings

模板题吧 很多题解都是套主席树 没必要吧 #include #include #include #define V G[p].v using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=bu...
阅读(314) 评论(0)

[乱搞 树状数组] BZOJ 4548 小奇的糖果 && BZOJ 3658 Jabberwocky

跟悬线法有点像 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc() { static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread...
阅读(644) 评论(0)

[dfs序 树状数组] BZOJ 4034 [HAOI2015]T2

两个log可以树链剖分 day2听课时惊闻一个log的做法 但我打low了,并不快... #include #include #include #define V G[p].v using namespace std; typedef long long ll; inline char nc() { static char buf[100000],*p1=buf,...
阅读(297) 评论(0)

[扫描线 树链剖分 树状数组] BZOJ2758 [SCOI2012]Blinker的噩梦

扫描线  一般扫描线的做法就是想象一根线向某个方向扫过,进入的进入,出去的出去,用一个set维护序列或是结合线段树,当然最恶心的就是加上计算几何 但是落实到这题上就是各种鬼畜乱搞,只能膜大神 省选前做难题的结果是——到处翻题解,程序越改越像 “题意:平面上有n个多边形(凸包和圆)。任意两个多边形AB只有两种关系:(1)A包含B或者B包含A;(2)AB的公共面积为0。每个多边形有一个...
阅读(1020) 评论(0)
    个人资料
    • 访问:307461次
    • 积分:12383
    • 等级:
    • 排名:第1310名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:54条
    最新评论