第一次做本校OJ的题,被坑的好惨啊!

题目:600.Minimum  Distance

题目大意:给定平面上3个点A、B、C,求平面上的任一顶点P,使得|PA|+2|PB|+3|PC|。

由于刚好在这之前做了一道模拟退火的“类似”题,打了一遍模拟退火,样例都过不了;

然后又“觉得”可以三分套三分,能过样例,但还是wa了,说好的简单题呢(⁄ ⁄•⁄ω⁄•⁄ ⁄)

后来,发现前两者系数和等于第三者,所以P为C点,就是最小值。证明如下:

考虑从P移到P’式子值的变化:

令$|{P}'A|-|PA| = {d}' \ \&\&\  |{P}'B| - |PB|={d}'' \ \&\&\  |{P}'C| - |PC| = d$

$\because d >  {d}' \ \&\&\  d >  {d}'' \\$

所以有,

$$\begin{aligned}
\Delta &=|{P}'A|+2|{P}'B|+3|{P}'C|-(|PA|+2|PB|+3|PC|) \\
&=(|{P}'A|-|PA|) + 2(|{P}'B| - |PB|) + 3(|{P}'C| - |PC|)\\
&=-{d}' - 2{d}'' + 3d\\
&=(d-{d}') + 2(d-{d}'')\\
&> 0 \end{aligned}$$

所以,$d$越小越好,即P与C越紧越好,即令P与C重合。

代码实现就很简单了

#include<cstdio>
#include<cmath>
#include<algorithm>
#define long double double
using namespace std; const int INF = 0x3f3f3f3f; struct Point
{
int x, y;
};
Point points[]; double dist(Point a,Point b)
{
return sqrt((a.x - b.x) * (a.x - b.x) * 1.0 + (a.y - b.y) * (a.y - b.y) * 1.0);
} int main()
{
while (scanf("%d%d%d%d%d%d", &points[].x, &points[].y, &points[].x, &points[].y, &points[].x, &points[].y) == )
{
double ans = dist(points[], points[]) + * dist(points[], points[]);
printf("%.6lf\n", ans);
}
return ;
}
 

WOJ600——水题的更多相关文章

  1. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  2. ACM :漫漫上学路 -DP -水题

    CSU 1772 漫漫上学路 Time Limit: 1000MS   Memory Limit: 131072KB   64bit IO Format: %lld & %llu Submit ...

  3. ytu 1050:写一个函数,使给定的一个二维数组(3×3)转置,即行列互换(水题)

    1050: 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 154  Solved: 112[ ...

  4. [poj2247] Humble Numbers (DP水题)

    DP 水题 Description A number whose only prime factors are 2,3,5 or 7 is called a humble number. The se ...

  5. gdutcode 1195: 相信我这是水题 GDUT中有个风云人物pigofzhou,是冰点奇迹队的主代码手,

    1195: 相信我这是水题 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 821  Solved: 219 Description GDUT中有个风云人 ...

  6. BZOJ 1303 CQOI2009 中位数图 水题

    1303: [CQOI2009]中位数图 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2340  Solved: 1464[Submit][Statu ...

  7. 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题

    B - 大还是小? Time Limit:5000MS     Memory Limit:65535KB     64bit IO Format: Description 输入两个实数,判断第一个数大 ...

  8. ACM水题

    ACM小白...非常费劲儿的学习中,我觉得目前我能做出来的都可以划分在水题的范围中...不断做,不断总结,随时更新 POJ: 1004 Financial Management 求平均值 杭电OJ: ...

  9. CF451C Predict Outcome of the Game 水题

    Codeforces Round #258 (Div. 2) Predict Outcome of the Game C. Predict Outcome of the Game time limit ...

随机推荐

  1. JDBC各种数据库连接URL关键代码

    通过JDBC连接数据库时,各个数据库有着不同的URL格式,为了方便大家使用,我在以下提供了常见的7种数据库连接示例代码,请根据实际需要进行相应的更改. 1.Oracle数据库 Class.forNam ...

  2. Linux __setup解析【转】

    本文转载自:http://blog.csdn.net/fdaopeng/article/details/7895037 __setup这条宏在Linux Kernel中使用最多的地方就是定义处理Ker ...

  3. 织梦万能调用LOOP标签!

    1,安装DEDE织梦程序时候,数据库名称设置独立的一个.   2,雨田SEOER这里用的是在织梦本地文件夹中新建myblog文件夹,然后里面装入emlog_5.3.0的安装文件.URL地址栏输入htt ...

  4. Python: PS 图像调整--亮度调整

    本文用 Python 实现 PS 图像调整中的亮度调整,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/2 ...

  5. 【HDU 2167】 Pebbles

    [题目链接] 点击打开链接 [算法] 状压DP 先搜出一行符合的情况,然后,f[i][j]表示第i行,状态为j,能够取得的最大值,DP即可 [代码] #include<bits/stdc++.h ...

  6. Logistic回归 线性回归(转)

    来源: http://www.cnblogs.com/jerrylead 1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习 ...

  7. 2-17 numpy模块使用

    #CURD import numpy as np data1 = np.array([1,2,3,4,5]) print(data1) data2 = np.array([[1,2], [3,4]]) ...

  8. redis过期键删除策略以及大key删除方法

    今天遇到了一个前同事挖的坑,刷新缓存中商品信息时先让key过期,然后从数据库里取最新数据然后再放到缓存中,他是这样写的 redisTemplate.expire(CacheConst.GOOGS_PR ...

  9. poj 3130 How I Mathematician Wonder What You Are! 【半平面交】

    求多边形的核,直接把所有边求半平面交判断有无即可 #include<iostream> #include<cstdio> #include<algorithm> # ...

  10. mac下配置nginx php

    修改 php-fpm 文件 1.执行命令: sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf 2.找到目录下的 p ...