Codeforces Round #209 (Div. 2)

A:一次搞定不可能,如果有边界上的点可以两次搞定,没有的话每一次就只能搞定一个角落了,所以答案不是2就是3

B:

    for(int i = 1; i <= n; i++)
    {
        if(k) printf("%d %d ",i*2,i*2-1),--k;
        else printf("%d %d ",i*2-1,i*2);
    }
n+k - (n-k) = 2*k

C:con1*x^i + con2*x^(i+1) + ..
假如con1不能被x整除,这个式子能提取出的最大的x幂次的因子是不是就是x^i了

然后就暴力化简就好了

D:整除关系是一种偏序关系,跟大于小于类似,于是马上联想到以前做过的题上,对于每个位置处理处L[i] R[i] 表示往左往右能延伸的极限

复杂度O(n)

类似的题

http://poj.org/problem?id=2559

你可能感兴趣的:(Codeforces Round #209 (Div. 2))