普及基础 - “少年不识愁滋味“
2026-07-20 08:38:05
发布于:浙江
自主学习笔记类产物,不提供帮助他人理解的服务。
”少年不是愁滋味,爱上层楼。爱上层楼,为赋新词强说愁。—— 辛弃疾《丑奴儿·书博山道中壁》
——————————————————————————————————————————
独木桥:https://www.luogu.com.cn/problem/P1007
初步思路:
对于最小值,我们肯定希望士兵往距离自己更近的方向走。
对于最大值,我们希望士兵往距离自己更远的方向走的时候顺便制造一些“面对面相遇”的情况。
唯一一个问题就是中间值。不过我们似乎可以选择枚举两遍。
代码写了一半,先放在这里:
#include<bits/stdc++.h>
using namespace std;
const int N=5e3+5;
int a[N];
int less1[N],ma[N];//更小的距离,更大的距离
int main(){
int l,n;
cin>>l>>n;//独木桥的长度,初始时在桥上的士兵数目
for(int i=1;i<=n;i++){
cin>>a[i];
less1[i]=min(abs(a[i]-(l+1)),a[i]);
ma[i]=max(abs(a[i]-(l+1)),a[i]);
}
//less计算
int ans1=0;
for(int i=1;i<=n;i++)ans1=max(ans1,less1[i]);
cout<<ans1<<" ";
return 0;
}
这里空空如也













有帮助,赞一个