题目大意:给定一棵树,求本质不同的独立集个数对1000000007取模后的值
首先独立集个数应该都会求吧- -
令f[x][0]为x这个点不选的独立集个数
f[x][1]为x这个点选的独立集个数
那么有f[x][0]=Σf[son[x]][0]+f[son[x]][1]
f[x][1]=Σf[son[x]][0]
但是现在要求本质不同
说到本质不同我们很容易想到群论...
分类:
其他好文 时间:
2015-01-28 09:57:08
阅读次数:
251
题目大意:给定一棵树和两组权值,求第一组权值最少改变多少个之后这棵树经过重标号之后与第二组权值相同
这个题做法很神- -
首先和3162一样的处理方式 我们先找到这棵树的重心作为根 如果重心有两个就新建一个根连向这两个重心
令f[x][y]表示x所在子树的第一组权值和y所在子树的第二组权值匹配的最小花销
转移的必要条件是x所在的子树与y所在的子树同构且x与y深度相同
为了保证无后效性,x...
分类:
其他好文 时间:
2015-01-28 09:47:34
阅读次数:
235
【HDU】1198Farm Irrigation 基础最小生成树★1598find the most comfortable road 枚举+最小生成树★★1811Rank of Tetris 并查集+拓扑排序★★3926Hand in Hand 同构图★3938Portal 离线+并查集★★248...
分类:
其他好文 时间:
2015-01-24 22:45:59
阅读次数:
208
题意:
两棵树(10^5个节点) 问其中有多少对子树是同构的
思路:
树的同构一般使用hash来判断
hash函数为1、val=A 2、val = (val*P)^Soni%Q 其中Soni为第i个子树的hash值 3、val=val*B%Q
注意Son值应该排序 (本题因为左右子树是区分开的 因此不用排序)
代码:
#include
#include
#include...
分类:
其他好文 时间:
2015-01-24 13:10:45
阅读次数:
156
用java实现子图同构算法Ullmann,并采取了refinement来提高效率。...
分类:
编程语言 时间:
2015-01-15 22:15:03
阅读次数:
343
业界主流的PLM产品都是基于历史PDM系统延伸与发展起来的,更多强调是产品本身的交付管理(BOM、图档、模型等),进入PLM时代,围绕产品本身展开的前端规划、中间项目管理、后续服务管理成为业务提升的重点;青铜器RDM在科研项目管理灵活有十多年的经验积累,围绕科研创新项目,构建以计划任务为主线,实现项目管理十大领域、各个管理要素的一体化管理模式。...
1.概念 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示] 与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。 建造模式是....
分类:
编程语言 时间:
2014-12-25 14:33:23
阅读次数:
190
题目链接:点击打开链接
给定多叉树的先序遍历结果,求多叉树的同构数
思路:区间dp
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
int min(int a,int b){return a>b?b:a;}
int max(...
分类:
其他好文 时间:
2014-12-24 13:31:30
阅读次数:
136
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能是比较简单的事情,只管在群集里面添...
分类:
数据库 时间:
2014-12-17 20:13:06
阅读次数:
201
#include "OJ.h"
#include
using namespace std;
bool isSameConstructNum(int m)//判断m是否是同构数
{
int squareM = m*m;
int initialM = m*m;
int temp = 0;
int partialNum =0;
int interNum = 1;//存储对应位数需要成的倍...
分类:
其他好文 时间:
2014-12-11 17:31:55
阅读次数:
161