平面上有n個圓,他們的圓心都在x軸上,給出所有圓的圓心和半徑,求有多少對圓是相離的。
例如:4個圓分別位於1, 2, 3, 4的位置,半徑分別為1, 1, 2, 1,那麼, 這5對都有交點,只有是相離的。
注意圓心在座標軸上,之前因為沒看到這句話把題跳了。
然後就可以轉化為線段,按照左端點排序,i代表線段迴圈,二分求左端點在第i條線段右端點左邊的最後乙個線段,他後面的線段就是相離的,加入答案。
#include#include#includeusing namespace std;
#define io_opt std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
int n,ans;
struct ee[50020];
int cmp(e x,e y)
else
} ans+=n-tmp;
} printf("%d\n",ans);
return 0;
}
51nod 1278 相離的圓
題目 平面上有n個圓,他們的圓心都在x軸上,給出所有圓的圓心和半徑,求有多少對圓是相離的。例如 4個圓分別位於1,2,3,4的位置,半徑分別為1,1,2,1,那麼,這5對都有交點,只有是相離的。input 第1行 乙個數n,表示圓的數量 1 n 50000 第2 n 1行 每行2個數p,r中間用空格...
51 NOD 1278 相離的圓
1278 相離的圓 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 平面上有n個圓,他們的圓心都在x軸上,給出所有圓的圓心和半徑,求有多少對圓是相離的。例如 4個圓分別位於1,2,3,4的位置,半徑分別為1,1,2,1,那麼,這5對都有交點,只有是相離的。inpu...
51Nod 1278 相離的圓
平面上有n個圓,他們的圓心都在x軸上,給出所有圓的圓心和半徑,求有多少對圓是相離的。例如 4個圓分別位於1,2,3,4的位置,半徑分別為1,1,2,1,那麼,這5對都有交點,只有是相離的。input 第1行 乙個數n,表示圓的數量 1 n 50000 第2 n 1行 每行2個數p,r中間用空格分隔,...