和箭頭一起遊走(主席樹 倍增)

2021-10-01 13:04:09 字數 2968 閱讀 3674

e15題目保證箭頭不會相交。

一道不卡精度的計算幾何

發現乙個箭頭上的人只會走到另乙個確定的箭頭上或走出去,

那麼我們可以把這個走的關係建成圖。

求出每一步的距離後即可分三類簡單討論得到終點座標。

對於t

<=1

e15t<=1e15

t<=1

e15我們可以倍增跳步。

但是我們還要寫點定位。。。。。。(求出方向上下一條邊)。

所以我們寫主席樹。

400行的標**是把我看吐了,強行離線徒增**長度

a cc

ode\rm ac \ code

accode

#include

#define maxn 100005

#define lim 60

#define maxp maxn * 160

#define pb push_back

#define inf ((ll)(1e16))

#define mp make_pair

#define ll long long

#define pii pair

using

namespace std;

int n,m,q;

int p1[maxn][2

],p2[maxn][2

];int rt[4]

[maxn]

,lc[maxp]

,rc[maxp]

,tg[maxp]

,tim[maxp]

,tot;

int map[

300]

;vector<

int>g[2]

[maxn]

;void

ins(

int&u,

int l,

int r,

int ql,

int qr,

int id,

int ti)

int mid =

(l+r)

>>1;

ins(lc[u]

,l,mid,ql,qr,id,ti)

,ins

(rc[u]

,mid+

1,r,ql,qr,id,ti);}

int f[lim]

[maxn]

,apr[maxn]

,dir[maxn]

;ll g[lim]

[maxn]

;pii qry

(int u,

int l,

int r,

int p)

intmain()

for(

int t=

0;t<

2;t++

)for

(int i=m;i>=

0;i--)}

for(

int i=

1;i<=n;i++)if

(p1[i][0

]== p2[i][0

])else

for(

int j=

1;j)for

(int i=

1;i<=n;i++

) f[j]

[i]= f[j-1]

[f[j-1]

[i]]

, g[j]

[i]= g[j-1]

[i]+ g[j-1]

[f[j-1]

[i]]

;scanf

("%d"

,&q)

;for

(ll a[2]

;q--;)

if(r.second && t<=

abs(p2[r.second][0

]-a[0]

)+abs(p2[r.second][1

]-a[1]

))if(

!r.second)

t -=abs

(p2[r.second][0

]-a[0]

)+abs(p2[r.second][1

]-a[1]

);int u = r.second;

for(

int i=lim-

1;i>=

0;i--)if

(g[i]

[u]<= t && f[i]

[u])

t-=g[i]

[u],u=f[i]

[u];if(

!f[0

][u])if

(t<=apr[u]

)int v = f[0]

[u];

a[0]

= p2[u][0

], a[1]

= p2[u][1

];a[dir[u]/2

]= p2[v]

[dir[u]/2

];a[dir[v]/2

]+=(p2[v]

[dir[v]/2

]-p1[v]

[dir[v]/2

])/abs

(p2[v]

[dir[v]/2

]-p1[v]

[dir[v]/2

])*(t-apr[u]);

printf

("%lld %lld\n"

,a[0

],a[1]

);}}

和Top一起成長

秒殺!09年比較火的乙個詞 從剛開始秒殺手機,電腦,到後來的秒殺汽車,到現在的秒殺房地產 相對於 的秒殺,我有許多事情,進展的比較緩慢,參加 top比賽乙個多月了,一直想寫點什麼,和大家一起享,但是卻拖到了現在 下面我就和大家分享一下我使用 top平台的一些體會和心得.一 見證 的崛起1 全球網際網...

和怎樣的人一起創業

當本刊記者走進創新工場辦公室時,稍顯紛亂的布置表明這是乙個建立不久的公司。但桌子上放置的 世界因你不同 李開復自傳 的書籍好像在闡釋這裡的與眾不同。這就是李開復即將再次起航的地方。巧合的是,樓下的公司指示牌上,這層辦公室還保留著原來google公司的標示,而辦公室的地毯上,取自google圖示中的顏...

和Microsoft老兄一起成長

最近,開發中涉及到跨語言環境的問題,但是沒有跨平台,依然在micro老兄的編譯環境下整合 只是感覺到有點點的困惑。同樣的micro老兄的東西,這個相容性怎麼越來越不給力了呢,從c 的dll到c 的執行程式匯入,發現真是費煞勁了。不說變數之間不能互相承認,連api都要針對c 環境精心進行調教。感慨mi...