大意: 给定$n$节点$m$条边无向图, 不保证连通, 求选出最多邻接边, 每条边最多选一次. 上界为$\lfloor\frac{m}{2}\rfloor$, $dfs$贪心划分显然可以达到上界. #include <iostream> #include <sstream> #include <algorithm> #include <cstdio> #include <math.h> #include <set> #include…
Wizard's Tour Time Limit: 50 Sec  Memory Limit: 512 MB Description Input Output Sample Input 4 5 1 2 3 2 2 4 3 4 4 1 Sample Output 2 4 1 2 4 3 2 HINT Solution 首先,一个连通块的答案可以是floor(m / 2).考虑如何构造出一种解. 首先我们先搞出一个dfs树. 那么现在对于一个点,有三种边:1. 非树边:2. 儿子边:3. 父亲边.…
F. Wizard's Tour time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output All Berland residents are waiting for an unprecedented tour of wizard in his Blue Helicopter over the cities of Berland! It…
Codeforces 1041 E 构造题. 给出一种操作,对于一棵树,去掉它的一条边.那么这颗树被分成两个部分,两个部分的分别的最大值就是这次操作的答案. 现在给出一棵树所有操作的结果,问能不能构造这样一颗树,可以的话输出它. 反正就是看每个数出现了几次,然后形成一条链,从这个数开始,依次减小,链向N. 这样处理每个数,就行了. 中间一旦有冲突(不能形成链了),直接NO. #include <bits/stdc++.h> using namespace std; map<int,int…
题意 给出一张无向图,要求找出尽量多的长度为2的不同路径(边不可以重复使用,点可以重复使用) 分析 yzy:这是原题 http://www.lydsy.com/JudgeOnline/problem.php?id=4874 首先猜测,一个连通块内,如果是偶数条边,那么所有边都可以用上.如果是奇数条边,那么只会剩下一条边.只要给出一个方案构造的方法,那么正确性就可以从构造方法中得出. 长度为2的路径中中间那个点和两条边都有关.我们可以认为这两条边都属于中间那个点. 于是现在就变成把每条边分配给它的…
A #include<bits/stdc++.h> using namespace std; typedef long long ll; , MAXM = ; //int to[MAXM << 1], nxt[MAXM << 1], Head[MAXN], ed = 1; //int cost[MAXM << 1]; //inline void addedge(int u, int v, int c) //{ // to[++ed] = v; // nxt[…
A #include <bits/stdc++.h> using namespace std; typedef unsigned long long ull; int main() { int n; cin >> n; string a; cin >> a; ; ; ; i < a.size(); i++) { ') { one++; } else { zero++; } } ) { one--; } ; i <= one; i++) { cout <…
Sightseeing tour Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6986   Accepted: 2901 Description The city executive board in Lund wants to construct a sightseeing tour by bus in Lund, so that tourists can see every corner of the beauti…
题目链接 \(Description\) 给定一个长为\(n\)的足迹序列(只包含\(L,R\)两种字符),你需要\(LRLRLR...\)这样交替在\(L\)和\(R\)上走(第一步可以选择\(L\)也可以选\(R\)).当你在\(L\)时,下一步可以走到任意一个没走过的\(R\):在\(R\)时,下一步可以走到任意一个没走过的\(L\).求走完这个\(L,R\)序列最少需要往回走几次,并输出方案(往回走是指从位置\(i\)走到位置\(j\),\(j\lt i\)).保证存在一组可行方案. \…
http://codeforces.com/contest/1004/problem/D 题意:网格图给定到中心点的曼哈顿距离数组, 求该图n,m及中心点位置 首先可以观察到距离最大值mx一定在某个角上, 可将它调整到位置(n,m) 设中心点(x, y) 则可以得到 n-x+m-y=mx 再注意到假若图无限大, 则对每个距离d的取值一定有4*d个 即第一个取值数<4*d的d可以调整为中心点的x坐标 然后就可以暴力枚举因子判断了 #include <iostream>#include &l…