现在的位置: 首页 > 综合 > 正文

codeforces-div2-128

2013年08月07日 ⁄ 综合 ⁄ 共 599字 ⁄ 字号 评论关闭

A题:暴力

题目数据量很小,所以可以用暴力。

1题的分数的取值可能是a, a - da, a - da * 2, a - da  * 3,……, a - da * (n - 1);或者0

2题的分数的取值可能是b, b - db, b - db * 2, b - db * 3, ……, b - db * (n - 1);或者0

然后暴力。

复杂度:O (n^2)

code:略

B题:模拟

链接:http://codeforces.com/contest/203/problem/B

思路:每染黑一个点,判断此点是否构成了一个黑色3×3的框框。

复杂度:O(n)

C题:排序+贪心

链接:http://codeforces.com/contest/203/problem/C

思路:按照内存先排序后进行贪心。

复杂度:O(n*log(n))

D题:模拟+几何

链接:http://codeforces.com/contest/203/problem/D

思路:有一段关键代码,就是确定小球碰撞的最终位置,如果采用推公式的方法很容易错,故采取公式 + 计算的方法:

code:

double func(double mod, double x){
    int n = (int)(x / (2.0 * mod));
    x -= n * 2.0 * mod;
    
    while(x < 0.0) x += 2.0 * mod;
    while(x > 2.0 * mod) x -= 2.0 * mod;
    if(x > mod) x = 2.0 * mod - x;
    
    return x;
}

复杂度:O(1)

抱歉!评论已关闭.