关于set和multiset自带的lower_bound和upper_bound

lower_bound(a.begin(), a.end(), x):查找大于等于x的第一个位置,返回的是迭代器。upper_bound(a.begin(), a.end(), x):查找大于x的第一个位置,返回的是迭代器。C++对set容器使用二分查找时,不能用上面的两个属于alogrithm库的
算法 2023年03月03日 365次浏览

数组中的子数组、子序列,以及字符串的子串、子序列解释

数组1、子数组子数组的定义:一个或连续多个数组中的元素组成一个子数组(子数组最少包含一个元素)。2、子序列子序列的定义:子序列就是在原来序列中找出一部分组成的序列(子序列不一定连续)。在数学中,某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列。例如:
刷题 2023年03月03日 401次浏览

并查集之——单链表式并查集

普通并查集(树状): p[i]表示节点i的父节点,i所在树的根节点是代表元素。单链表式并查集(单链表状)时间复杂度 O(m元素值域+n)O(m_{元素值域}+n)O(m元素值域​+n)元素值域​+n) ,空间复杂度不同问题不一样。p [ i ] p[i]p[i] 表示 i ii 在单链表形式并查集中
算法 2023年03月02日 571次浏览

括号序列的性质总结

括号序列的性质:(1) 左、右括号的数量相等(2) 任意前缀的左括号数量必须大于等于右括号数量
刷题 2023年02月28日 394次浏览

单源最短路和最长路总结

单源最短路和最长路一共分为(1) 加法最短路(2) 加法最长路(3) 乘法最短路(4) 乘法最长路套用最短路和最长路就能求啊,所以SPFA当然可以求,SPFA的正确性是基于它的松弛操作,所以自然是可以求乘积最小值和乘积最大值的。考虑Dij为什么不一定行,因为Dij的最短路算法是贪心的,它贪心的选最小
算法 2023年02月27日 346次浏览

牛客小白月赛67——F题《翼伯父作威》

题目链接博弈论——威佐夫博弈必败态的所有下一状态都是必胜态;必胜态的下一状态之一必有必败态。#include <bits/stdc++.h>using namespace std;#define fs first#define sc secondtypedef pair<int,
刷题 2023年02月25日 339次浏览

Codeforces Round #851 (Div. 2)——E题

题面见:《E. Sum Over Zero》dp + 树状数组/线段树 优化由于每次查询的是从1开始前缀的max,不涉及其他区间,因此可以用树状数组来维护区间最值。#include <bits/stdc++.h>using namespace std;typedef long long
刷题 2023年02月24日 435次浏览

关于逆序对

逆序对一般可以用归并排序来做一般的求逆序对如下:给定一个长度为 n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 iii 个和第 jjj 个元素,如果满足 i<ji<ji<j 且 a[i]>a[j]a[i]>a[j]a[i]>a[j],则
算法 2023年02月07日 403次浏览

牛客寒假集训营第六场补题

随着第六场的结束,这场短暂的旅行也走到了终点。革命尚未成功~1、B题《阿宁的倍数》题目描述阿宁有一个长度为 nnn 的数组 aaa,下标从 111 开始,有 qqq 次操作。修改操作:数组末尾增加一个数 xxx,数组长度加 111。询问操作:有多少个 i(i>x)i(i>x)i(i>
刷题 2023年02月06日 373次浏览

牛客寒假集训营第五场补题

1、C题《小沙の不懂》题目描述小沙作为著名的数学差生,今天又学不会数学了,所以想请你帮帮他。小沙有两个数字 aaa , bbb ,同时他还有个下标从 000 开始数字为 000 到 999 的长度为 101010 的排列 ppp ,在将这两个数字给你之前,他会对这两个数的每一位数进行一次 ai
刷题 2023年02月02日 255次浏览