傳送門
寫出式子,若存在 $a \in a$,$b \in b$,使得 $b+v=a$,那麼此方案會產生衝突
即存在 $a \in a$,$b \in b$,使得 $v=a+(-b)$,設 $c=a+(-b)$ 那麼有 $v \in c$,$+$ 表示閔可夫斯基和,$-$ 表示座標符號取反
所有直接求出 $a$ 和 $-b$ 的閔可夫斯基和的凸包,然後查詢 $v$ 是否在凸包內即可
注意直接求閔可夫斯基和的凸包可能會有一些平行的向量,為了方便查詢,重新做一遍凸包即可
我的做法會把凸包座標變化,所以查詢的向量也要跟著變化
#include#include#include
#include
#include
using
namespace
std;
typedef
long
long
ll;typedef
double
db;inline
intread()
while(ch>='
0'&&ch<='
9')
return x*f;
}const
int n=2e5+7
;struct
poi
inline poi
operator + (const poi &tmp) const
inline poi
operator - (const poi &tmp) const
inline
bool
operator
< (const poi &tmp) const
}a[n],b[n],c[n],st[n],sum;
inline ll cross(poi a,poi b)
inline db dot(poi a,poi b)
inline db len(poi a)
inline
bool cmp(const poi &a,const poi &b)
void tubao(poi *p,int &tot)
int check(poi *p,int
tot,poi a)
intn,m,t,q;
intmain()
tubao(c,t);
for(int i=1;i<=q;i++)
return0;
}
小店購物 JSOI2008 BZOJ 2260
grant是乙個個體戶老闆,他經營的小店因為其豐富的優惠方案深受附近居民的青睞,生意紅火。小店的優惠方案十分簡單有趣。grant規定 在一次消費過程中,如果您在本店購買了精製油的話,您購買香皂時就可以享受2.00元 塊的 如果您在本店購買了香皂的話,您購買可樂時就可以享受1.50元 聽的 諸如此類的...
BZOJ 4327 JSOI2012 玄武密碼
字尾自動機裸題。藉著這道裸題總結一下字尾自動機的查詢問題。1.查字首 查詢時不跳parent,遇到空節點就跳出。2.查子串 查詢時跳parent,記錄最大ans.3.查次數 lct維護right陣列 4.查不同的串的數目 在建樹時維護,乙個點對答案的貢獻為this max len this pare...
JSOI2009 bzoj1449 球隊收益
description input output 乙個整數表示聯盟裡所有球隊收益之和的最小值。首先假設全輸,然後給每場比賽分配乙個贏家,每個隊伍每多贏一場多獲得的收益作為費用。但是有乙個問題,如何保證每次走的是對應的邊?也就是,如何保證贏第一場的時候增加的收益是贏一場減贏零場,而不是贏兩場減贏一場?...