lambda QAQ

fmap :: (q -> a) -> f q -> f a

UVA 1728 Toll Management IV

一个n(n≤104)n(n \le 10^4)个点m(m≤105)m (m \le 10^5)条带权(0≤Ci≤1000)(0 \le C_i \le 1000)边的无向图,给出原图的一个最小生成树(输入的前n−1n-1条边)对于第ii条边,定义AiA_i和BiB_i为在不改变最小生成树形态下增加...

2016-09-23 15:08:04

阅读数:282

评论数:0

Hdu 5861 Road

考虑到每一个线段只有一次进入答案的机会和离开答案的机会用线段树求得每个线段进入答案和离开答案的机会暴力计算即可实践复杂度 O(n×log(m)+n)O(n \times log(m) + n)#include<bits/stdc++.h> using namespace std;con...

2016-08-19 10:41:02

阅读数:367

评论数:0

Hdu 5828 Rikka with Sequence

#include<bits/stdc++.h> using namespace std;#define LL long longstruct Info{ LL same,siz,sum; Info(LL x = 0){ same = sum = x; ...

2016-08-11 21:54:47

阅读数:227

评论数:0

hdu 5716 GCD

一句话题面,询问区间GCD和区间GCD等于所询问的区间GCD的区间个数数的个数1e5,数的大小1e9区间GCD满足区间加法,所以线段树搞搞就好了关于第二个询问,需要实现预处理GCD 为x的区间的个数具体的,考虑固定左端点的情况,不难发现gcd是随着区间长度的增加而递减的,形象的来说就是一些线段(不...

2016-07-20 12:59:58

阅读数:342

评论数:0

Astar Round2A 1003 Snacks

将树按照dfs序映射到区间上,每个点的值代表这个点到根的路径上的点权和因为子树的dfs序连续,所以查询其实就是查询区间最大值更新的话就是给区间加一个数(因为更新了x的点权的时候会对它的子树中的所有点有影响这一些都可以用线段树维护具体见代码#include<cstdio> #includ...

2016-05-22 20:51:56

阅读数:133

评论数:0

hdu 5238 Calculator

某线段树打模拟赛的时候不知道区间该维护什么东西使其变得可合并,然后就放着了赛后看了题解才知道这个题维护的是映射关系,感觉也是十分的厉害考虑一个算式a+4(mod7)=ba + 4 \pmod{7} = b我们发现来(mod7)\pmod{7}的同余系中,会有以下对应关系其实这就是一个映射具体的,...

2016-05-19 20:09:54

阅读数:222

评论数:0

hdu 4288 Coder

线段树单点更新,查询总的区间下标(mod5)=3\pmod{5}=3的数的和先离散化一下然后每个区间存一下这个区间下标(mod5)=k(0≤k≤5)\pmod{5}=k(0\le k\le5)的数的和,这个区间数的个数区间合并的时候考虑左区间数的个数然后怼起来就好了,具体见代码 #include&...

2016-05-18 15:47:11

阅读数:150

评论数:0

hdu 4578 Transformation

线段树支持给区间加cc,区间乘cc,区间的数都变成cc询问∑i=lrxi\sum\limits_{i=l}^rx_i,∑i=lrx2i\sum\limits_{i=l}^rx_i^2,∑i=lrx3i\sum\limits_{i=l}^rx_i^3写了4K的线段树。。区间节点维护区间和,区间平方和...

2016-05-18 13:44:24

阅读数:298

评论数:0

bzoj 1858 序列操作

有毒的线段树一个01序列,支持以下操作 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区间内的所有数全部取反,也就是说把所有的0变成1,把所有的1变成0 3 a b 询问[a, b]区间内总共有多少个 1 ...

2016-05-17 00:06:13

阅读数:204

评论数:0

hdu 1698 Just a Hook

hdu 1698 Just a Hook一个简单的线段树支持把某个区间内的点都改为z,求所有操作之后的区间和#include<bits/stdc++.h> using namespace std;const int maxn = 112345;int arr[maxn * 4]; in...

2016-05-03 15:37:18

阅读数:152

评论数:0

bzoj 3626 LCA

已经有写的很好的题解了 在这里就放一个代码吧 这样的题交上去1A的快感真是让人沉迷于此(逃 (第一发的CE不算 #include using namespace std; const int maxn = 52345; const int mod = 201314; const ...

2016-04-27 14:51:50

阅读数:163

评论数:0

Poj 2750 Potted Flower

普通的线段树 题面:一个环上每一个点都有一个权值,要求支持单点更新,查询最大连续子序列和 ps:查询的时候子序列的大小不能超过n,也就是不能把所有的数都选起来如果不是环上,是区间上的话,这题就解决了(如果不知道怎么做的话,看这里这个题和之前的那个题差别在于这题是一个环上的(废话! 如果要特判...

2016-03-17 18:32:15

阅读数:230

评论数:0

Poj 2886 Who Gets the Most Candies?

一个简单的线段树上二分+反素数 线段树上二分其实就是单点更新单点查询 具体的每一个节点保存他的所表示的区间内剩余的未出对的人数 然后给出一个人在队伍中的位置的话可以类似于splay往下找点的姿势去找到位置所对应的绝对位置(其实也就是这个节点在原区间所对应的位置 还有需要注意的是在删...

2016-03-16 19:44:31

阅读数:178

评论数:0

Poj 3694 Network

一句话题意:求一个无向联通图的桥的个数,动态加边

2016-02-24 10:10:27

阅读数:169

评论数:0

Hdu 5221 Occupation

算是一个简单的树剖+线段树(不过话说回来树剖也是经常和线段树一起(这个题应该叫做线段树在树上的简单应用(Orz 感觉自己的线段树(特别是区间更新这个地方)还是很不熟练 (观看下文需要一些简单的线段树知识,包括但不限于线段树的定义) 如果不考虑树上的部分的话,这个题要求我们维护...

2015-12-01 11:40:58

阅读数:204

评论数:0

Spoj 1716 Can you answer these queries III

(几乎一样的题和几乎一样的代码 #include #include #include using namespace std; const int maxn = 112345; #define LL long long const LL INFF = 0x3f3f3f3f3f3f3f...

2015-11-21 14:46:32

阅读数:179

评论数:0

spoj SPOJ 1043 Can you answer these queries I

犹记得最大子序列和有一个递归算法 就是对于每个区间,把它分为左右两个区间,并保存四个值(从左边第一个元素开始往右能达到的最大值(lmax),从右边第一个元素开始往左能达到的最大值(rmax),区间和(sum),最大子区间和(value)) 显然对于这个区间的最大值只有三种可能,左区间的最大和,...

2015-11-21 14:44:43

阅读数:427

评论数:0

Hdu 5316 Magician

求区间奇偶交错最大子序列 线段树模板题 单点更新,区间查询 就是区间合并的时候麻烦一点点,但是也不难 代码如下 #include #include #include using namespace std; #define LL long long const long long INFF...

2015-11-18 12:46:28

阅读数:218

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭