题目地址:codeforces 292 B
用队列维护度数为1的点,也就是可以唯一确定的点,然后每次找v1,v2,并用v2来更新与之相连的点,如果更新后的点度数为1,就加入队列。若最后还有为”.”的,说明无解或解不唯一。
代码如下:#include
#include
#include
#include
#include...
分类:
编程语言 时间:
2015-02-20 22:04:45
阅读次数:
267
依旧是《训练指南》上的一道例题。书上讲的比较抽象,下面就把解法具体一下。因为涉及到父子关系,因此自然而然可以将n个节点构造成一棵树,最后将形成一个森林。接下来将使用递归的手法。设f(i)是以节点i为树根的子树,节点i有儿子c1,c2,c3....cj共j棵子树。s[i]为树根为i的子树包含的节点数。如果分别先给各个子树内部排序,那么毫无疑问,
共有f(c1)*f(c2)*f(c3)....*f(...
分类:
其他好文 时间:
2015-02-19 18:40:24
阅读次数:
267
刘汝佳《训练指南》里的一道例题。典型的容斥原理的应用。设C(M*N,K)为在M行,N列里放K个数的方案数。因为要求第一列,最后一列,第一行,最后一行都有放置,显然答案为:
C(M*N,K)-(2*C(M*(N-1),K)+2*C((M-1)*N,K))+(4*C((M-1)*(N-1),K)+C(N*(M-2),K)+C((N-2)*M,K))-(2*C((N-2)*(M-1),K)+2*C((...
分类:
其他好文 时间:
2015-02-17 16:31:03
阅读次数:
159
这题想了好长时间,果断没思路。。于是搜了一下题解。一看题解上的”快速幂”这俩字,不对。。这仨字。。犹如醍醐灌顶啊。。。因为x的范围是10^9,所以当时想的时候果断把dp递推这一方法抛弃了。我怎么就没想到矩阵快速幂呢。。。。。。。还是太弱了。。sad。。100*100*100*log(10^9)的复杂度刚刚好。
于是,想到了矩阵快速幂后,一切就变得简单了。就可以把距离<=x的所有距离的点数都通过...
分类:
其他好文 时间:
2015-02-16 23:29:24
阅读次数:
310
题目地址:poj1392
欧拉回路水题。
代码如下:#include
#include
#include
#include
#include
#include
#include
#include
#include
using na...
分类:
其他好文 时间:
2015-02-16 15:36:37
阅读次数:
163
问题描述
如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。
我们把第一个图的局面记为:12345678.
把第二个图的局面记为:123.46758
显然是按从上到下,从左到右的顺序记录数字,空格记为句点。
本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达。如果无论多少步都无法到达,则输出-1。
输入格式
输入第一行包含九宫的初态,第二行包含九宫的终态。
输...
分类:
编程语言 时间:
2015-02-15 15:12:04
阅读次数:
299