【gcj 2008 1a、b】素数集合记数,扑克环、奶茶、共轭数次方和取整

1B

Problem A. Crop Triangles

http://code.google.com/codejam/contest/32017/dashboard#s=p0

组合计数问题,每个tree看成class[i = x%3][j = y%3]中的一个,枚举 E(i1+i2+i3=0MOD3, j1+j2+j3=0MOD3), 累加每种情况的组合数.  此外,三个相同点也视作。。


Problem B. Number Sets

http://code.google.com/codejam/contest/32017/dashboard#s=p1
根据 素数因子s>=P, 对[A, B<10^6+A] 里的数进行分类;
当不同类存在重叠元素时合并两类;
初始每个数为一类; 
统计最后的分类个数。

Problem C. Mousetrap

http://code.google.com/codejam/contest/32017/dashboard#s=p2
类似约瑟夫环,每隔k(可以转圈)消除一个元素(下标假定为j),然后k++。
任意给k,问它消除的元素下标j。 

1A

A. vector<x1...xn> * <y1...yn> 内积 最小值,贪心法,用一个的最大值乘另一个最小值。
证明:不妨令x1>x2, y1>y2, < x1, x2 > * <y1, y2> - <x1, x2> *<y2, y1> = x1(y1-y2)+x2(y2-y1) = (x1-x2)(y1-y2) > 0. 每次找到这样的顺序就交换,直到交换成贪心顺序无法再交换了。此时内积达到最小值。

Problem B. Milkshakes

Problem C. Numbers

经典的共轭复数的次数和 问题。(a+bx)^n + (a-bx)^n = 整数=一个可以用矩阵加速求得的数列项。

In this problem, you have to find the last three digits before the decimal point for the number (3 + √5)n.

For example, when n = 5, (3 + √5)5 = 3935.73982... The answer is 935.

For n = 2, (3 + √5)2 = 27.4164079... The answer is 027.


你可能感兴趣的:(【gcj 2008 1a、b】素数集合记数,扑克环、奶茶、共轭数次方和取整)