随笔分类 - 数据结构 线段树
    
    
    
    1
    
    
    
摘要:题目链接:http://codeforces.com/gym/101149/problem/G 题目大意:给你n对数字,为(a[i], b[i]),给你m对数字,为(w[i], c[i])。给n对数字找配对,这个配对必须是m中的,而且m中的每个只能和n中的配对一次。 配对条件,w[i]>=a[j],
        阅读全文
            
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5572 Chiaki has n intervals and the i-th of them is [li, ri]. She wants to delete some inte
        阅读全文
            
摘要:3585: mex Description 有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 有一个长度为n的数组{a1,a2,...,an}。m次询问,每次询问一个区间内最小没有出现过的自然数。 Input 第一行n,m。 第二行为n个数。 从
        阅读全文
            
摘要:3339: Rmq Problem Description Input Output Sample Input 7 5 0 2 1 0 1 3 2 1 3 2 3 1 4 3 6 2 7 Sample Output 3 0 3 2 4 HINT Source By Xhr By Xhr http:/
        阅读全文
            
摘要:http://codeforces.com/contest/787/problem/D 题目大意:有n个点,三种有向边,这三种有向边一共加在一起有m个,然后起点是s,问,从s到所有点的最短路是多少? 第一种边:u->v w 表示节点u到v有连接一条有向边,权值为w 第二种边:u->[l,r] w 表
        阅读全文
            
摘要:http://acm.split.hdu.edu.cn/showproblem.php?pid=5029 题意:n个点的树,m次操作。每次操作输入L,R,V,表示在[L,R]这个区间加上V这个数字。比如[1,2]加上1,[1,3]加上1,那么1这个点就是{1,1},2也是{1,1},3是{1}。全部
        阅读全文
            
摘要:4448: [Scoi2015]情报传递 Description 奈特公司是一个巨大的情报公司,它有着庞大的情报网络。情报网络中共有n名情报员。每名情报员口J-能有 若T名(可能没有)下线,除1名大头日外其余n-1名情报员有且仅有1名上线。奈特公司纪律森严,每 名情报员只能与自己的上、下线联系,同时
        阅读全文
            
摘要:codeforces Good bye 2016 E 线段树维护dp区间合并 题目大意:给你一个字符串,范围为‘0’~'9',定义一个ugly的串,即串中的子串不能有2016,但是一定要有2017,问,最少删除多少个字符,使得串中符合ugly串? 思路:定义dp(i, j),其中i=5,j=5,因为
        阅读全文
            
摘要:题目大意:有n个区间,求k个区间,使得这k个区间相交的区间内数字之和最大。数列的数字均>=0 优先队列思路: 按照左端点sort,然后枚举左端点,假设他被覆盖过k次,然后用优先队列来维护最右端即可。 //看看会不会爆int!数组会不会少了一维! //取物问题一定要小心先手胜利的条件 #include
        阅读全文
            
摘要:题目大意:给你n个数,m个操作。 有两种操作: 1.U x y 将数组第x位变为y 2. Q x y 问数组第x位到第y位连续最长子序列的长度。 对于每次询问,输出连续最长子序列的长度 思路:用线段树维护上升序列,每个端点维护:左边连续递增的len,右边连续递增的len,中间连续递增的len,左边v
        阅读全文
            
摘要:http://codeforces.com/contest/722/problem/C 题目大意:给你一个串,每次删除串中的一个pos,问剩下的串中,连续的最大和是多少。 思路一:正方向考虑问题,那么就线段树+分类讨论一下就好了,然后代码中flag表示能否转移 //看看会不会爆int!数组会不会少了
        阅读全文
            
摘要:http://codeforces.com/contest/675/problem/E 题目大意:有n个车站,每个车站只能买一张票,这张票能从i+1到a[i]。定义p[i][j]为从i到j所需要买的最小票数。问sigma(p)的和是多少。 思路:感觉我的dp定义能力还是太弱了啊,我刚开始还定义成dp
        阅读全文
            
摘要:http://codeforces.com/contest/719/problem/E 题目大意:给你一串数组a,a[i]表示第i个斐波那契数列,有如下操作 ①对[l,r]区间+一个val ②求出[l,r]区间的和。 定义区间的和为该区间内每个a[i]所对应的斐波那契数列的和。 思路:线段树保存区间
        阅读全文
            
摘要:题目大意:给一个字符串,有插入和询问操作,每次往一个位置插入一个字符或者询问第p个位置的字符是什么。 思路:我们离线询问,逆向把所有的字符都插入给线段树,然后再查询就好了,每次都要记得插入线段树的最后的位置,然后要把这个位置给保存下来在O(1)查询即可。 //看看会不会爆int!数组会不会少了一维!
        阅读全文
            
摘要:题目大意:给一个数组a,他的顺序是严格的单调增,然后有如下三个操作 ①加入一个val到a数组里面去,加入的位置就是a[i-1]<val<a[i+1] ②删除一个a[i]=val的值 ③查询所有下标i%5=3的值 思路:线段树+离线 首先因为线段树中不支持添加、删除操作的,所以只能离线把所有的val离
        阅读全文
            
摘要:题目大意:给你一棵树,有n-1条边,每条边都有方向,每个顶点有权值,给出weak pair的定义是val[u]*val[v] <=k,u是v的祖先,问有多少对这样的顶点 思路:创建线段树,通过dfs动态创建,每次都不断更新。因为我们只能是根节点开始往下的,所以我们遍历到兄弟节点的之前要把其他的兄弟节
        阅读全文
            
摘要:所谓dfs序就是将之前的顺序进行修改,获得一个新的序列,然后再新的序列下进行一系列其他的操作 一般题目给你的都会是一棵树,然后点之间都是无关的,我们首要的任务就是先把这些序列重新排。然后再根据dfs的序列进行构造其他的树 ①CF Educational Codeforces Round 6E 将序列
        阅读全文
            
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1394 或者是我自己挂的专题http://acm.hust.edu.cn/vjudge/contest/view.action?cid=117125#problem/D 思路的话就是我们找出右边比他小的和左边比他小
        阅读全文
            
    
    
    
    1
    
    
    
	 
                     
                    
                 
                    
                
 
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号