有\(n\)個二維平面上的點,每兩個點之間連一條線段,將這些點劃分為兩個非空的集合\(a\),\(b\),同乙個集合內的兩點之間線段用黃色標註,不同集合的兩點之間線段用藍色標註,使距離相同的線段顏色相同。
先將所有點的座標以其中乙個點作為原點轉化一下,使其中必定有乙個點是\((0,0)\)。
然後將所有點按奇偶分為四組(0代表偶數,1代表奇數):\(a_,a_,a_,a_\)。
如果所有點同在\(a_\)中,將所有點的座標除2,直到至少有乙個點的乙個座標是奇數。
#include#define fi first
#define se second
#define lson l,mid,p<<1
#define rson mid+1,r,p<<1|1
#define pb push_back
#define ll long long
using namespace std;
const int inf=1e9;
const int mod=1e9+7;
const int maxn=1e5+10;
int n;
int x[1010],y[1010];
vectora[2][2];
int main()
int flag=1;
for(int i=n;i>=1;i--)
while(flag)
} for(int i=1;i<=n;i++)
if(!a[0][1].empty()||!a[1][0].empty())else
return 0;
}
Codeforces 976E 題解報告
1 當把所有的倍數2 a都加到同一health上,health增加的最多 2 先計算每乙個creature的hp dmg,按該值對所有的creature排序 再求和,i include using namespace std const int n 200 1000 9 int hp n dmg n...
codeforces 1030E 暴力 思維)
題目 題意 給定一些數,可將區間 l r 中某些數的二進位制位的1的位置更換,使得最終區間所有數異或和為0,求這樣的區間個數。思路 在那裡瞎dp了好久,wa的很徹底,借鑑了一下別人的思路。區間合法的條件是 這個區間1的個數為偶數,並且區間中二進位制位1最多的乙個數的二進位制個數小於等於和的一半。我們...
codeforces 731E 優先佇列 DP
題意 給出n個數字,a和b兩個人依次選中1 k k 2 把他們合併之後自己分數加上這些數的和。求兩個人在最右策略下a最多領先b多少。當數字只剩下乙個之後遊戲馬上結束。用 dp i 0 1 表示前i個數字被合併,現在是a b先手到最後遊戲結束最多領先多少。故a要最大化後繼狀態的值,b要最小化後繼狀態的...