將乙個h*w的矩形切成三份,每一次只能水平或者垂直切,問最大塊的面積-最小快的面積 的最小值是多少。
先列舉水平切第一塊的高i,那麼剩餘部分h-i要麼繼續水平切、要麼垂直切,因為要使最大快-最小快 最小,那麼剩下的兩塊肯定是相差最少為好,所以可以拆成w/2和w-w/2兩塊,也可以拆成(h-i)/2和(h-i)-(h-i)/2。
再列舉垂直切的第一塊的寬度,後續操作類似。
#includeusing namespace std;#define inf 0x3f3f3f3f
#define ll long long
const int n=200005;
const int mod=1e9+7;
const double eps=1e-8;
const double pi = acos(-1.0);
#define lowbit(x) (x&(-x))
int main()
ans=min(ans,max(i*w,max(a*(w/2),a*(w-w/2)))-min(i*w,min(a*(w/2),a*(w-w/2))));
// cout/ cout<}
// cout
}cout<}
return 0;
}
atcoder 082 E 暴力 計算幾何
給出點集,然後求乙個凸包的所有的子凸包的貢獻總和,貢獻計算是凸包內部含邊界上點的數量n,凸包的不包含邊界的頂點數s,貢獻為 2 首先很容易想到,凸包上包含內部的所有點構成的子凸包有sum i 3 n c i,n 種情況,這個式子其實就是二項式的一部分。但是有可能出現多點共線的不合法情況,所以問題轉換...
F Spy string(思維,暴力)
題意 給你n個長度為m的字串,要求你找出乙個字串,這個字串需要滿足與這n個字串的差別 字元不同 數最大為1,如果找不到則輸出 1。思路 既然我們要找到乙個字串,和每乙個字串的差別都小於等於1,那麼我們直接拿第乙個字串,對於每一位,從a到z列舉,如果列舉完了所有位,還找不到,那就找不到符合條件的串,因...
L Ray in the tube 思維 暴力
思路 思維 暴力。記 a b a,ba,b的橫座標距離為xxx。1.當x xx為奇數時,顯然x 1 x 1x 1包含所有奇數的情況。2.當x xx為偶數時,因為任何偶數質因數分解都可分解為 2k1 p2k 2 pm km 2 times p 2 dots p m 2k1 p 2k2 pm km 所以...