随笔分类 -  线段树

摘要:题目大意: X年是自Y年以来降雨量最多的”。它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年 如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890 则可以说“2005年是自2003年以来最多的” 但不能说“2005年是自200 阅读全文
posted @ 2018-03-10 13:54 jack_yyc 阅读(152) 评论(0) 推荐(0)
摘要:搞完了线段树专题 拿几道还比较有意义的题来写一下博客吧 还是先%棒神为好 ① 小白逛公园 bzoj 1756 题目大意: 一个序列 支持单点修改和区间内连续子段最大值 思路: 对于线段树上每一段维护四个东西 每一段从左起的最大值 从右起的最大值 这一段的sum 这一段的答案 然后合并的时候可以很容易 阅读全文
posted @ 2018-02-25 11:39 jack_yyc 阅读(252) 评论(0) 推荐(0)
摘要:题目大意: 一个数列 支持两种操作 1 把区间内的数变成他们自己的约数个数 2 求区间和 思路: 可以想到每个数最终都会变成2或1 然后我们可以线段树 修改的时候记录一下每段有没有全被修改成1或2 是的话就不修改了 不是就暴力修改 因为每个数被修改的次数很小 1 #include<iostream> 阅读全文
posted @ 2018-02-14 16:49 jack_yyc 阅读(295) 评论(0) 推荐(0)
摘要:题目大意: 一副牌有N张不同的牌,编号依次为1到N 由于是新牌,所以牌是按照顺序排好的,从牌库顶开始,依次为1, 2,……直到N,N号牌在牌库底 为了发完所有的牌,进行N次发牌操作,在第i次发牌之前,连续进行R_i次销牌操作,R_i由输入给定。请问最后玩家拿到这副牌的顺序是什么样的 举个例子,假设N 阅读全文
posted @ 2018-02-07 08:44 jack_yyc 阅读(147) 评论(0) 推荐(0)
摘要:题目大意: 一个黑白方格图 支持单点修改 查询黑色与白色联通快个数 思路: 可以把每一行压为一个点 使用线段树来维护 然后两行合并的时候使用并查集来合并 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cs 阅读全文
posted @ 2018-02-05 22:18 jack_yyc 阅读(184) 评论(0) 推荐(0)
摘要:终于AK了,虽然第三题主要是搞月想出来的 T1: n个1*1的小方块,把这些小方块拼成一个图形,使这个图形周长最小 思路: 枚举拼成长方形的长为i,宽为n/i 可得面积 (i+n/i+(bool)(n%i))*2 1 #include<iostream> 2 #include<cstdio> 3 # 阅读全文
posted @ 2017-11-04 16:13 jack_yyc 阅读(177) 评论(0) 推荐(0)
摘要:题目大意: 一些人要排队,开始时队为空 给定一些数对 表示这些人的状态 这些人按数对的顺序准备入队 其中每个数对第一个数a表示这个人来的时候站在当前队伍中a个人的后面,a=0时站在队伍最前面 第二个数b表示这个人的编号 求最终队伍的顺序,即依次输出他们的编号 思路: 首先可知最后一个人进入时 数对的 阅读全文
posted @ 2017-10-02 13:09 jack_yyc 阅读(131) 评论(0) 推荐(0)
摘要:题目大意: 一个空队列,两种操作 1.查询数列内末尾l个数的最大值 2.每次在数列末尾插入一个数,该数为输入的数和上一次查询的值之和对固定常数取模 思路: 很明显线段树 维护一个就好了 中间写错好多次 还需多练 1 #include<iostream> 2 #include<cstdio> 3 #i 阅读全文
posted @ 2017-09-30 17:56 jack_yyc 阅读(214) 评论(0) 推荐(0)