4 条题解

  • 2
    @ 2025-3-3 9:27:20

    梁成爱玩崩坏:星穹铁道

    • 2
      @ 2024-11-23 9:43:46

      由于给出的站点都是单调的,所以可以二分查找,时间复杂度O(nlogn)

      #include<bits/stdc++.h>
      using namespace std;
      int const N=1e5+10;
      int a[N];
      int L[N],R[N],k,n;
      int get(int p,int f)//f=1时找左边,f=0时找右边
      {
      	if(f)
      	{
      		int l=1,r=p,ans;
      		while(l<=r)
      		{
      			int mid=(l+r)>>1;
      			if(abs(a[mid]-a[p])>k) l=mid+1;
      			else r=mid-1,ans=mid; 
      		}
      		return ans;
      	}
      	else
      	{
      		int l=p,r=n,ans;
      		while(l<=r)
      		{
      			int mid=(l+r)>>1;
      			if(abs(a[mid]-a[p])>k) r=mid-1;
      			else l=mid+1,ans=mid; 
      		}
      		return ans;
      	}
      }
      int main()
      {
      	cin>>n>>k;
      	for(int i=1;i<=n;i++)
      	{
      		cin>>a[i];
      	}
      	L[1]=1,R[n]=n;
      	for(int i=1;i<=n;i++)
      	{
      		if(i==1)
      		{
      			int res=get(i,0);
      			R[i]=res;
      		}
      		else if(i==n)
      		{
      			int res=get(i,1);
      			L[i]=res;
      		}
      		else
      		{
      			int res=get(i,1);
      			L[i]=res;
      			res=get(i,0);
      			R[i]=res;
      		}
      	}
      	for(int i=1;i<=n;i++)
      	{
      		cout<<L[i]<<" "<<R[i]<<endl;
      	}
      	return 0;
      }
      
      • 1
        @ 2025-3-24 9:41:26

        “回应我吧,时间的泰坦!”。。。。。。。。 提宝和提安来到了命运重渊,那位名为欧洛尼斯的泰坦的地盘。。。。。。。。。。。。。黑夜永恒的笼罩着这一方土地,风,呼啸而过,今日的翁法罗斯格外的安静,安静的诡异,待他们走到了这一条路的尽头,世界还是死一般的寂静,可是,最令人震惊的是——时间的泰坦不见了!这里没有了半分它存在过的痕迹。。。 {后面的先欠着,之前的没了,被二臂删了,这一篇周二再更新结局}

        • 0
          @ 2024-11-23 8:24:04
          #include <bits/stdc++.h>
          using namespace std;
          const int N = 1e5+5;
          int n,k;
          int a[N];
          int main()
          {
          	cin>>n>>k;
          	for(int i=1;i<=n;i++)
          		cin>>a[i];
          	for(int i=1;i<=n;i++)
          	{
          		int l=lower_bound(a+1,a+1+n,a[i]-k)-a;
          		int r=lower_bound(a+1,a+1+n,a[i]+k)-a;
          		if(a[r]-a[i]>k) r--;
          		if(r==n+1) r--;
          		cout<<l<<' '<<r<<'\n';
          	}
          	return 0;
          }
          
          • 1

          信息

          ID
          954
          时间
          1000ms
          内存
          256MiB
          难度
          1
          标签
          (无)
          递交数
          242
          已通过
          33
          上传者