CF924D Contact ATC

[复制链接]
发表于 2024-8-22 12:38:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
思路:

考虑函数 \(\operatorname{F}(v_0)_i\) 表示风速为 \(v_0\) 时,\(i\) 到达原点的时间,易得:

\[\operatorname{F}(v_0)_i = \frac{x_i}{v_i+v_0}\]
则若 \((i,j)\) 满足条件,需要满足 \(\operatorname{F}(v_0)_i\) 与 \(\operatorname{F}(v_0)_j\) 的交点的横坐标在 \([-m,m]\) 间,那么若 \(\operatorname{F}(v_0)_i=\operatorname{F}(v_0)_j\),即 \(\operatorname{F}(v_0)_i-\operatorname{F}(v_0)_j=0\)。
根据零点存在定理:若区间 \([l,r]\) 满足 \(\operatorname{f}(l) \le 0\) 且 \(\operatorname{f}(r) \ge 0\),且函数连续,则 \([l,r]\) 至少有一个 \(\operatorname{f}(x)\) 的零点。
那么判定 \(\operatorname{F}(v_0)_i-\operatorname{F}(v_0)_j=0\) 在 \([-w,w]\) 是否有零点,只需要满足 \(\operatorname{F}(-w)_i-\operatorname{F}(-w)_j \le 0\) 且 \(\operatorname{F}(w)_i-\operatorname{F}(w)_j \ge 0\)
注意到 \(\operatorname{F}(x)_i\) 有单调性,则设 \(l_i=\operatorname{F}(-w)_i,r_i=\operatorname{F}(w)_i\)。

则需要满足 \(l_i \le l_j=mod)?(x+y-mod)x+y)#define lowbit(x) x&(-x)#define pi pair#define pii pair#define iip pair#define ppii pair#define fi first#define se second#define full(l,r,x) for(auto it=l;it!=r;it++) (*it)=x#define Full(a) memset(a,0,sizeof(a))#define open(s1,s2) freopen(s1,"r",stdin),freopen(s2,"w",stdout);#define For(i,l,r) for(int i=l;i=l;i--)using namespace std;typedef long double ld;typedef double db;typedef unsigned long long ull;typedef long long ll;bool Begin;const ll N=1e6+10;inline ll read(){    ll x=0,f=1;    char c=getchar();    while(c'9'){        if(c=='-')          f=-1;        c=getchar();    }    while(c>='0'&&c
继续阅读请点击广告
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-16 07:11 , Processed in 0.104083 second(s), 28 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表