Mindis 2019百度之星初賽第一輪

2021-09-26 06:39:14 字數 2000 閱讀 1572

由於矩形邊界是算的,所以我們離散化的時候需要加點,用來表示相鄰兩個左邊之間的區間,1是x=1,3是x=2,2就是numx[x=2]-numx[x=1],點是沒有長度的,區間是有長度的。

我們用差分來統計離散化後每個點被多少矩形所覆蓋了,就能知道這個地方的速度,那麼這裡如果是個區間,那麼時間就是區間長度/速度,否則時間就是0

然後建圖,跑dijkstra。

#include#define maxl 1010

using namespace std;

const long long inf=1ll<<62;

const double eps=1e-8;

int n,m,cas,cnt,cntx,cnty,totx,toty,numcnt;

int xa,ya,xb,yb;

struct rec

a[maxl];

int ehead[maxl*maxl];

struct ed

e[maxl*maxl*8];

int numx[maxl],numy[maxl];

int num[maxl][maxl];

int sum[maxl][maxl];

double ans;

double dis[maxl*maxl];

char s[maxl];

int tx[5]=;

int ty[5]=;

typedef pairp;

priority_queue,greater>q;

bool in[maxl*maxl];

inline void add(int u,int v,double l)

inline void prework()

scanf("%d%d%d%d",&xa,&ya,&xb,&yb);

numx[++cntx]=xa;numx[++cntx]=xb;

numy[++cnty]=ya;numy[++cnty]=yb;

sort(numx+1,numx+1+cntx);

totx=unique(numx+1,numx+1+cntx)-numx-1;

sort(numy+1,numy+1+cnty);

toty=unique(numy+1,numy+1+cnty)-numy-1;

numcnt=0;

for(int i=1;i<=2*totx;i++)

for(int j=1;j<=2*toty;j++)

int id;

for(int i=1;i<=n;i++) }

id=lower_bound(numx+1,numx+1+totx,xa)-numx;

xa=id*2-1;

id=lower_bound(numx+1,numx+1+totx,xb)-numx;

xb=id*2-1;

id=lower_bound(numy+1,numy+1+toty,ya)-numy;

ya=id*2-1;

id=lower_bound(numy+1,numy+1+toty,yb)-numy;

yb=id*2-1;

for(int i=1;i<=2*totx;i++)

for(int j=1;j<=2*toty;j++)

sum[i][j]=sum[i][j]+sum[i][j-1];

int x,y;

double len,v;

cnt=0;

for(int i=1;i<=2*totx;i+=2)

for(int j=1;j<=2*toty;j+=2)

for(int k=1;k<=4;k++)

}} return dis[en];

}inline void mainwork()

ans=dij(num[xa][ya],num[xb][yb]);

}inline void print()

int main()

return 0;

}

百度之星 2019 決賽遊記

咕咕咕。先是簡單的開幕式,郭老又來了。今年的比賽題目是給你乙個神經網路的計算圖,所有計算節點都跑在乙個裝置上,1併發 所有通訊節點都跑在另乙個裝置上,3併發,要求給乙個拓撲序,使得執行完的時間盡量短。今年提供自定義測試,終於不會像去年那樣第一輪爆零直接跑路了。先隨便求了個類似最長路的東西然後直接按照...

百度之星Valley Numer

problem description 眾所周知,度度熊非常喜歡數字。它最近發明了一種新的數字 valley number,像山谷一樣的數字。當乙個數字,從左到右依次看過去數字沒有出現先遞增接著遞減的 山峰 現象,就被稱作 valley number。它可以遞增,也可以遞減,還可以先遞減再遞增。在遞...

2018 百度之星

資格賽 problem a problem b problem c problem d problem e problem f 初賽 a problem a 簽到題problem b 用deque雙端佇列模擬即可。插入的時候用insert。problem c problem d problem e ...