CodeForces - 789D Weird journey】的更多相关文章

D. Weird journey time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his motherland — Uzhlyandia. I…
Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his motherland — Uzhlyandia. It is widely known that Uzhlyandia has n cities connected with m bidirectional roads. Also, there are no two roads in the countr…
题意:给定n个点,m条边,问能否找到多少条符合条件的路径.需要满足的条件:1.经过m-2条边两次,剩下两条边1次  2.任何两条路的终点和起点不能相同. 欧拉路的条件:存在两个或者0个奇度顶点. 思路:首先把给每条边都再增加一条边,所有点的度数都是偶数.每条边分为普通边和自环边. 1.删去两条没有公共顶点的普通边,会有四个点的度数变成奇数,不符合欧拉路. 2.删去两条有公共顶点的普通边,会有两个点的度数成为奇数,符合 2.删去一个自环边和一个普通边,会有两个点的度数成为奇数,符合 4.删去两条自…
题意: 给出无向图. good way : 仅有两条边只经过一次,余下边全经过两次的路 问你共有多少条不同的good way. 两条good way不同仅当它们所经过的边的集合中至少有一条不同 (很关键) 存在多个边连通分量的情况肯定是0. 当确定某两条边只经过一次的时候: 由于经过边的顺序不重要,余下边全经过两次,至多只有一条good way 那么把剩下经过两次的边拆分成两条经过一次的边,记现在的图是新图 原图中是否存在good way 就等价于新图中是否存在欧拉路 暴力枚举两条边判断肯定是要…
cf788B/789D. Weird journey 题意 n个点m条边无重边有自环无向图,问有多少种路径可以经过m-2条边两次,其它两条边1次.边集不同的路径就是不同的. 题解 将所有非自环的边变成两份.然后去掉两条边,看有没有欧拉路. 如果两条边都不是自环,那么只当他们相邻时(共享一个点),剩下的图有两个奇数度的点.有欧拉路.所以第i个点作为共享的点,有\(C(cnt_i,2)\)种路径. 如果其中一个是自环,那么其他m-1条边任意选一个都可以.有loop*(m-1)条,不过每个自环算了两次…
题目链接:http://codeforces.com/problemset/problem/788/B B. Weird journey time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little boy Igor wants to become a traveller. At first, he decided to vi…
codeforces 407 div1 B题(Weird journey) 传送门 题意: 给出一张图,n个点m条路径,一条好的路径定义为只有2条路径经过1次,m-2条路径经过2次,图中存在自环.问满足条件的路径数 题解: 推论:对于一条边u-->v,我们将其选作为那两条边之一,那么剩下一条边必然与之相邻或者是自环,因为这样才能满足这两条边只走1次. 那么这条边的贡献值为这条边的相邻边数+自环数,假如这条边本身为自环,那么由于剩下的边可以任选(前一个推论),贡献值为m-1 这个AC时间很6啊23…
D. Weird journey time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Little boy Igor wants to become a traveller. At first, he decided to visit all the cities of his motherland — Uzhlyandia. I…
[题目链接]:http://codeforces.com/problemset/problem/789/D [题意] 给你n个点,m条边; 可能会有自环 问你有没有经过某两条边各一次,然后剩余m-2条边,每条边各2次的 遍历方案,有的话输出方案数 [题解] /* 把每条边都复制一条相同的边; 然后问题就能转化为在2*m条边中,去掉两条边; 然后使得剩下的图能够进行一笔画(每条边都只经过一次) 则使奇点的个数为0或为2就好了; 考虑自环边和普通边; 对于普通边来说: ①如果删掉的两条普通边是不相邻…
传送门:http://codeforces.com/contest/788/problem/B 好题!好题! 首先图不连通的时候肯定答案是0,我们下面讨论图联通的情况 首先考虑,如果我们每条边都经过两边,那么肯定是可行的 因为这样相当于把每条边复制一遍,然后问图中是否存在欧拉路径 既然每条边都出现了两遍,那么所有点的度数一定都是偶数,所以肯定有欧拉路径 现在考虑将某两条边变成出现一遍,这样的话可能会有一些点的度数变成奇数 如果我们把两条非自环的边变成出现一遍,并且这两条边不交于同一个点,那么就会…