---线段树----
文章平均质量分 84
HAI__嗨I起来
IT
展开
-
ZOJ 3911 线段树 区间更新查找,求素数个数
Prime QueryTime Limit: 1 Second Memory Limit: 196608 KB You are given a simple task. Given a sequence A[i] with N numbers. You have to perform Q operations on the given sequence.Here原创 2015-10-12 21:22:46 · 386 阅读 · 0 评论 -
POJ 2886Who Gets the Most Candies? 线段树+反素数求因子个数最多
点击打开链接题意:n个熊孩子按顺时针排列,每个人受伤都有一张牌,牌上有一个数字,从第k个孩子开始出队,出队的熊孩子卡上数字是K,则顺时针第k人是下一个出队的,负数则逆时针,第P个出队的会得到的糖果数是p的因子个数,输出得到最多糖果的人和他的糖果数,如果有多个,则输出最先出队的。思路:用线段树来存储整个区间中的剩余人的个数、然后用反素数来找因子数最多的人的出队的序号。反素数就是原创 2016-08-08 13:55:34 · 388 阅读 · 0 评论 -
POJ 3468 A Simple Problem with Integers 区间和更新,区间和查找
点击打开链接#include#include#include#include#include#include#include#define LL long long#define bug puts("***********");#define lson L,mid,ind<<1#define rson mid+1,R,ind<<1|1#define lind ind<<1原创 2016-08-08 14:11:21 · 222 阅读 · 0 评论 -
POJ 2750Potted Flower 线段树+dp 动态求环中的最大连续子序列和
点击打开链接题意:给定一个环形序列,进行在线操作,每次修改一个元素,输出环上的最大连续子列的和。并且答案不能为全部序列的和。思路:把环从一个地方,切断拉成一条直线,用线段树记录当前区间的非空最大子列和当前区间的非空最小子列。如果环上的数都是正整数,答案是:环上数的总和-根结点的非空最小子列;否则,答案是:max{根结点的非空最大子列,环上数的总和-根结点的非空最小子列},每次问原创 2016-08-08 14:07:30 · 455 阅读 · 0 评论 -
POJ 2777 Count Color 线段树染色问题+位运算表示状态
点击打开链接给一个固定长度为L的画板 最初的全部被初始化呢为1这个颜色有两个操作:C A B C:区间AB内涂上颜色C。P A B:查询区间AB内颜色种类数。思路:因为颜色的数量十分的少,所以可以用二进制的状态1 用位运算来进行状态的转移 state=state1|state2通过lazy数组进行操作首先要理解pushdown,与原创 2016-08-08 13:27:40 · 256 阅读 · 0 评论 -
POJ 2528 Mayor's posters 线段树+离散化技巧
题意:在墙上贴海报,海报可以互相覆盖,问最后可以看见几张海报思路:这题数据范围很大,直接搞超时+超内存,需要离散化:离散化简单的来说就是只取我们需要的值来用,比如说区间[1000,2000],[1990,2012] 我们用不到[-∞,999][1001,1989][1991,1999][2001,2011][2013,+∞]这些值,所以我只需要1000,1990,2000,2012就够原创 2016-08-08 13:17:07 · 254 阅读 · 0 评论 -
HDU 5239 Doom 线段树+找规律
import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String args[]){ //Scanner cin=new Scanner(System.in); BigInteger a=BigInteger.valueOf(5); Big原创 2016-05-20 21:28:13 · 287 阅读 · 0 评论 -
HDU 5592 线段树根据逆序数求原序列
ZYB's PremutationTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 758 Accepted Submission(s): 359Problem DescriptionZYB has a原创 2015-12-12 19:06:36 · 647 阅读 · 0 评论 -
CodeForces 339D 线段树 单点更新,记录深度
B - 1001Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64uSubmitStatusPracticeCodeForces 339DDescriptionXenia the beginner programmer has a sequence a, con原创 2015-10-31 18:29:34 · 620 阅读 · 0 评论 -
HDU 5726 求gcd=k的区间的个数 (二分+RMQ)
题意:给一个数组a,大小为n,接下来有m个询问,每次询问给出l、r,定义f[l,r]=gcd(al,al+1,...,ar),问f[l,r]的值 和 有多少对(l',r')使得f[l',r']=f[l,r]。n思路: 第一步比较简单,预处理一下,定义f[i][j]为:ai开始,连续2^j个数的最大公约数,所以f[1][0]=a[1],f[1][1]=gcd(a1,a2),f[1]原创 2016-09-13 21:27:15 · 411 阅读 · 0 评论