随笔分类 - 数据结构--线段树,树状数组
摘要:题:https://ac.nowcoder.com/acm/contest/5667/H 题意:给定空的容器multiset:MS,有q个操作,操作一为向MS中加入x,操作二为在MS删除x,操作三为询问在MS是否存在a,b与x能形成一个不退化的三角形。 分析:对于询问操作,有俩种情况,情况一是x作为
阅读全文
摘要:题:https://codeforces.com/contest/1359/problem/D 题意:给定一个序列,你可以选择一个区间[L,R],你需要remove掉其中最大的,再sum{L,R},问最大可能是多少。 分析:也就是说,我们可以枚举每个数ai作为最大值,然后再ai左边找前缀和最小的,在
阅读全文
摘要:题:https://codeforces.com/contest/1354/problem/D 题意:有个multiset,开始有n个数,有俩种操作,1、加入ki。2、删除集合中第k小的,问最后若这个集合大小不为0输出任意一个数,否则输出0; 分析:由于内存要求,不可用splay之类的数据结构,也有
阅读全文
摘要:题:https://codeforces.com/gym/100739/problem/A 题意:俩个操作,见标题。 分析:1、区间异或我们肯定要将序列的每个数进行二进制拆位+线段树,由题目要求只需拆出10位; 2、对于查询操作,我们可通过区间[L,R]中每个二进制位上区间异或和为1的子区间有多少个
阅读全文
摘要:学习粗:https://www.cnblogs.com/qq2210446939/p/12572525.html 模板: #include<iostream> #include<algorithm> using namespace std; const int maxn=; typedef long
阅读全文
摘要:题:https://codeforces.com/problemset/problem/242/E?csrf_token=e91633dfd98d038f51cc388731fe3f4d 题意:俩个操作,操作1:(l,r,x),区间[l,r]的数全部异或上x。操作2:(l ,r)输出区间[l,r]和
阅读全文
摘要:题:http://acm.hdu.edu.cn/showproblem.php?pid=4638 题意:题意为询问一段区间里的数能组成多少段连续的数。 分析:我们先从左到右地添加数,再假定添加进去的话那么连续段数就加1,由此我们加入一个数x后,要是x-1或x+1在这之前就已经加进去了,那么连续段数就
阅读全文
摘要:D题:https://codeforces.com/contest/1321/problem/D 题意:题目给个有向图,然后给一段序列,我们要沿着这个序列走,问走的过程中当前点到t的最短路会重构多少次,输出最小最大可能 分析:终点是不变的,我们在按照序列走到某个位置的时候,到终点有若干条长度相同的最
阅读全文
摘要:题:https://codeforces.com/contest/1311/problem/F 题意:给定x轴上的点以及他们的速度v,只在x轴上运动,求最小的dis之和,注意,这里的时间是可随意的,比如对于其中一个点 i 来说,只要其他点运动到离自己距离最小即可,而不是同步运动 分析:对于一对点 i
阅读全文
摘要:题意:给出n,和m表示有n天,m块区域,每块区域都有一定数论的动物数量,k表示可以在这一天中观察[x,max(x+k-1,m)]的区域内的动物,有俩台相机,一台只能在偶数天用,另一台则是在奇数天用,每用一次就得在那个区域内待俩天,相邻的要是有重复的区域,该区域内的动物数只计数一次,问最多有可能的动物
阅读全文
摘要:面积并 3个要素:1、离散化,因为坐标可以是浮点数,有些题可能距离很长 2、扫描线,将每个矩形的俩条平行与x轴的俩条边存到数组里,标记为上边和下边,每次扫描到下边的时候,就将这一段统计起来,扫描到下边的时候就将之前的统计去掉; 3、线段树,管理矩形的这些边在x轴方向上的有效距离,实际操作就把这些边一
阅读全文
摘要:D枚举子集 题:https://codeforces.com/contest/1288/problem/D题意:给定n个序列,每个序列m个数,求第i个和第j个序列组成b序列,b序列=max(a[i][k],a[j][k]),使得b序列最小值最大化,求达成条件的 i 和 j (i可等于j) 分析1:因
阅读全文
摘要:题:https://codeforces.com/contest/1284/problem/D 题意:给定n个1对的时间断,我是这么理解的,甲去参加a时间段的讲座,乙去参加b时间段的讲座,然后若这n对中若能挑出这样一个子集段:甲能参加第 i 个时间段的讲座而乙不能。就输出“NO”(注意,甲乙参加讲座
阅读全文
摘要:题目:https://open.kattis.com/problems/intersectingrectangles 题意::给你n个矩形,每一个矩形给你这个矩形的左下角的坐标和右上角的坐标,然后问你这些矩形会不会相交,如果存在相交的点,输出1,否则输出0。 #include<bits/stdc++
阅读全文
摘要:http://codeforces.com/contest/1263/problem/E 题意:求合法的括号序列 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define lson root<<1,l,mid
阅读全文
摘要:题:https://codeforces.com/contest/1099/problem/F 题意:给定一个树,每个节点有俩个信息x和t,分别表示这个节点上的饼干个数和先手吃掉这个节点上一个饼干的的时间。然后有先手和后手俩个人。 ◉先手可以这么操作:在规定总时间T到达某个节点然后一定要返回根节点1
阅读全文
摘要:题意:给定n,p,k n个数,然后取连续的一段,让着一段的sum%p<=k,然后求满足条件的最大sum/p 思路:见注释 /* 取一段[L,R]让这个区间和取模后小于等于k 切记,取模操作符合减法的分配定律 条件可以转化为(sum-pre[L]-suf[R])%p<=k >(sum%p-pre[L]
阅读全文
摘要:题:https://codeforces.com/contest/1236/problem/E 粗自:https://www.cnblogs.com/YSFAC/p/11715522.html #include<bits/stdc++.h> using namespace std; #define
阅读全文
摘要:题:http://codeforces.com/contest/1216/problem/F dp[i][0]:表示第i个位置不装的最小代价 dp[i][1]:表示第i个位置装的最小代价 T1的线段树是维护装的最小代价 T2的线段树是维护装和不装的最小代价 #include<bits/stdc++.
阅读全文

浙公网安备 33010602011771号