
数据结构
文章平均质量分 65
indiewar
擅长各种乱搞
展开
-
hdu敌兵布阵1166(线段树 单点更新)
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 114282 Accepted Submission(s): 47893Problem Descr...原创 2018-06-11 23:56:15 · 214 阅读 · 0 评论 -
2018 UESTC Training for Data Structures--并查集
I.不如把并查集加上个计数功能吧 给并查集加上计数功能#include <bits/stdc++.h>using namespace std;const int MAX = 100010;int uset[MAX];int num[MAX];void makeSet(int s){ for(int i = 0; i < s; i++) ...原创 2018-07-15 11:11:18 · 294 阅读 · 0 评论 -
POJ3468 A Simple Problem with Integers(zkw线段树lazy标记)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 140421 Accepted: 43534 Case Time Limit: 2000MS DescriptionYou have N integers, A1, A2, … , A...原创 2018-08-17 10:09:06 · 200 阅读 · 0 评论 -
2019南昌邀请赛网络赛 I.Max answer
单调栈维护左边和右边第一个大于它的位置用ST表维护区间前缀和的最大值和最小值当前点小于0的时候就是后半部分Smin−前半部分Smax后半部分Smin-前半部分Smax后半部分Smin−前半部分Smax大于0的时候就是后半部分Smax−前半部分Smin后半部分Smax-前半部分Smin后半部分Smax−前半部分Smin#include <bits/stdc++.h>using ...原创 2019-04-21 01:14:07 · 379 阅读 · 0 评论 -
P3674 小清新人渣的本愿 (bitset+莫队)
给你一个序列a,长度为n,有m次操作,每次询问一个区间是否可以选出两个数它们的差为x,或者询问一个区间是否可以选出两个数它们的和为x,或者询问一个区间是否可以选出两个数它们的乘积为x ,这三个操作分别为操作1,2,3对于操作3,我们可以很容易通过枚举约数得到。离线操作,考虑莫队对于操作1,询问实际上问的就是区间是否存在a和x-a,因为数据范围较小,用bitset维护每个值对于操作2,考虑一...原创 2019-08-06 10:30:54 · 214 阅读 · 0 评论 -
HDU6703 array(权值线段树)
考虑建权值线段树,那么线段树存的值就是它的坐标,考虑到答案一定存在且最大值为n+1n+1n+1,可以多加一个点n+1n+1n+1对于操作1 (1,x)(1,x)(1,x),直接单点修改位置s[x]s[x]s[x] 为n+1n+1n+1(s[x]为初始位置x的值)对于操作2 (2,r,x)(2,r,x)(2,r,x),要查询区间[x,n+1][x,n+1][x,n+1]内第一个大于rrr的位置,...原创 2019-08-24 21:20:24 · 307 阅读 · 0 评论