Home > Database > Mysql Tutorial > Codeforces Round #231 (Div. 2)

Codeforces Round #231 (Div. 2)

WBOY
Release: 2016-06-07 15:44:03
Original
1000 people have browsed it

Problems # Name A Counting Sticks standard input/output 1 s, 256 MB x2326 B Very Beautiful Number standard input/output 1 s, 256 MB x856 C Dominoes standard input/output 2 s, 256 MB x803 D Physical Education and Buns standard input/output

Problems

Codeforces Round #231 (Div. 2)

 

 

# Name    
A

Counting Sticks

standard input/output

1 s, 256 MB
Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) x2326
B

Very Beautiful Number

standard input/output

1 s, 256 MB
Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) x856
C

Dominoes

standard input/output

2 s, 256 MB
Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) x803
D

Physical Education and Buns

standard input/output

2 s, 256 MB
Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) x234
E

Lightbulb for Minister

standard input/output

1 s, 256 MB
Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) Codeforces Round #231 (Div. 2) x49

A题:先处理字符串把3个位置的数字保存下来,在去判断相等或者差值为2,去移动即可。

B题:枚举最后一位数字,模拟往前推数字,推到第一位判断是不是和一开始枚举的数字相同。

C题:贪心,10和01其实是一样的,所以先保存下11,10和01的总数,00的个数,先从左往右放11,放完之后,在从右边往左边去放10,01,每行交替着放即可,剩下的就是00。

D题:从小到大排序后,先枚举公差d,先变化后的序列A1是0,然后求出整个需要去向上移动的最大值和最小值(可能是负的),那么变化后的序列其实可以看成一条斜率k是d,b是A1的直线,然后这条直线无论上移下移,那么对于最大值和最小值肯定还是原来那2个位置,那么只要保证移动到最大值和最小值中的最大值尽可能小,那么就是去中间肯定是最优的,为(up + down + 1)/2  (要向上取整所以+1),最后维护ans的最小值即可。

D题:还有一种解法,二分答案,然后去判断,判断的方式先枚举公差,在用O(n)的方法去维护每个上下区间从大到小。

代码:

A题:

#include <stdio.h>
#include <string.h>

char c;

int main() {
    int num[3], s = 0; 
    memset(num, 0, sizeof(num));
    while ((c = getchar()) != EOF && c != '\n') {
        if (c == '+' || c == '=') s++;
        else num[s]++;
    }
    if (num[0] - 1 + num[1] == num[2] + 1) {
        if (num[0] == 1) num[1]--;
        else if (num[1] == 1) num[0]--;
        else if (num[0] != 1 && num[1] != 1) num[0]--;
        num[2]++;
    }
    else if (num[0] + num[1] == num[2]) {
    
    }
    else if (num[0] + 1 + num[1] == num[2] - 1) {
        if (num[2] == 1) {
            printf("Impossible\n");
            return 0;
        }
        num[2]--;
        num[0]++;
    }
    else {
        printf("Impossible\n");
        return 0;
    }
    int i;
    for (i = 0; i <br>
B题:

<pre class="brush:php;toolbar:false">#include <stdio.h>
#include <string.h>

int p, x, ans[1000005];

int main() {
    scanf("%d%d", &p, &x);
    int yu = 0;
    for (int i = 0; i = 0; j--)
                printf("%d", ans[j]);
            printf("\n");
            return 0;
        }
    }
    printf("Impossible\n");
    return 0;
}</string.h></stdio.h>
Copy after login

C题:

#include <stdio.h>
#include <string.h>

int n, m, i, j;
int num10, num00, num11;
char str[10], ans[1005][1005][4];

int main() {
    num10 = num00 = num11 = 0;
    scanf("%d%d", &n, &m);
    for (i = 0; i <br>
D题1:


<pre class="brush:php;toolbar:false">#include <stdio.h>
#include <string.h>
#include <algorithm>
#define INF 0x3f3f3f3f
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a) res) {
            ans = res; start = -up + res; dd = d;
        }
    }
    printf("%d\n%d %d\n", ans, start, dd);
}

int main() {
    scanf("%d", &n);
    for (int i = 0; i <br>
D题2:<br>

<pre class="brush:php;toolbar:false">#include <stdio.h>
#include <string.h>
#include <algorithm>
#define INF 0x3f3f3f3f
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)= 0; i--) {
			up = min(num[i] + Max, up - d);
			down = max(num[i] - Max, down - d);
		}
		if (down <br>
<br>


</algorithm></string.h></stdio.h>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template