![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
PikHy-991
这个作者很懒,什么都没留下…
展开
-
T - pairs(尺取--模板)
题意:给定n个数,求有多少对i j存在abs(a[i]-a[j])<=k思路:l=0,r=(l+1,n-1),依次遍历l ,每次遍历l到刚好符合条件,则l在当前位置上的答案为r-l;依次累加得最终结果代码:#include<stdio.h> //#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<cstring>#inc..原创 2022-04-28 19:11:02 · 76 阅读 · 0 评论 -
HDU - 5672- String(尺取)
#include<stdio.h> //#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<stack>#include<vector>#include<queue>using nam...原创 2022-04-28 16:41:22 · 102 阅读 · 0 评论 -
P - Subsequence(尺取-模板题)
题意:给定n个数,求总和大于等于s的最短子序列长度思路:思路很简单,竟然要求的是大于等于s的最短子序列的长度,那么只需要找到前几个数相加的和第一次大于等于s的子序列长度,然后在其基础上进行加减操作(减去该序列中第一个数,加上该序列外的第一个数,判断是否大于等于s,进行循环计算),选出最短的子序列长度就好啦~代码://给定一个序列,使得其和大于或等于S,求最短的子序列长度。#include<stdio.h> //#include<bits/stdc++.h&g...原创 2022-04-28 14:44:45 · 70 阅读 · 0 评论 -
M - 序列变换(二分+思维)
#include<stdio.h> //#include<bits/stdc++.h>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<map>#include<stack>#include<vector>#include<queue>using nam...原创 2022-04-27 21:53:05 · 85 阅读 · 0 评论 -
F - River Hopscotch(二分)
题目大意: 给定起点和终点间有n块石头(石头到起点的距离已经给出),求去除m块石块后,相邻石块的最小值思路:刚开始进入了一个误区,是把相邻两个石头间的距离都算出来然后排序二分,然后wa了(这样应该也可以写的,还是我太菜呜呜呜),看了题解后发现不用想那么复杂,直接把每块石头到起点的距离排序二分就好了,check函数就是看每块石头到起点的距离是否大于mid,不是的话num++,最后比较num和m就好啦,if(num>m)说明mid参考系取大啦,把r=mid-1就好,反之l=mid+1代码...原创 2022-04-27 19:15:18 · 73 阅读 · 0 评论 -
E - Median(双重二分)
题意:给出a[N],求两个元素差值的中位数(想上取整)分析:首先,多组输入输出,N<=1e5时间限制1000ms,emmmmm很显然贪心会T然后,n个元素的差值一共有ans=C(n,2)=n*(n-1)/2中,题目要求第ans/2小的差值,也就是n*(n-1)/4向上取整。好了,接下来想题目要求的是中位数,那我是不是不用求出所有的差值,只要找一个差值作为参考系,看一看这个差值的位置与中位数的位置关系,一步步缩小范围不就好了嘛?听上去像啥子?二分呀!(第一重二分)好嘛,方法找到了,又一个问题来...原创 2022-04-27 14:47:38 · 281 阅读 · 0 评论