腐女的生日

2021-07-30 11:31:39 字數 1904 閱讀 5740

腐女要過生日了,pty 想給腐女送禮物,但是腐女所在的教室離pty 的教室太遠了,於是pty就拜託會動歸和a星的djy幫忙送禮物。djy在學校建立了乙個平面直角座標系,他站在了(0,0)點,腐女在(x0,y0)點,djy每次只能往上下左右四個方向移動一步,中間有n棟矩形教學樓,每個教學樓給出兩個對角的座標,並且保證每棟教學樓的周圍區域(如圖所示)不會有別的教學樓,即djy可以繞乙個教學樓走不會碰到任何障礙,現在djy 想知道從起點到終點不碰到任何教學樓,最短需要多少步。

除了第一步會左走

其餘情況均不會左走。

用掃瞄線儲存當前x座標下到每點的最短路。

遇到矩形邊界時討論一下。

#include

#include

#define fo(i,a,b) for(i=a;i<=b;i++)

using namespace std;

const int maxn=100000+10,mx=1000002,maxm=2000003;

int sx[maxm*4+100],gc[maxm*4+100];

bool bz[maxm*4+100],pd[maxm*4+100];

struct dong ask[maxn*2];

int i,j,k,l,r,t,n,m,tot,top,x,x

0,y0,x1,y1,x2,y2,ans;

intread()

while (ch>='0'&&ch<='9')

return

x*f;

}bool cmp(dong a,dong b)

void markad(int p,int v,int d)

void markcl(int p)

void down(int p,int l,int r)

if (sx[p]||gc[p])

}void change(int p,int l,int r,int a,int b,int v,int d)

down(p,l,r);

int mid=(l+r)/2;

if (b<=mid) change(p*2,l,mid,a,b,v,d);

else

if (a>mid) change(p*2+1,mid+1,r,a,b,v,d);

else

}void clear(int p,int l,int r,int a,int b,int v)

down(p,l,r);

int mid=(l+r)/2;

if (b<=mid) clear(p*2,l,mid,a,b,v);

else

if (a>mid) clear(p*2+1,mid+1,r,a,b,v);

else

}int query(int p,int l,int r,int a)

int main()

if (y1>y2) swap(y1,y2);

ask[++top].x=x1;

ask[top].ca=1;

ask[top].y

0=y1;ask[top].y1=y2;

ask[++top].x=x2+1;

ask[top].ca=2;

ask[top].y

0=y1;ask[top].y1=y2;

}sort(ask+1,ask+top+1,cmp);

x=0;

change(1,1,maxm,mx+1,maxm,1,1);

change(1,1,maxm,1,mx-1,mx-1,-1);

fo(i,1,top)

else

if (ask[i].ca==1)

else

if (ask[i].ca==2)}}

printf("%d\n",ans);

}

5049 腐女的生日

給定 n 個平面座標系上的矩形,保證矩形不會相交且每個矩形周圍至少乙個單位不會有矩形,求從 0 0 走到 x0,y0 且不經過矩形內部的點的最短曼哈頓距離。data constraint n 105,x 0 0 首先注意到,除了一種情況以外,其他情況都存在一種最優解不需要往右走,那麼 x 方向的代價...

老爸的生日

今天是老爸的生日,剛才打了30多分鐘的 以前很多時候是發簡訊的,打 問了他最近的情況,一切都好,好像特別精神,肯定有乙個原因,那就是女兒也考上大學了 談了下我的工作學習問題 最後談了他的工作,他說想要換個工作,那邊的工資高些,我知道那是榆林 陝西的北部 那是個環境比較惡劣的地方,風沙大 以前去過一次...

爸爸的生日

前天是老爸 60歲生日 一直也沒有給爸爸過過生日 決定從今年開始給爸爸過生日 於是昨天就從北京請假趕了回來 還算是比較順利,昨晚 23 20 就回到了家中 爸爸愛喝茶 專門買了一斤龍井 也算是盡盡孝心吧。早晨起來,媽媽就張羅買蛋糕,什麼時候出去吃飯的事情?本來說好中午去飯店給爸爸過生日,但媽媽又給兩...