09 2021 档案

摘要:Codeforces- 1547D-Co-growing Sequence 题目大意: ​ 又是一道位运算啊,为什么位运算的题目都是酱紫绕来绕去的?这题是这样的: ​ 对长度为n的数组a,满足a[i] = a[i] & a[i - 1],即后一个和当前的与等于当前,就称a数组“grow”。 ​ 对两 阅读全文
posted @ 2021-09-30 17:41 tyrii 阅读(57) 评论(0) 推荐(0) 编辑
摘要:快排和二分 快排模板: void qs(int q[] , int l , int r){ if(l >= r)return ; int i = l - 1 , j = r + 1 , x = q[i + j >> 1] ; while(i < j){ while(q[++ i ] < x) ; w 阅读全文
posted @ 2021-09-28 11:48 tyrii 阅读(49) 评论(0) 推荐(0) 编辑
摘要:Codeforces 1574B -Combinatorics Homework 题目大意: ​ 有三种字母A、B、C的数量(分别是a、b、c),和一个数字m。问能不能用这三种字母构造一个字符串使得该串中只有m个位置满足s[i] == s[i + 1]。 思路: ​ u1s1,cf上的低分题很多都是 阅读全文
posted @ 2021-09-23 19:13 tyrii 阅读(71) 评论(0) 推荐(0) 编辑
摘要:单调队列专题1 题目来源:洛谷 写在前面: 学习单调队列一周了,许多概念还是似懂非懂。这导致了后面的题目越来越难以进行,对我的态度产生了比较大的消极影响。所以有必要将之前的题目仔细进行剖析,整理,分类。我题目做多了很容易陷入“划水”的状态,就是潜意识里抗拒仔细琢磨题解,潜意识里不想去看正确代码。这导 阅读全文
posted @ 2021-09-15 20:30 tyrii 阅读(46) 评论(0) 推荐(0) 编辑
摘要:洛谷P6510 奶牛排队 题目大意: ​ 有n个数,满足条件左端点A严格最小右端点B严格最大的最长子串长度是多少。 思路: ​ 对每一个i,他都可以是A或者B 。 ​ 先把他当成是B,我们向前找A。因为要求[A,B]中所有数都比B小,所以找到第一个比B大的数的后一个就是A的最小下标取值。 ​ 再把每 阅读全文
posted @ 2021-09-11 19:57 tyrii 阅读(484) 评论(1) 推荐(1) 编辑
摘要:洛谷P2629 好消息,坏消息 题目大意: ​ 有n个数,k属于[1,n],对于每个k是从k加到n再从1加到k-1,问有几个k可以使得在加的过程中不出现负数。 思路: ​ [k,n]再是[1,k-1]的累加,那就是一个环的问题,用断环为链的方法。 至此,任意k时的累加过程就变成了k后面(包括k)n个 阅读全文
posted @ 2021-09-10 00:39 tyrii 阅读(62) 评论(0) 推荐(0) 编辑
摘要:洛谷P1725 琪露诺 题目大意: ​ 跳格子,假设当前所在格子是x,每次只能跳到[x+l,x+r]中的一个,跳到一格就能加那一格的冰冻值,问跳出后最高冰冻值是多少。 思路: ​ 打眼一看是一道dp。i位置是由[i - r ,i - l]跳过来的。状态转移方程是:f[i] = max(f[i] , 阅读全文
posted @ 2021-09-10 00:00 tyrii 阅读(113) 评论(0) 推荐(1) 编辑
摘要:洛谷P1886 滑动窗口_第二次理解 第一次做的在这 思路: 之前讲这是一个“特殊的”单调栈,但其实,头尾都能进出的东西有名字——双端队列。 对于每一个数(大于等于k),要找到他之前(包括自己)的k个数里的最值 ,那就要: 1、找到该值在之前单调双端队列中的位置 2、先将该数入队 3、再去拿队头。 阅读全文
posted @ 2021-09-07 20:53 tyrii 阅读(44) 评论(0) 推荐(0) 编辑
摘要:codeforces #742 C.MEXor Mixup 题目大意: ​ 有一个未知的数组x,给定a和b。a表示数组x中不包含的最小数,b表示数组x中所有数异或的结果 。 思路: ​ a是x不包括的最小,所以[0,a-1]一定是在这个数组x中的 。 ​ 将这a个数异或起来可以得到一个数y。 ​ 总 阅读全文
posted @ 2021-09-07 14:51 tyrii 阅读(134) 评论(0) 推荐(0) 编辑
摘要:洛谷-P2251 质量检测 题目大意 ​ 区间最值问题(RMQ) 思路 ​ RMQ问题有很多种方法。本题数据只有1e6,比较小,所以我使用o(n)的方法。这题又是单调栈,但不完全是单调栈。 ​ 从前往后用i遍历[1,n],每个元素依次入栈,但是栈内要储存的不是产品质量A,而是该产品的下标。我们要维护 阅读全文
posted @ 2021-09-06 10:12 tyrii 阅读(74) 评论(0) 推荐(0) 编辑
摘要:洛谷P2947-Look up S 题目大意 ​ 有n头牛,每头牛向右边看,问每头牛看到的第一个比他自己高的牛的位置是什么。 思路 ​ 因为每头牛是向右边找第一个比他高的,所以在他右边所有的小于等于他的都可以丢掉。 ​ 利用单调栈的的性质,做一个栈顶到栈底升序的单调栈。并且从后往前遍历。 ​ 这两题 阅读全文
posted @ 2021-09-05 19:56 tyrii 阅读(68) 评论(0) 推荐(0) 编辑
摘要:CF-B - Maximum Cost Deletion 题目大意: ​ 给一个长度为n的由01构成的字符串s,和a和b,每次可以删除仅由0或1组成的子串,每次删除获得分数points = a * len + b,len是删除子串的长度。问将s删光后得到的最大得分是多少。 思路: ​ 讲道理题目样例 阅读全文
posted @ 2021-09-02 00:13 tyrii 阅读(49) 评论(0) 推荐(0) 编辑
摘要:CF-1556B - Take Your Places! 题目大意: ​ 有n个数,每次操作可以交换相邻的两个数,问最少几次操作可以让奇偶分开,不可能则出-1 。 思路: ​ 需要知道奇数偶数的数量,若差值超过1,则不可能。 ​ 不然就是有可能的。若奇数多,则奇数应该放在135的位置;奇数少,则奇数 阅读全文
posted @ 2021-09-02 00:10 tyrii 阅读(48) 评论(0) 推荐(0) 编辑
摘要:洛谷P1886 滑动窗口 题目大意: ​ 有n个数,每次取其中的k个找最大和最小,输出n-k+1个最大值和最小值 思路: ​ 如果单纯在每一个长度为k的区间里找最大值,时间复杂度是o(n^2)。要将时间复杂度降低到o(n),需要用到单调栈的思想,但也不完全是单调栈。以找最小值为例,维护一个栈底到栈顶 阅读全文
posted @ 2021-09-01 16:33 tyrii 阅读(67) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示