ACM_线段树
luke2834
A junior researcher~
展开
-
POJ3468 区间加,区间求和 线段树模板
好久没写线段树了,手有点生。。。更新的时候居然忘了更新sum集。。。最近要多练练线段树了。。。#include #include #include #include #include using namespace std;const int maxn = 100005;typedef long long ll;ll addv[maxn<<2];ll sumv[m原创 2015-04-12 08:55:02 · 590 阅读 · 0 评论 -
HDOJ 5360 优先队列&简单线段树
题意 邀请n个人去玩,每个人接受邀请的条件是当前已接受邀请的人数m >= li && m 思路 这里给两个思路吧。。。比赛时想了个线段树的思路,写起来麻烦些,结果0写成了1,T掉了,还以为是复杂度估错了。。。没想到死循环了。。。醉了。。。总体思路比较简单就是贪心,枚举人数,选择符合条件的人里面,R最小的即可。所以主要问题是怎么快速的找到当前符合条件的人里,R最小的那个人,这里给两个方案。原创 2015-08-09 17:23:45 · 384 阅读 · 0 评论 -
Codeforces 609F Frogs and mosquitoes 二分+简单离散化线段树+Multimap
题意有n青蛙和m蚊子(n,m<=1e5),青蛙两个参数,位置xi,舌头长度ti蚊子两个参数,位置pj,权值bj只有当xi+ti>=pj且xi <= pj时,第i只青蛙才能吃到第j只蚊子。如果第j只蚊子能被多只青蛙吃到,那么xi最小的青蛙会把这只蚊子吃了每次青蛙吃了某只蚊子以后,ti会增加蚊子的bj蚊子会按输入的顺序到来,如果没一下没吃掉,蚊子还是会落在原位不动,即蚊子有可能之后被吃掉输原创 2016-01-28 09:56:00 · 855 阅读 · 0 评论 -
Codeforces 620E New Year Tree dfs + 线段树(区间查询+区间置数) + 位运算
题意给你一棵树n(4e5)个节点,每个节点有一种颜色(60种以下的颜色)有两种操作,修改一棵子树所有节点的颜色为c查询,一颗子树下有多少种颜色思路先考虑,如果是在一个数组里,每次修改一个区间和查询一个区间怎么做?基本想法,就是线段树记录下每个区间内的颜色都有哪些,然后就可以归并了由于只有60种颜色,我们可以用位压缩编码,然后归并的时候,就是按位取或即可所以,这棵线段树维护的就是一个取原创 2016-01-30 14:41:01 · 571 阅读 · 0 评论