codeforces
exmy
Less is more, and more is less.
展开
-
codeforces--623B Alice, Bob, Two Teams
传送门题意给定数组 p[i]p[i],每个 ii 标记一个 ‘A’ 或者’B’,因此也就有一个对应的字符数组,通过对这个字符数组的任意一个前缀子串或者后缀子串进行反转,即A→\rightarrowB 而B→\rightarrowA,最后求数组pp中标记为’B’的数之和最大。题解枚举每一个前缀子串,后缀子串,当然,这样直接枚举复杂度很高,利用前缀、后缀具有的性质,可以省去很多重复的计算。#includ原创 2016-03-02 17:24:03 · 529 阅读 · 0 评论 -
codeforces--652A Gabriel and Caterpillar (模拟)
传送门题解第一天是从2pm算起,然后从第二天开始都是从10am算起,模拟整个行进过程。需注意的是,caterpillar可以滑到地底下,意味着其所在高度可以是负的。#include <bits/stdc++.h>using namespace std;int main(){ #ifdef LOCAL fstream cin("data.in"); fstream cout原创 2016-03-26 08:31:39 · 666 阅读 · 0 评论 -
codeforces--701C They Are Everywhere(尺取法)
[cf 701Chttp://codeforces.com/problemset/problem/701/C)题解求包含所有出现过的元素的最短区间长度。见 poj–3320 Jessica’s Reading Problem(尺取法) ](http://blog.csdn.net/xushao_movens/article/details/51051111)#include <bits/stdc+原创 2016-07-24 21:30:21 · 588 阅读 · 0 评论 -
codeforces--707E. Garlands(二维树状数组)
cf 707E题解参考题解#include <bits/stdc++.h>using namespace std;const double eps = 1E-8;const int dx[4] = {1, 0, 0, -1};const int dy[4] = {0, -1, 1, 0};const int inf = 0x3f3f3f3f;const int N = 1E5 + 7;#原创 2016-08-26 16:41:48 · 986 阅读 · 0 评论 -
codeforces--733B. Parade
problem题解题意抽象一下,有两个数组 l[...],r[...]l[...], r[...],可以从中选择某一l[i],r[i]l[i], r[i]交换,也可以不选,求使|L−R||L - R|最小的i. L=∑ni=1l[i]L = \sum_{i=1}^{n}l[i], R=∑ni=1r[i]R = \sum_{i=1}^{n}r[i].#include <bits/stdc++.h>原创 2016-11-05 17:02:05 · 543 阅读 · 0 评论 -
codeforces--733A. Grasshopper And the String
problem题解AEIOUY是可以下脚跳的地方,求一步最少需跨多少个字母。 * 首尾加上’A’(AEIOUY中任意一个),计算相邻的两个相距的最长距离。#include <bits/stdc++.h>using namespace std;string s;int main(){ string letter = "AEIOUY"; cin >> s; int ans原创 2016-11-03 23:07:54 · 455 阅读 · 0 评论 -
codeforces--707D. Persistent Bookcase
cf 707D题解将每个操作视为一个结点,从而可以构造一棵树,查询则是从根出发遍历整棵树,回溯的过程中不要忘记修改惠原来的状态。#include <bits/stdc++.h>using namespace std;const int maxn = 1000 + 5;const int maxq = 100000 + 5;int n, m, q;bool bookcase[maxn][max原创 2016-08-26 16:13:16 · 721 阅读 · 0 评论 -
codeforces--707C. Pythagorean Triples
cf 707C题解Wikipedia:勾股数 勾股数的一种构造方法: 若 a=2n+1a = 2n + 1,则 b=2n2+2nb = 2n^2 + 2n,c=b+1c = b + 1; 若 a=2na = 2n,则 b=n2−1b = n^2 - 1,c=n2+1c = n^2 + 1import java.util.Scanner;public class CF707C { publ原创 2016-08-26 15:31:12 · 659 阅读 · 0 评论 -
codeforces--707B. Bakery
cf 707B题解n个顶点的图,在 k 个顶点和另外 n - k 个顶点中寻一条最短的边。#include <bits/stdc++.h>using namespace std;const double eps = 1E-8;const int dx[4] = {1, 0, 0, -1};const int dy[4] = {0, -1, 1, 0};const int inf = 0x3f原创 2016-08-26 15:10:06 · 689 阅读 · 0 评论 -
codeforces--707A. Brain's Photos
cf 707A题解import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(), m = in.nextInt(); boo原创 2016-08-26 14:58:41 · 552 阅读 · 0 评论 -
codeforces--701B Cells Not Under Attack
cf 701B题解行和列分别用数组表示,每放一子,标记所在行和列,同时记下” under attack “的行数和列数。#include <bits/stdc++.h>using namespace std;typedef long long LL;const int maxn = 100000 + 10;bool xflag[maxn], yflag[maxn];int n, m;i原创 2016-07-24 20:11:46 · 641 阅读 · 0 评论 -
codeforces--701A Cards
codeforces 701A题解枚举。#include <iostream>#include <algorithm>using namespace std;const int maxn = 100 + 10;int a[maxn], vis[maxn];int main(){ int n, sum = 0; cin >> n; for(int i = 1; i <= n;原创 2016-07-24 17:53:08 · 804 阅读 · 0 评论 -
codeforces--652B z-sort(sorting)
传送门题解z-sorted sequence 有如下特点: a1≤a2≥a3≤a4≥a5≤a6≥a7...a_1\le a_2\ge a_3 \le a4\ge a_5\le a_6\ge a_7... 可以看到,偶数位置上的数总是不小于两边奇数位置上的数,排序后按此规则填即可。#include <bits/stdc++.h>using namespace std;const int maxn原创 2016-03-26 08:42:38 · 510 阅读 · 0 评论 -
codeforces--651B Beautiful Paintings
题解桶排的思想,累加每个严格递增的序列的长度减一的值。n = int(input())a = [int(x) for x in input().split()]vis = [0] * 1005for i in range(n): vis[a[i]] += 1ans = 0while n: num = 0 for i in range(1, 1001):原创 2016-03-11 22:00:14 · 397 阅读 · 0 评论 -
codeforces--651A Joysticks(贪心)
题解贪心:每次都选择电量更小的那个进行充电。 注意:初始都为1的时候。a, b = [int(x) for x in input().split()]ans = 1while a > 2 or b > 2: if a > b: a, b = b, a a += 1 b -= 2 ans += 1if a == 1 and b == 1: ans = 0pri原创 2016-03-11 21:05:55 · 439 阅读 · 0 评论 -
codeforces--623A Grandma Laura and Apples(math)
题解逆推。#import sys#sys.stdin = open(r"F:\python workspace\.idea\random.txt")n, p = [int(x) for x in input().split()]a = [0 if len(input()) == 4 else 1 for i in range(n)]num = ans = 0for i in range(n原创 2016-03-02 20:07:18 · 372 阅读 · 0 评论 -
codeforces--623C The Smallest String Concatenation
题意把n个字符串连接起来,使其字典序最小。题解#include <bits/stdc++.h>using namespace std;vector<string> Set;int main(){ #ifdef LOCAL fstream cin("a.in"); #endif // LOCAL int n; string str; ios::sync原创 2016-03-02 18:57:01 · 487 阅读 · 0 评论 -
codeforces--650A Watchmen(math)
CF 650A题意求 |xi−xj|+|yi−yj|=(xi−xj)2+(yi−yj)2−−−−−−−−−−−−−−−−−√|x_i - x_j| + |y_i - y_j| = \sqrt{(x_i - x_j)^2 + (y_i - y_j)^2} 的个数。题解显然,只有xi==xjx_i == x_j 或者 yi==yjy_i == y_j 的时候才相等。#include <bits/stdc原创 2016-03-14 19:04:15 · 459 阅读 · 0 评论