![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
尺取
timidcatt
永远不要放弃战斗
展开
-
G. Replace With Product Codeforces Round 895 (Div. 3)
否则如果没有找到,因为数组最多2e5个数,所有数乘积1的位置L,R,如果[L,R]内的数的乘积>2*(R-L+1),[L,R]即为最优的区间。原创 2023-09-08 16:25:28 · 498 阅读 · 0 评论 -
Circle of Mistery 2023牛客暑期多校训练营5 B
要找一个最短的区间,显然需要区间端点都是正数,可以用尺取的方式找到这样的一个区间,要是区间里的环最大,区间里的大于等于0的数肯定都选,负数就要用一个大根堆存起来,在找到合法区间后,尽可能加上大的负数,这样就能使得答案最小。然后我们找这样的区间,可以贪心一下,我们从上面的式子可以看出,要想答案最小,就要找一个最短的区间,并且使里面的环的大小最大。题目大意:给出一个n个数的数组a,求一个排列,使其形成的其中一个置换环上的数的和>=k,并使产生的逆序对数量最少。tips:关于置换环是什么可以看这道经典题。原创 2023-08-04 00:04:38 · 505 阅读 · 0 评论 -
Go to Play Maimai DX 2023牛客暑期多校训练营5 G
思路:用双指针l,r维护合法区间,先向右扩展r,同时记录访问过几个不同的数以及4的数量直到满足要求,然后缩短左端点l,维护当前区间内每个数的个数,直到不满足条件就记录答案。题目大意:给出一长度为n的仅由1,2,3,4组成的数组和一整数k,求一个最短的区间使得1,2,3,4至少各有一个,且4的数量>=k。原创 2023-08-01 10:43:22 · 552 阅读 · 0 评论 -
Simple Set Problem 2023“钉耙编程”中国大学生算法设计超级联赛4-3 hdu 7314
n,这时num[r-1]-num[l-1]即为满足题目要求的差值,在双指针移动的过程中维护此最小值即可。题目大意:有n个数组,从每个数组中取一个数构成数组b,求b中最大值和最小值的差的最小值。1原创 2023-07-27 21:57:03 · 240 阅读 · 0 评论 -
Car Show
https://ac.nowcoder.com/acm/contest/33194/A题目大意:有一个长度为n的数组,其中数的范围为1到m,问有多少个包含所有m个数至少各一个的区间1<=m<=n<=1e5思路:用尺取法,先记录遇到每个数的出现次数,同时记录出现过的不同数字的个数,如果当前出现过的数字个数等于m,统计答案当前区间右端点的右边还有多少数,同时左区间右移,维护每个数字的个数,如果当前不同数字的个数小于m了,就继续右移右端点......原创 2022-08-15 16:43:39 · 67 阅读 · 0 评论 -
P2709 小B的询问
思路:用尺取的方法,我们先把所有要查询的区间的信息都保存下来,然后按照右端点从小到大优先,左端点其次的顺序排序,然后对于每一个区间,先将右端点向右移直到重合,再将左端点向右移直到重合,移动端点的同时维护答案,在本题中,对于1,4,9...这样的数列,每个元素之间相差2n-1,向右移时加,向左移时减。题目大意:有一个长度为n的数组,m次询问,求一个区间内每一个数出现的次数的平方和。...原创 2022-08-11 17:42:51 · 87 阅读 · 0 评论 -
Crack Codes CodeForces - 950B
思路因为数组很短,所以可以暴力解决,我们分别记录两个数组一些数的和,分别用一个指针来维护,先右移a数组的指针,如果suma>sumb,就把b数组的指针右移,直到suma==sumb,答案计数+1,并且重置suma,sumb。题目大意有一个长度为n的a数组,一个长度为m的b数组,其中b数组中的每一个数都是由a数组中的一些连续的数通过加和得到的,并且严格按照从左到右的顺序对应。...原创 2022-07-27 20:25:40 · 101 阅读 · 0 评论 -
Jessica‘s Reading Problem POJ - 3320
s思路用尺取法,先把数字都放入set容器中,统计中有几种不重复的数字,然后用map容器统计每种数字的个数,然后遍历数组,每遇到一次数字就让map容器中该数字的值+1,统计第一次遇到的数字的数量,如果统计到的数量已经等于set容器的大小,就把map容器中值大于1的数字值-1,同时左端点右移,维护左端点到右端点距离的最小值。题目大意有一个数组,找一个连续的子串,这个子串需要包含数组中每一个不重复的数字,问这个子串的最短长度。...原创 2022-07-18 20:51:34 · 57 阅读 · 0 评论 -
B - Subsequence POJ - 3061
3061 -- Subsequence题目大意:给一个长度为n的数组,和一整数s,求所有元素和大于等于s的连续子串的最小长度思路:用尺取的思维,选定一个区间内的元素,维护区间内的元素和,先加上右边的数,如果和大于s了,把左端点缩小,减去大于s的部分,右端点等于n时结束,时间复杂度小于2n。............原创 2022-07-11 18:53:17 · 139 阅读 · 0 评论