最近学容斥的时候又碰到一道类似的题目,所以想分享一个套路,拿这题来举例 [题目描述] 给出一个\(N(N\leq 150)\)个结点的有向无环简单图.给出4个不同的点\(a,b,c,d\),定义不相交路径为两条路径,两条路径的起点分别为\(a\)和\(c\),对应的两条路径的终点为\(b\)和\(d\),要求满足这两条路径不相交,即两条路径上没有公共的点. 现在要求不相交路径的方案数. [输入格式] 第一行为\(N,M\).表示这个有向无环图有\(N\)个节点,\(M\)条边. 接下来\(M\)…
题目描述 在有向无环图上给你两个起点和终点分别为$a,b,c,d$.问有几种路径方案使得能从$a$走到$b$的同时能从$c$走到$d$,且两个路径没有交点. $1\leq n\leq 200,1\leq m\leq 5000$. -------------------------------------------------------------------- 经过了深刻地思考,你会发现,由于这是一个$DAG$图,我们可以将其转化为动态规划来做,同时我们先要将图建立成一个拓扑图. 然后你又经…
题目描述 给你一张 $n$ 个点 $m$ 条边的DAG,$1$ 号节点没有入边.再向这个DAG中加入边 $x\to y$ ,求形成的新图中以 $1$ 为根的外向树形图数目模 $10^9+7$ . 输入 输入文件的第一行包含四个整数 n.m.x 和 y ,依次代表枫叶上的穴位数.脉络数,以及要添加的脉络是从穴位 x 连向穴位 y 的. 接下来 m 行,每行两个整数,由空格隔开,代表一条脉络.第 i 行的两个整数为 ui 和 vi ,代表第 i 条脉络是从穴位 ui 连向穴位 vi 的.  输出 输…
传送门 Description 给你一张 n 个点 m 条边的DAG,1 号节点没有入边.再向这个DAG中加入边 x→y ,求形成的新图中以 1 为根的外向树形图数 模 10^9+7 . Input 输入文件的第一行包含四个整数 n.m.x和y,依次代表枫叶上的穴位数.脉络数,以及要添加的脉络是从穴位 x连向穴位y的. 接下来 m行,每行两个整数,由空格隔开,代表一条脉络.第 i 行的两个整数为ui和vi,代表第 i 条脉络是从穴位 ui连向穴位vi的. Output 输出一行,为添加了从穴位…
 HDU 1285 确定比赛名次 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 有N个比赛队(1<=N<=500),编号依次为1,2,3,....,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P1在P2之前.现在请你编程序确定排…
题意:给你一张DAG,求图中的最长路径. 题解:用拓扑排序一个点一个点的拿掉,然后dp记录步数即可. 代码: int n,m; int a,b; vector<int> v[N]; int in[N]; int dp[N]; int main() { //ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); n=read(); m=read(); for(int i=1;i<=m;++i){ a=read(); b=read(); v[a…
题目描述 给出一个N(n<=150)N(n<=150)N(n<=150)个结点的有向无环简单图.给出444个不同的点aaa,bbb,ccc,ddd,定义不相交路径为两条路径,两条路径的起点分别为aaa和ccc,对应的两条路径的终点为bbb和ddd,要求满足这两条路径不相交,即两条路径上没有公共的点. 现在要求不相交路径的方案数. 题目分析 这道题类似于[bzoj 4767] 两双手 记f[i][j]f[i][j]f[i][j]表示从iii走到jjj路径条数 g[i]g[i]g[i]表示两…
Sorting It All Out Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39602   Accepted: 13944 Description An ascending sorted sequence of distinct values is one in which some form of a less-than operator is used to order the elements from s…
链接:https://ac.nowcoder.com/acm/contest/160/B 来源:牛客网 题目描述 给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符,问图上有几条路径满足路径上经过的边上的字符组成的的字符串去掉空格后以大写字母开头,句号 '.' 结尾,中间都是小写字母,小写字母可以为0个. 输入描述: 第一行两个整数n,m 接下来m行,每行两个整数a,b和一个字符c,表示一条起点为a,终点为b的边,边上的字符是c 1 ≤ n, m ≤ 5000…
分析 又是一个有故事的题目背景.作为玩过原作的人,看题目背景都快看哭了ToT.强烈安利本境系列,话说SP-time的新作要咕到什么时候啊. 好像扯远了嘛不管了. 一句话题意就是求一个DAG再加上一条有向边所构成的有向图的以\(1\)为根的外向树形图的个数. 考虑一个DAG的情况,答案显然是: \[\prod_{i=2}^{n}in[i]\] 其中\(in[i]\)表示结点\(i\)的入度,这个式子的意思就是给每个非根结点选一条入边.由于是DAG所以这样构造出来的一定是一个外向树形图. 加入一条边…