/ Vijos / 题库 / 强墙 /

题解

88 条题解

  • 0
    @ 2009-02-13 15:35:29

    黑书叉积例题,是我VJ上第三道用到叉积的题目

  • 0
    @ 2009-02-06 08:30:23

    [color=red+blue+black]

    楼下的写的真烁

    明显是胡说

  • 0
    @ 2009-02-05 13:47:58

    数据 弱到不行 ~~~~~~~加两面墙枚举每点与前面的所有点的可行路径O(4*(n+2))DP随便做就行

  • 0
    @ 2009-02-01 18:07:21

    ___|__ &&&&_) )

    \/,---|< &&&&&&\ \

    ( )c~c~~@~@ )- - &&\ \

    C >/ < |&/

    _O/ - 哇塞 _`*-'_/ /

    ,- >o

  • 0
    @ 2009-01-30 11:22:22

    我用我的算法

    老师刚教的:2点之间,线段最短

    秒杀

    (当然不能穿墙了。。)

  • 0
    @ 2009-01-23 10:28:06

    =。=||一次AC。。我的方法比较简单啊。。1.读入数据,把每个口的两个点用一个结构记录,每个点都记下来struct Node{ double x,y;}B[100];然后还要加上起点和终点。。把墙当作一条直线,struct Line{ double x,y1,y2;}C[100];2.然后就预处理,计算每个口上的点之间的距离,这里就要判断,这两个点之间的连线是否与某块墙有交点。。。3.然后就用最短路来求就对了。。。。

    #include#includeusing namespace std;const long N=30;const double Max=100000000.0;double g[100][100];long n,m=0,Lnum=0;struct Wall{ double x,a1,b1,a2,b2;}A[N];struct Node{ double x,y;}B[100];struct Line{ double x,y1,y2;}C[100];void Input(){ freopen("p1013.in","r",stdin); scanf("%ld",&n); ++m;B[m].x=0;B[m].y=5; ++m;B[m].x=10;B[m].y=5; for(long i=1;i

  • 0
    @ 2009-01-06 21:07:38

    原来可以按最短路做呀...

  • 0
    @ 2008-11-29 16:09:04

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    提交了10来次,就因为忘了判断连线经过缺口的某个顶点时的情况了。

    细节决定成败

    写完了觉得还是不算难,就是构图时麻烦了点,最短路随便找个算法都行了,我用floyd都能秒杀。

  • 0
    @ 2008-11-09 17:23:46

    帮忙看看哪儿有错啊,我觉得不会有问题么

    用map存两点间距离,s存两点是否能直接相连,添加0和4*n+1两个点

    用dijiskla算距离,最后输出map[0,4*n+1]

    有错么?怎么只过两组?

    var

    map:array[0..500,0..500]of real;

    s:array[0..500,0..500]of boolean;

    n:integer;

    {=============}

    procedure init;

    var i,j,k,a,b:integer;

    x1,x2,x3,y1,y2,y3:real;

    x,y:array[0..500]of real;

    qiangx:array[1..200]of real;

    qiangy:array[1..200,1..4]of real;

    begin

    readln(n);

    for i:=1 to n do

    begin

    read(qiangx[i]);

    for j:=1 to 4 do read(qiangy);

    end;

    x[0]:=0;y[0]:=5;x[4*n+1]:=10;y[4*n+1]:=5;

    for i:=1 to n do

    for j:=1 to 4 do

    begin

    x[4*i-4+j]:=qiangx[i];

    y[4*i-4+j]:=qiangy;

    end;

    fillchar(s,sizeof(s),true);

    for i:=0 to 4*n+1 do

    for j:=i to 4*n+1 do

    if (i+3)div 4 =(j+3)div 4 then s:=false

    else begin

    a:=(i+3)div 4;b:=(j+3)div 4;

    x1:=x[i];x2:=x[j];

    y1:=y[i];y2:=y[j];

    for k:=a+1 to b-1 do

    begin

    x3:=qiangx[k];

    y3:=y1+(y3-y1)*(y2-y1)/(x2-x1);

    if not(( (y3>qiangy[k,1]) and (y3qiangy[k,3]) and (y3

  • 0
    @ 2008-10-29 17:03:41

    为什么我做的有的错了呢!~~~~~~~~~~~~~

    才33分

  • 0
    @ 2008-10-23 21:34:56

    加两面墙+o(4*(n+2))DP+枚举DP点与前面的所有点的可行性=o(n^2*20)的算法

    =.......................秒杀?!?!?!?!

    对于数据质疑中

    for i:=1 to n+1 do

    for j:=1 to 4 do

    begin

    f:=99999;

    for k:=i-1 downto 0 do

    for l:=1 to 4 do

    if able(i,j,k,l) then

    begin

    ff:=sqrt(sqr(x[i]-x[k])+sqr(y-y[k,l]));

    f:=min(f,f[k,l]+ff);

    end;

    end;

    end.

  • 0
    @ 2008-09-30 15:40:17

    WA了N次,精度有问题

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-09-22 20:00:48

    real和extended有什么差别啊?要怎么用呢?为什么我用real错了第四个点,用了extended却错了第一和第五个点!!!

  • 0
    @ 2008-09-17 21:19:05

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    floyed+直线解析式

  • 0
    @ 2008-09-02 23:08:05

    c++怎么保留到小数点后2位?prescision()只能设置有效数字,不能固定保留到小数点后几位。用c++的大牛指点下。

  • 0
    @ 2008-08-06 21:41:08

    这个题数据小,可以用三次方算法的,绝对0ms!

    (即三次方直线判断相交,再三次方的弗洛伊德,就是为着打字方便~)

    我只打了64行,全部数据0ms,算法如上……

    大家放心地做吧~

  • 0
    @ 2008-08-06 18:51:02

    哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

  • 0
    @ 2008-08-03 20:08:37

    叉积不就是直线方程么,同源同理

  • 0
    @ 2008-08-02 20:52:26

    ........当然用定比分点(和相似有区别吗?),然后用spfa,就过了

  • 0
    @ 2008-08-06 10:50:16

    终于过了,哈哈哈

信息

ID
1013
难度
6
分类
计算几何 点击显示
标签
(无)
递交数
2273
已通过
534
通过率
23%
被复制
15
上传者