Round545div2B(1138B)】的更多相关文章

一.题目链接 https://codeforces.com/problemset/problem/1138/B 二.思路 贪心是肯定不行的. 设会$[1,0]$的人存在容器$p_1$里面,会$[0,1]$的人存在容器$p_2$里面,会$[1,1]$的人存在容器$p_3$里面,会$[0,0]$的人存在容器$p_4$里面. 设$p_1.size()==s_1$,$p_2.size()==s_2$,$p_3.size()==s_3$,$p_4.size()==s_4$. 枚举在$p_1$部分选择的人数…
构造模拟要分情况讨论感觉不是够本质,然后官解是因为只有四个量所以可以根据限制条件列两个方程,再枚举一下解就可以了. const int maxn = 5000 + 5; int n, c[maxn], a[maxn]; vector<int> zero, two, cl, ac, ans1, ans2; int main() { cin >> n; getchar(); rep(i, 1, n) { char ch = getchar(); c[i] = ch - '0'; } g…
题意: 给你两个01串,要你选n/2个位置,使得选的位置在s1中"1"的数量等于未选的s2中"1"的数量 n<=5000,1s 思路: 设两个串中出现"00""01""10""11"的总数是A,B,C,D,我们选的个数分别是a,b,c,d 数据最多能承受n^2的暴力 根据题意,有a+b+c+d=n/2     ① c+d=B-b+D-d    ② 联立得d=B+D+a-n/2 于是…