Simpson積分裸題
P.S. 如何解決線段長度並:按左端點排序,然後記錄當前右端點的最大值,掃一遍即可。
#include#include #include #include #include #include #define F(i,j,n) for(int i=j;i<=n;i++) #define D(i,j,n) for(int i=j;i>=n;i--) #define ll long long #define ull unsigned long long #define ld double #define maxn 1005 #define inf 1e9 #define eps 1e-7 using namespace std; int n,tot; bool tag[maxn]; struct circle{ld x,y,r;}a[maxn],b[maxn]; struct segment{ld l,r;}p[maxn]; inline int read() { int x=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while (ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } inline bool cmpc(circle a,circle b) { return a.r }