Codeforces 1152E(欧拉路径)】的更多相关文章

看样例然后发现只要求一个一笔画即可,用板子. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <vector> using namespace std; const int maxn = 1e5 + 5; int n, b[maxn], c[maxn], _b[maxn], _c[maxn]; int d[maxn <…
题目链接:http://codeforces.com/problemset/problem/1152/E 题目大意 有一个 1~n-1 的排列p 和长度为 n 的数组 a,数组b,c定义如下: b:bi = min(ai, ai + 1),1 <= i <= n-1. c:ci = max(ai, ai + 1),1 <= i <= n-1. 数组b',c'定义如下: b':b'i = bpi,1 <= i <= n-1. c':c'i = cpi,1 <= i…
 E. Maximum Matching 题目链接:https://codeforces.com/contest/1038/problem/E 题意: 给出n个项链,每条项链左边和右边都有一种颜色(范围1~4),然后每条项链都有对应的价值. 现在你可以任意改变项链的位置,也可以交换左右两边的颜色,问怎么做才能得到最大的价值.一条项链得到价值,就要求其左边的颜色和左边的项链右边颜色相等,并且右边的颜色和右边项链左边的颜色相等. 题解: 分析就可以发现这个题就是找一条权值最大的欧拉路径(每条边刚好经…
E. One-Way Reform 题目连接: http://codeforces.com/contest/723/problem/E Description There are n cities and m two-way roads in Berland, each road connects two cities. It is known that there is no more than one road connecting each pair of cities, and ther…
就是一欧拉路径 贴出邻接表欧拉路径 CODE #include <bits/stdc++.h> using namespace std; const int MAXN = 100005; int n, b[MAXN], c[MAXN], bin[MAXN<<1], tot; int val[MAXN], deg[MAXN], stk[MAXN<<1], top; int fir[MAXN], cnt=1, nxt[MAXN<<1], to[MAXN<&…
奇差.ABC三题,排名400. 首先是策略问题. 由于第一眼看到D的时候感觉不太会做,于是去看E. 一看到E这不欧拉回路吗,可做可做, 于是--我不会欧拉回路! 手推.推了半天啥也没弄出来, 于是大概按照样例琢磨了一个小小的(错的)思路, 于是--WA! 想了想发现有个反例,也不会改, 想回去做D,但是--the contest has ended!!! 我怎么没看时间呢??? 啊啊啊... D多么简单... 1152d:首先把状态改变为(i,j),表示到了第i个位置,打开的左括号有多少. 那么…
传送门:http://codeforces.com/contest/788/problem/B 好题!好题! 首先图不连通的时候肯定答案是0,我们下面讨论图联通的情况 首先考虑,如果我们每条边都经过两边,那么肯定是可行的 因为这样相当于把每条边复制一遍,然后问图中是否存在欧拉路径 既然每条边都出现了两遍,那么所有点的度数一定都是偶数,所以肯定有欧拉路径 现在考虑将某两条边变成出现一遍,这样的话可能会有一些点的度数变成奇数 如果我们把两条非自环的边变成出现一遍,并且这两条边不交于同一个点,那么就会…
[题目链接]:http://codeforces.com/contest/723/problem/E [题意] 给你一个无向图; 让你把这m条边改成有向图; 然后使得出度数目等于入度数目的点的数目最多; 输出这个点的数目; 同时输出更改之后的所有有向边 [题解] 需要先明确; 就是图中度数为奇数的点的个数肯定是偶数个; 因为每条边都会贡献2度数; 所以最后的总度数肯定是偶数的; 则奇度数的点肯定得是偶数个,不然最后不会满足总度数为偶数; 知道这个之后; 猜想; 最后的答案就为原图中度数为偶数的点…
[题目链接]:http://codeforces.com/problemset/problem/508/D [题意] 给你一个字符的所有连续3个的子串; 让你复原出原串; (包含小写.大写字母以及数字); [题解] 相当于给你n条边; 每条边的两端; 一个点是由s[0]s[1]组成的; 另一端是s[1]s[2]组成的; (用map很容易做hash..) 然后让你求一个欧拉通路; 即经过所有的边仅一次的路径(一笔画); 有向图; 可以先算出每个点的入度和出度; 设入度和出度的差的点数为1的个数为c…
题目链接:https://codeforces.com/contest/1334 A. Level Statistics 题意 一个关卡有玩家的尝试次数和通关次数,按时间顺序给出一个玩家 $n$ 个时刻的数据,判断这些数据是否合理. 思路 通关次数不会多于尝试次数:$c_i≤p_i$ 后一时刻的尝试次数不会多于前一时刻:$p_i≤p_{i-1}$ 后一时刻的通关次数不会多于前一时刻:$c_i≤c_{i-1}$ 增加的通关次数不会多于增加的尝试次数:$c_i-c_{i-1}≤p_i-p_{i-1}…