导航

随笔分类 -  线段树

摘要:/* 题意:给定一个长度为n的序列a。 两种操作: 1.给定区间l r 加上某个数x. 2.查询区间l r sigma(fib(ai)) fib代表斐波那契数列。 思路: 1.矩阵操作,由矩阵快速幂求一个fib数根据矩阵的乘法结合率,A*C+B*C=(A+B)*C; 这样可以通过线段树维护某个区间2*1矩阵的和。 2.时限卡的紧...用我的矩阵乘法板子TLE了。所以把板子里边的三重循环改成手工公... 阅读全文

posted @ 2016-10-01 09:37 tun~ 阅读(888) 评论(0) 推荐(0)

摘要:题意: 给n个奖池,t张彩票,q次操作。 每个奖池的奖金为pi。 每个奖池现有的彩票的数量为ai,保证ai>=1; q次操作,每次有两种,第i个奖池的现有彩票数量加一,或减一。 不允许投票的数量多于奖池数量的二分之一。 保证: n,t,q<=2e5 ai<=1000 pi<=1000 求在采用最佳策 阅读全文

posted @ 2016-03-12 16:14 tun~ 阅读(596) 评论(0) 推荐(0)

摘要:题意:给一颗树,根节点深度为1,每一个节点都代表一个子母。数据输入:节点数 询问数从编号为2的节点开始依次输入其父节点的编号(共有节点数减1个数字输入)字符串有节点数个小写字母接下来询问a b代表以a为根节点的子树在深度为b(包含)的范围内所有节点的字母能否组成回文串。能输出Yes,不能输出No思路... 阅读全文

posted @ 2015-08-17 10:33 tun~ 阅读(305) 评论(0) 推荐(0)

摘要:受虐的晚上==感谢大神的博客http://www.cnblogs.com/crazyapple/p/3233149.html题意:第一行是整数N,代表队伍一共有N个人。然后N行,第一个数字代表N进队的时候前边有几个人,第二个数字是第I个人的标识符。求最后队伍的顺序,一次输出标识符。思路:思路是大神的... 阅读全文

posted @ 2015-05-25 21:46 tun~ 阅读(148) 评论(0) 推荐(0)

摘要:题意:有一块矩形板,依次给定高,宽,和要贴的广告条的数量。广告条的高度都是1,宽度依次给定。问:假设我们先按照从最上边开始贴,再按照从左边开始贴的顺序贴广告条,输出每条广告条应当贴在哪一行。如果不能贴上,输出-1思路:将广告条的行数看作线段树的元素(这里有坑,因为题目所给的10^9次方是不能被记录下... 阅读全文

posted @ 2015-05-24 14:31 tun~ 阅读(119) 评论(0) 推荐(0)

摘要:(中文题意)第二道线段树。同样是水题。但是一开始我把线段树区间段代表的数字简单理解成各个区间的数字的和。但是这道题让我知道这个数组记录的数字是根据需要定义的。本题区间段记录的是该区间段的最大值。#include#includeusing namespace std;int newcha,subb,m... 阅读全文

posted @ 2015-05-23 12:51 tun~ 阅读(114) 评论(0) 推荐(0)

摘要:(中文题意)线段树水题。我写的第一个线段树。re是因为数组开小了。线段树的数组下次开3*n,而不是2*n。#include#includeusing namespace std;int n,tar,val,ans;bool ok;struct tr{ int l,r,num;};int tmp... 阅读全文

posted @ 2015-05-23 12:48 tun~ 阅读(208) 评论(0) 推荐(0)

摘要:题意:给定一串数字的个数n,输入这串数字(每个数字都是从0到n-1不重复)。每次可以把这串数字的前边几个数平移到末尾。问所有情况下此串最少存在多少对逆序数。做线段树专题的时候找到这道题。一开始各种不懂(屌丝第一次明白什么是逆序数)。后来看了大神的博客之后明白了怎么搞平移。但是最终还是决定写暴力了。#... 阅读全文

posted @ 2015-05-23 12:44 tun~ 阅读(151) 评论(0) 推荐(0)