boundary
給定n個二維平面上的點,問哪乙個經過原點的圓的邊界上包含的所給點最多
三點確定乙個圓(保證三個點不共線),由於題目已經確定了(0, 0)所以我們還需要列舉其餘
兩個點,由於(0, 0)這個點一定在圓上,所以只要我們確定了乙個圓心就可以唯一確定乙個
圓,使用map記錄每乙個圓心會對應的圓經過了多少個點,最後輸出最值即可;
確定圓心的方法:使用圓的一般式(使用幾何方法一直不對,可能是精度問題):
x²+y²+dx+ey+f=0(d²+e²-4f>0)
圓心:(-d/2, -e/2)
半徑:sqrt(d^2+e^2-4*f)/2
#pragma gcc optimize(2)
#include#include#include#include#include#include#include#include#include#include#include#include#define buff ios::sync_with_stdio(false)
#define rush() int case = 0; int t; cin >> t; while(t--)
#define rep(i, a, b) for(int i = a; i <= b; i ++)
#define per(i, a, b) for(int i = a; i >= b; i --)
#define reps(i, a, b) for(int i = a; b; i ++)
#define clc(a, b) memset(a, b, sizeof(a))
#define buff ios::sync_with_stdio(false)
#define readl(a) scanf("%lld", &a)
#define readd(a) scanf("%lf", &a)
#define readc(a) scanf("%c", &a)
#define reads(a) scanf("%s", a)
#define read(a) scanf("%d", &a)
#define lowbit(n) (n&(-n))
#define pb push_back
#define lson rt<<1
#define rson rt<<1|1
#define ls lson, l, mid
#define rs rson, mid+1, r
#define y second
#define x first
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pairpii;
const int mod = 1e9+7;
const double eps = 1e-8;
const double pi = acos(-1);
const int n = 2e3+7;
int dcmp(double x)
struct point
};typedef point vector;
double operator ^ (const vector & v, const vector & w)
vector operator - (const vector & v, const vector & w)
bool operator < (const vector & v, const vector & w)
mapmp;
point p[n];
int res = 0;
void print(char c, point t)
; }
point o = ;
rep(i, 0, n-2)
}cout << res+1
41 1
0 22 0
2 2*/
牛客第二場 Boundary
題意 給n個點,求最多多少個點共圓且該圓過原點。三個不共線的點即可確定乙個圓。利用圓心公式,直接列舉兩個點與圓點求圓心,圓心最多的就是答案,圓心公式直接套的板子。include include include using namespace std const int n 2e3 10 double...
18牛客第二場 J farm
示例1輸入 2 2 2 1 22 3 1 1 2 2 2 2 1 2 1 1 輸出題意 給出乙個n m的區域,t次操作 每個點都是一種植物 t次操作區域覆蓋肥料,如果區域裡面的植物不等於覆蓋的飛亮那麼就植物死亡,求有多少植物死亡。思路 我們將每種植物的座標存下來,然後我也將每種肥料的覆蓋區域座標存下...
牛客多校第二場 J farm
輸入描述 the first line of input contains 3 integers n,m,t n m 1000000,t 1000000 for the next n lines,each line contains m integers in range 1,n m denotin...