Tower( rms模拟4-3 ) * *(推理)
来源:互联网 发布:少儿趣味编程课程 编辑:程序博客网 时间:2024/05/21 09:12
Tower(tower.cpp)
试题描述:
DR在平面上放置N个整数坐标点。并假定将点(x0,y0)移动到(x1,y1),所需的代价为|x1-x0|+|y1-y0|。使得K(K=1,…,N)个点在同一位置上最少需要的代价。
输入格式:第一行一个正整数N;接下来N行,每行
两个正整数xi和yi,为第i个点的坐标,不超过10^6;
输出格式:输出共N行,第i行为使得有i个点在同一位置的最少代价。
输入样例:
4
15 14
15 16
14 15
16 15
输出样例:
0
2
3
4
数据规模:
对于100%的数据,满足1<=N<=50。
题解:
最优解必定是在(xi,yi)这些位置上的,因此只要枚举这些位置(共N2个),然后将所有点与这个位置的距离D[i]从小到大排序,然后S[i] = D[1] + D[2] + … +D[i]。
那么Ans[k] = min { Ans[k] , S[k] }。
时间复杂度:O(N^4logN)
空间复杂度:O(N)
代码
#include<bits/stdc++.h>#define F( i,a,b ) for( int i=(a);i<=(b);i++ )#define F_2( i,a,b ) for( int i=(a);i>=(b);i-- )#define N 101#define M 10001#define LL long long#define oo 0x7fffffffusing namespace std;int read(){ int f=1,s=0; char ch=getchar(); while( ch>'9' || ch<'0' ) { if( ch=='-' ) f=-1; ch=getchar(); } while( ch<='9' && ch>='0' ) { s=( s<<1 )+( s<<3 )+ch-'0'; ch=getchar(); } return f*s;}int m,n;int tot,cnt,ans[N];int x[N],y[N],d[N],s[N];int main(){ freopen( "tower.in","r",stdin ); freopen( "tower.out","w",stdout ); n=read(); F( i,1,n ) { x[i]=read(); y[i]=read(); } fill( ans+1,ans+n+1,oo ); F( i,1,n ) { F( j,1,n ) { int tx,ty; tx=x[i],ty=y[j]; F( k,1,n ) d[k]=abs( tx-x[k] )+abs( ty-y[k] ); sort( d+1,d+n+1 ); F( i,1,n ) { s[i]=s[i-1]+d[i]; } F( i,1,n ) { ans[i]=min( ans[i],s[i] ); } } } F( i,1,n ) cout<<ans[i]<<endl; return 0;}
阅读全文
0 0
- Tower( rms模拟4-3 ) * *(推理)
- 看守(rms模拟7-3)* * (推理)
- 邮递员送信(rms模拟3-4)* * (dijkstra)
- 中位数(rms2017模拟3-1)*【推理】
- 山(rms模拟11-3)* * *(数学/二分)
- 序列(rms模拟7-1)* *(贪心)
- ZOJ 2954 Hanoi Tower(模拟啊 )
- FZU 2202 犯罪嫌疑人(模拟、推理)
- 倒水(rms2017模拟2-1)* 【推理】
- 寻宝之后(rms模拟5-2)* * *(dp)
- 塔(rms模拟9-1)* * (dp)
- 产品排序(rms模拟11-1)* *(dp)
- POJ 3505 && HDU 2341 Tower Parking(简单模拟)
- (洛谷 1632 点的移动 noip 模拟 tower)<脑洞题>
- Beautiful string(rms2017模拟1-1)*【推理】
- 数位平方和(rms2017模拟14-2)* * *【推理】
- noip2003 侦探推理 终极模拟
- [NOIP模拟][数学推理]Math
- 作业临时存放
- wamp最新版本php7和apache
- PAT 1123. Is It a Complete AVL Tree (30) 平衡树构建+ 完全二叉树判断
- MacOS 开发
- 4,Qt应用程序打包发布
- Tower( rms模拟4-3 ) * *(推理)
- Spring Security4 CSRF 如何关闭CSRF功能
- 推荐:Nginx 会话黏着一致性解决
- JSP中获取IP地址的方法
- 数图的量化:灰度处理
- Windows Practice_内存映射_加载BMP
- 对从c++中向qml中导入list<qobject*>的操作的深入学习
- bzoj1415 [Noi2005]聪聪和可可(期望概率DP+最短路)
- Javascript异步编程(三: Thunk函数)