bzoj1094[ZJOI2007]粒子运动 计算几何

1094: [ZJOI2007]粒子运动

Time Limit: 10 Sec  Memory Limit: 162 MB
Submit: 658  Solved: 164
[Submit][Status][Discuss]

Description

  阿Q博士正在观察一个圆形器皿中的粒子运动。不妨建立一个平面直角坐标系,圆形器皿的圆心坐标为(x0, y0
),半径为R。器皿中有若干个粒子,假设第i个粒子在时刻0的位置为(xi, yi),速度为(vxi,vyi)(注:这是一个
速度向量,若没有发生碰撞,t时刻的位置应该是(xi + t * vxi, yi + t * vyi) )。假设所有粒子的运动互不干
扰;若某个粒子在某个时刻碰到了器皿壁,将发生完全弹性碰撞,即速度方向按照碰撞点的切线镜面反射,且速度
大小不变(如图)。认为碰撞是瞬间完成的。

  尽管碰撞不会影响粒子的速率,但是粒子却会受到一定的伤害,所以若某一个粒子碰撞了k次器皿壁,那么在
第k次碰撞时它便会消亡。 出于研究的需要,阿Q博士希望知道从时刻0到所有粒子都消亡这段时间内,所有粒子之
间的最近距离是什么。你能帮助他么?

Input

  第一行包含三个实数,分别为x0, y0, R,即圆形器皿的圆心坐标及半径。第二行包含两个正整数N, k,分别
表示粒子的总数与消亡碰撞次数。接下来N行每行四个实数,分别为xi, yi, vxi , vyi,保证(xi, yi)都在圆内且
(vxi, vyi)非零。

Output

  仅包含一个实数,即所有粒子的历史最近距离,精确到小数点后三位。

Sample Input

0 0 10
2 10
0 -5 0 1
5 0 1 0

Sample Output

7.071

HINT

 

  对于所有的数据,2 ≤N ≤100。1≤k ≤100。 请注意实数精度问题。

 

暴力枚举两个点,判断它们在每一时刻的最短距离
两个点的运动其实是分段的,每当一个点碰边就重新划分一段,最多可能有2*k段
每次碰边后重新计算路线,计算方式看这个博客http://blog.csdn.net/lych_cys/article/details/50785713

 

 1 #include<bits/stdc++.h>
 2 #define N 105
 3 using namespace std;
 4 int n,m,k;double t1,t2,r,c[N][N];
 5 struct point{
 6     double x,y;
 7     point operator + (const point &b)const{return (point){x+b.x,y+b.y};}
 8     point operator * (const double &b)const{return (point){x*b,y*b};}
 9     point operator - (const point &b)const{return (point){x-b.x,y-b.y};}
10 }o;
11 struct line{point p,v;}a[N][N];
12 double dot(point a,point b){return a.x*b.x+a.y*b.y;}
13 double crs(point a,point b){return a.x*b.y-a.y*b.x;}
14 double solve(int i,int j,int p1,int p2){
15     point v1=a[i][p1].v-a[j][p2].v,v2=(a[i][p1].p-a[i][p1].v*c[i][p1])-(a[j][p2].p-a[j][p2].v*c[j][p2]);
16     double u=dot(v1,v1),v=2*dot(v1,v2),w=dot(v2,v2),t;
17     if(!u){
18         if(v>0)t=t1;else t=t2;
19         return sqrt(w+t*v);
20     }
21     else{
22         t=-v/(2*u);
23         if(t<t1)t=t1;if(t>t2)t=t2;
24         return sqrt(t*t*u+v*t+w);
25     }
26 }
27 int main(){
28     scanf("%lf%lf%lf",&o.x,&o.y,&r);
29     scanf("%d%d",&n,&m);
30     double u,v,w,t;point p,q,nm;
31     for(int i=1;i<=n;i++){
32         scanf("%lf%lf%lf%lf",&a[i][0].p.x,&a[i][0].p.y,&a[i][0].v.x,&a[i][0].v.y);
33         for(int j=1;j<=m;j++){
34             p=a[i][j-1].p-o;q=a[i][j-1].v;
35             u=dot(q,q);v=dot(p,q)*2;w=dot(p,p)-r*r;
36             t=(sqrt(v*v-4*u*w)-v)/2/u;
37             c[i][j]=c[i][j-1]+t;
38             a[i][j].p=a[i][j-1].p+a[i][j-1].v*t;
39             nm=a[i][j].p-o;swap(nm.x,nm.y);nm.x=-nm.x;
40             a[i][j].v=nm*(dot(nm,a[i][j-1].v)/dot(nm,nm)*2)-a[i][j-1].v;
41             line tmp=a[i][j];
42             printf("%.2lf %.2lf %.2lf %.2lf\n",tmp.p.x,tmp.p.y,tmp.v.x,tmp.v.y);
43         }
44     }
45     double ans=1e10;int p1,p2;
46     for(int i=1;i<=n;i++)
47         for(int j=i+1;j<=n;j++){
48             p1=p2=0;
49             while(p1<m&&p2<m){
50                 t1=max(c[i][p1],c[j][p2]);
51                 t2=min(c[i][p1+1],c[j][p2+1]);
52                 ans=min(ans,solve(i,j,p1,p2));
53                 if(c[i][p1+1]<c[j][p2+1])p1++;
54                 else p2++;
55             }
56         }
57     printf("%.3lf\n",ans);
58     return 0;
59 }

 

转载于:https://www.cnblogs.com/wsy01/p/8177042.html

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值