智慧型車比賽

2021-06-07 18:29:49 字數 1459 閱讀 1698

(noi2011 智慧型車比賽)

program car;

const inf=1e49;

type node=record x,y:longint; end;

operator -(a:node;b:node)c:node;begin c.x:=a.x-b.x; c.y:=a.y-b.y; end;

operator *(a:node;b:node)c:double;begin c:=a.y*b.x-b.y*a.x; end;

operator +(a:node;b:node)c:double;begin c:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y)); end;

function g(d:double):double; begin g:=d; if abs(d)<=1e-5 then exit(0);end;

function min(i:double;j:double):double;begin if i_t.x then begin tt:=_s;_s:=_t;_t:=tt;end;

ds:=1 ; while (a[ds].u.x<_s.x) do inc(ds);

if a[ds].u.x=_s.x then if (a[ds].u.y<_s.y)or(a[ds].d.y>_s.y) then inc(ds);

dt:=n<<1;while (a[dt].u.x>_t.x) do dec(dt);

if a[dt].u.x=_t.x then if (a[dt].u.y<_t.y)or(a[dt].d.y>_t.y) then dec(dt);

readln(_v);

end;

procedure expand(s:node;i:longint;dd:double);

var up:node=(x:0;y:1);dn:node=(x:0;y:-1);

begin

for i:=i to dt do begin

if (g(up*(a[i].u-s))>=0) then begin up:=a[i].u-s;

if (g((a[i].u-s)*dn)>=0) then d[i,1]:=min(d[i,1],dd+(a[i].u+s)); end;

if (g((a[i].d-s)*dn)>=0) then begin dn:=a[i].d-s;

if (g(up*(a[i].d-s))>=0) then d[i,0]:=min(d[i,0],dd+(a[i].d+s));end;

if g(up*dn)<0 then break;

end;

if (up*(_t-s)>=0)and(dn*(_t-s)<=0) then ans:=min(ans,dd+(s+_t));

end;

begin

init;expand(_s,ds,0);

for i:=ds to dt do begin

if d[i,1]

DP NOI2011 智慧型車比賽

新一屆智慧型車大賽在jl大學開始啦!比賽賽道可以看作是由n個矩形區域拼接而成 如下圖所示 每個矩形的邊都平行於座標軸,第i個矩形區域的左下角和右上角座標分別為 xi,1,yi,1 和 xi,2,yi,2 題目保證 xi,1 輸入的第一行包含乙個正整數n,表示組成賽道的矩形個數。接下來n行描述這些矩形...

Noi2011 智慧型車比賽

假設s在t左邊,那麼只能往右或者上下走 f i 表示s到i點的最短路 f i min f j dis i,j i能看到j 判斷i能看到j就維護乙個上凸殼和乙個下凸殼 時間複雜度 o n 2 寫的有點長 include include include define n 2010 using names...

聽說你是參加智慧型車比賽的?

問 我想問問,你們參加智慧型車競賽同學都是學什麼專業的?答 什麼專業都有,但基本上都和 自動化 有關係。像什麼電氣自動化 機械自動化 化工自動化 儀器儀表自動化 設計自動化。說白了,你只要是使用過word,做過ppt都算是學過辦公自動化。問 看來學自動化挺吃香的?答 那可不。你沒有聽說過,學了自動化...