摘要:
给出数组A和B问是否相等。 可以用java的bigdecimal 和 string的去末尾0函数实现。 public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNextBigDec 阅读全文
摘要:
可见,可以求出0-10克的重量,且方案数都是1. 此题就是用多项式相乘的原理求幂次和系数。 int c1[130]; int c2[130]; int main() { int n; while (~scanf("%d", &n)) { for (int i = 0; i <= n; i++) c1 阅读全文
摘要:
计算所有线段的所有子集的复杂度的和。 复杂度:线段集合的连通块个数。 连通块:不相交的并 考虑每个线段对前 i - 1个线段的贡献,若不选,则复杂度和不变,若选,则不相交的部分会贡献 2 ^ x 的复杂度。 故每次只需计算x的大小,x的大小可以建立前缀和数组来维护。 void Put(ll x) { 阅读全文
摘要:
给定两个数A和B,求最小的X,满足:A=X+YB=X xor Yxor 表示位运算的异或 异或是不进位的加法,因此A - B 表示的就是X + Y的进位情况。 由于加法得到的进位情况会是异或的两倍。所有 (A - B) / 2 是X 和 Y 的共同都有的部分。所有X可以认为是(A-B)/2/。 in 阅读全文
摘要:
求凸包的面积 const double pi = acos(-1.0); const int maxp = 1010; //`Compares a double to zero` int sgn(double x) { if (fabs(x) < eps)return 0; if (x < 0)re 阅读全文
摘要:
给定n个点可以形成一个多边形,按照逆时针的顺序输出这n个点。 考虑用叉乘比较极角 struct Point { int x, y; Point(int _x = 0,int _y = 0): x(_x),y(_y){} Point operator -(const Point& b)const { 阅读全文