Hdu 4661 树上拓扑序计数】的更多相关文章

#include <bits/stdc++.h> using namespace std; typedef long long ll; ; ; ; ], nxt[MAXM << ], Head[MAXN], ed = ; inline void addedge(int u, int v) { to[++ed] = v; nxt[ed] = Head[u]; Head[u] = ed; } int T, n; ll dp[MAXN], sz[MAXN]; ll fac[MAXN],…
题面 [传送门](https://arc083.contest.atcoder.jp/tasks/arc083_d) 思路 这是一道真正的好题 第一步:转化模型 行列支配类的问题,常见做法就是把行和列变成二分图中的点,把矩阵内元素作为边,转化为图论问题 本题中,我们把第$(i,j)$格子中的球,变成连接$i$行和$j$列的无向边即可 容易发现,对于不同的联通块之间,子问题互相没有影响,因此可以对于每个块分别处理 第二步:联通块性质 观察可得,若任何一个联通块的点数和边数不相等,那么题目无解 若满…
题目描述                     Description 求一颗有根树/树形图的拓扑序个数. 输入描述                 Input Description               第一行一个n和一个素数P,表示这颗树有n个节点,要求拓扑序个数modP之后的结果. 接下来n-1行,每行有两个数字x和y,表示x是y的父亲. 保证1<=n<=1500000, n<P<2^31,P为质数. 输出描述                 Output Desc…
考场只打了 \(52\) 分暴力...\(ljc\) 跟我说了一下大致思路,我回去敲了敲. \(f[i]\) 表示状态为 \(i\) 时的方案数.我们用二进制 \(0/1\) 表示不选/选点 \(i\). 我们设 \(j\in i\) 且拓扑序最小. \[f[i]=\sum f[i\text{^}2^j]\times 2^{i\&w[j]}\] 为什么这个是对的呢? 因为 \(j\) 连出的那些没有连向状态 \(i\) 的边一定会被删去,然后那些连向边只用 \(2^i\) 搞一搞.时间复杂度 \…
题意: 一个有n个数的排列,给你一些位置上数字的大小关系.求合法的排列有多少种. 思路: 数字的大小关系可以看做是一条有向边,这样以每个位置当点,就可以把整个排列当做一张有向图.而且题目保证有解,所以只一张有向无环图.这样子,我们就可以把排列计数的问题转化为一个图的拓扑排序计数问题. 拓扑排序的做法可以参见ZJU1346 . 因为题目中点的数量比较多,所以无法直接用状压DP. 但是题目中的边数较少,所以不是联通的,而一个连通块的点不超过21个,而且不同连通块之间可以看做相互独立的.所以我们可以对…
题目链接: [十二省联考2019]字符串问题 首先考虑最暴力的做法就是对于每个$B$串存一下它是哪些$A$串的前缀,然后按每组支配关系连边,做一遍拓扑序DP即可. 但即使忽略判断前缀的时间,光是连边的时间就会爆炸,显然不能暴力连边. 对于前缀不好解决,可以将字符串翻转然后变成判断是否是后缀. 可以发现对于后缀自动机的$parent$树,每个节点是子树内所有节点的后缀. 那么我们可以利用$parent$树来优化建图过程,将树上每个点向子节点连边. 对于每个$A$串和$B$串在后缀自动机上匹配出对应…
HDU.5692 Snacks ( DFS序 线段树维护最大值 ) 题意分析 给出一颗树,节点标号为0-n,每个节点有一定权值,并且规定0号为根节点.有两种操作:操作一为询问,给出一个节点x,求从0号节点开始到x节点,所能经过的路径的权值最大为多少:操作二为修改,给出一个节点x和值val,将x的权值改为val. 可以看出是树上修改问题.考虑的解题方式有DFS序+线段树,树链剖分,CXTree.由于后两种目前还不会,选择用DFS序来解决. 首先对树求DFS序,在求解过程当中,顺便求解树上前缀和(p…
Toposort 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5638 Description There is a directed acyclic graph with n vertices and m edges. You are allowed to delete exact k edges in such way that the lexicographically minimal topological sort of the gr…
hdu 5111 树上求交(树链剖分 + 主席树) 题意: 给出两棵树,大小分别为\(n1\),\(n2\), 树上的结点权值为\(weight_i\) 同一棵树上的结点权值各不相同,不同树上的结点权值可以出现重复 每次查询 \(u1\) \(v1\) \(u2\) \(v2\) 第一棵树上\(u1\) 到 \(v1\)的路径上所有结点权值组成的集合\(S1\) 第二棵树上\(u2\) 到 \(v2\)的路径上所有结点权值组成的集合\(S2\) 求\(S1\) 与 \(S2\) 的交集 \(1…
3832: [Poi2014]Rally Time Limit: 20 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 168  Solved: 84[Submit][Status][Discuss] Description An annual bicycle rally will soon begin in Byteburg. The bikers of Byteburg are natural long distance cyclists…