首页 > 丢手绢
头像 铁厂打工人
发表于 2021-01-17 14:52:29
丢手绢 解题思路尺取法(双指针)先计算距离和,即圆圈周长。之后定义两个指针i,j,用res表示最长距离,当i和j之间的距离大于等于周长的一半时,更新res的值。 AC代码 #include <iostream> #include <algorithm> using name 展开全文
头像 软工辣子鸡
发表于 2021-01-23 00:00:37
刚开始看这道题的时候,心想,不就是一个尺取嘛,水题一道,结果如下图: 可以说是大型打脸现场,个人感觉这也和题目给的样例有一点关系(样例似乎太弱了,啥都能跑)(不想承认是自己太菜的事实)于是乎决定写下我人生中第一篇博客纪念一下首先附上第一版代码(全是bug): #include<iostream 展开全文
头像 包子超好吃
发表于 2021-01-15 14:55:03
//核心:尺取法//思路见注释;#include<iostream>using namespace std;const int N=10000006;int a[N];int main(){ int n,sum=0; cin>>n; for(int i=0; 展开全文
头像 一只羊蝎子
发表于 2021-01-22 20:25:20
用双指针,从第一个小朋友开始一圈圈按顺时针方向遍历,到最后一个小朋友的那圈遍历完结束。 因为题目定义两个小朋友的距离为沿着圆圈顺时针走或者逆时针走的最近距离,所以在计算最远距离时要让当前两个小朋友的距离小于圆圈周长的二分之一,不然最短距离就会变成从逆时针方向开始计算,这是一个小坑同时,计算的时候数组 展开全文
头像 小鸣壹号
发表于 2020-08-15 17:26:27
c题,尺取法 一个点离其他点的最远距离一定是在总距离的一半的两边,详细看代码。 #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int n,a[N],sum; int main(){ &n 展开全文
头像 kkk_kkk
发表于 2023-09-05 19:38:35
尺取法是一种双指针算法,通常用于解决一些区间问题。它的基本思想是维护一个区间,然后通过移动左右指针来调整区间的大小和位置,以便找到符合条件的解。在这个问题中,我们需要找到离得最远的两个小朋友之间的距离。我们可以使用尺取法来解决这个问题。具体来说,我们可以使用两个指针i和j来表示当前考虑的两个小朋友之 展开全文
头像 2004010207(郭伟业)
发表于 2021-01-13 21:26:59
#include<bits/stdc++.h> using namespace std; int r[100001]; int main() { int n; scanf("%d",&n); memset(r,0,sizeof(r)); int 展开全文
头像 吃花椒的妙酱
发表于 2021-01-15 00:49:40
//算法核心:尺取法 //不用前缀和,用前缀和想了半天,循环数组不好解决 //最远距离不超过圆周长的一半,所以当跑在前面的小朋友跑过周长一半时候, //再跑,两者距离只会减小,没有意义了,应该停下来,后面追的小朋友向前走一步 #include <bits/stdc++.h> usin 展开全文
头像 如初见_
发表于 2025-03-04 15:39:20
#include <iostream> #include <algorithm> using namespace std; long arr[100005],n,sum=0,ans=0,l=0,r=0,temp=0; int main (){     ci 展开全文
头像 在刷题的单身狗很开心
发表于 2023-08-03 16:19:54
链接:https://ac.nowcoder.com/acm/problem/207040 来源:牛客网 题目描述 “丢~丢~丢手绢,轻轻地放在小朋友的后面,大家不要告诉她,快点快点抓住她,快点快点抓住她。” 牛客幼儿园的小朋友们围成了一个圆圈准备玩丢 展开全文