bzoj 3197】的更多相关文章

这道题我们可以看成给定两个黑白树,可以修改其中一棵树的颜色,问最少修改多少颜色可以使两棵树同构. 首先我们知道在树的同构中树上最长链中点(如果是偶数的话就是中间两个点)是不变的,我们把这个点叫做树的重心(如果有两个重心bz,by的话我们可以加一个点连接bx,by,将加的这个点看成重心),那么我们可以以树的重心为根来DP. 我们可以处理使x,y为根的子树同构的最小代价,判断树同构的合法性我们可以递归的判断每一个儿子的size来判断,设x,y的子节点sonx,sony,那么假设我们求出了所有sonx…
Description Input Output Sample Input 4 1 2 2 3 3 4 0 0 1 1 1 0 0 0 Sample Output 1 HINT [思路] Hash,DP,KM 题目就是要找一个同构的树,使能够以最少的修改转换成目标状态. 树的形态可以有多种但是他的中心只有一个.先找出中心,如果在边上则新建一个节点.以中心为根建树.同构的节点在树上是对称的.求出Hash.Hash函数如下: H[u]=((((A*H[son1])*p+H[son2])*p+H[so…
题解: 先找到中信 然后dp 代码: #include<bits/stdc++.h> using namespace std; ; ],a[N],b[N],s[N],c[N],f[N]; void dfs(int x,int fa,int dep) { s[++s[]]=x; if (dep>mx) { mx=dep; go=x; memcpy(c,s,sizeof s); } ;i<=g[x][];i++) ); s[]--; } void build(int x,int fa)…
Description Input Output 其实就是给出两颗树,求一种两种树同构的方式,使得不同颜色个数最少$.$树的重新构建,其实就是指定不同的点为根节点$.$ 好在树的重心有一个重要的性质:在一颗树上只有一个/两个点之间又一条边$.$ 我们可以把第一棵树随便一个重心为根,求出每个点为根节点时的哈希值$.$ 再枚举第二棵树的重心,如果这个重心为根的哈希值与第一个树根的哈希值相同,说明两个树以这两个点为根的形状是相同的,我们就可以进行DP$.$令 $f[a][b]$ 表示 $a$ 为根与…
题解: 树上Hash 首先重心在边上就把边分裂 以重心为根建树,这样两个根一定对应 然后f[i][j]表示i匹配另一棵的j节点的最小代价 把他们的儿子摘出来做最小权匹配即可 #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<queue> #include<algorithm> using namespace std; cons…
洛谷3197&bzoj1008 越狱 Luogu bzoj 题解 所有状态减合法状态.SBT 答案为\(m^n-m*(m-1)^{n-1}\)太SB不解释 注意取膜的问题.相减可能减出负数,而SB的C++又不给正数结果,所以要加上膜数再膜.被坑了一次. Code // It is made by XZZ #include<cstdio> #include<algorithm> #define Fname "BZOJ1008" using namespac…
2127: happiness Time Limit: 51 Sec  Memory Limit: 259 MBSubmit: 1815  Solved: 878[Submit][Status][Discuss] Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文科或者理科,那么他们又将收获一些喜悦值.作为计算机竞赛教练的scp大老板…
3275: Number Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 874  Solved: 371[Submit][Status][Discuss] Description 有N个正整数,需要从中选出一些数,使这些数的和最大. 若两个数a,b同时满足以下条件,则a,b不能同时被选 1:存在正整数C,使a*a+b*b=c*c 2:gcd(a,b)=1 Input 第一行一个正整数n,表示数的个数. 第二行n个正整数a1,a2,?an.    …
2879: [Noi2012]美食节 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1834  Solved: 969[Submit][Status][Discuss] Description CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他很快就尝遍了美食节所有的美食.然而,尝鲜的欲望是难以满足的.尽管所有的菜品都很可口,厨师做菜的速度也很快,小M仍然觉得自己桌上没有已经摆在别人…
bzoj 4610 Ceiling Functi Description bzoj上的描述有问题 给出\(n\)个长度为\(k\)的数列,将每个数列构成一个二叉搜索树,问有多少颗形态不同的树. Input 第一行包含两个数\(n(1 \lt n \le 50)\)代表数列的数量,\(k(1 \le k \le 20)\)代表每个堆的插入序列长度. 接下来\(n\)行每行包含\(k\)个数代表每个数列. Output 输出不同树的形态数. Sample Input 12 7 291388 7861…