P3851航运调度
来源:互联网 发布:c语言编程器下载 编辑:程序博客网 时间:2024/05/01 15:20
问题描述
某海域是国际海运枢纽,非常繁忙,N艘船只在航行。航运管理中心一直担心发生船只相撞事件。所以他们想知道,从现在开始,到哪一个时刻,这N艘船两两间的最大距离将达到最小。请你算出这个时刻,并求出这个最小距离。
所有船只都沿直线航行,没有两艘船的前进方向和速度是相同的。
输入格式
第一行,一个整数N(N<=300)
接下来N行,每行四个整数Xi,Yi,VXi,VYi。(Xi,Yi)表示i号船只现在的坐标。VYi,VXi表示i号船的速度和方向。在下一秒,i号船的坐标将是(Xi+VXi,Yi+VYi)
(-10^6 <= Xi, Yi <= 10^6, -10^2 <= VXi , VYi <= 10^2)
输出格式
一行,两个实数,表示所求时间和距离,保留两个小数位
题解
裸三分
代码
#include<stdio.h>#include<algorithm>#include<cstdio>#include<cmath>#include<queue>#include<cstring>#include<iostream>using namespace std;#define maxn 5002#define inf 2e9int a[maxn],b[maxn],c[maxn];int n,m;int dp[maxn][64];bool check(int x){ int i,j; for( i=0;i<=63;i++){dp[0][i]=m;} for(i=1;i<=n;i++) { if(a[i]==7){ for(j=0;j<=63;j++) {dp[i][j]=inf; if(dp[i-1][j]<=x)dp[i][j]=dp[i-1][j]-b[i];} } else{ int k=1<<(a[i]-1); for(j=0;j<=63;j++) { dp[i][j]=inf; if(j&k) { if(dp[i-1][j^k]<=x) dp[i][j]=dp[i-1][j^k]-b[i]; } else{ if(dp[i-1][j]<=x) { dp[i][j]=dp[i-1][j]+c[i]; } if(dp[i-1][j^k]<=x){ dp[i][j]=min(dp[i][j],dp[i-1][j^k]+c[i]); } } } } } for(i=0;i<=63;i++) if(dp[n][i]<=x) return true; return false;}int main(){ int i,j; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=n;i++) scanf("%d",&b[i]); for(i=1;i<=n;i++) scanf("%d",&c[i]); scanf("%d",&m); int l=m,r=inf; while(l<=r){ int mid=(l+r)>>1; if(check(mid)) r=mid-1; else l=mid+1; } for(i=l-2;;i++) if(check(i)) break; cout<<i;}
阅读全文
0 0
- P3851航运调度
- P3851航运调度
- 长周期行业-航运(2)-航运公司再现倒闭潮
- 长周期行业-航运(3)-马士基航运2014年情况
- 锦航运输管理信息系统 bt
- 2008大连航运物流软件园项目对接洽谈会胜利召开
- 步骤,将网上宠物用品店使用下降航运
- 长周期行业-航运(1)-波罗的海指数高峰历史
- 航运大数据——机遇和挑战
- 调度
- 调度
- 调度
- 调度
- 调度
- 调度
- 调度
- 乌克兰航运公司认为比特币可以让全球贸易更快更保险
- 市场规模将达万亿美元 无人航运真的来了吗
- JSP学习总结
- Requests库学习笔记
- Agri-Net POJ
- [数学杂题 位运算] ZROI 2017 提高6 T1 异或统计
- [图解数据结构之Java实现](2) --- 线性表之链表实现
- P3851航运调度
- Codeforces 702D Road to Post Office(模拟 + 公式推导)
- 郑州集训DAY3笔记
- css学习-2017.10.7
- C++入门
- 2017.10.07【NOIP提高组】模拟赛B组 Heatwave 题解
- 【Sort】242. Valid Anagram
- 360加速球效果实现
- Html+JavaScript+百度地图api:GPS功能单点运动