首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
BZOJ4011 HNOI2015落忆枫音(动态规划+拓扑排序)
】的更多相关文章
BZOJ4011:[HNOI2015]落忆枫音(DP,拓扑排序)
Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂……我们也不可能再见到你姐姐吧.」 恒逸给出了一个略微无厘头的回答.枫茜听后笑了笑. 「那你仔细观察过枫叶吗?」 说罢,枫茜伸手,接住了一片飘落的枫叶. 「其实每一片枫叶都是有灵魂的.你看,枫叶上不是有这么多脉络吗?我听说,枫叶上有一些特殊的位置,就和人的穴位一样.脉络都是连接在这些穴位之间的.枫树的灵…
[BZOJ4011][HNOI2015]落忆枫音:拓扑排序+容斥原理
分析 又是一个有故事的题目背景.作为玩过原作的人,看题目背景都快看哭了ToT.强烈安利本境系列,话说SP-time的新作要咕到什么时候啊. 好像扯远了嘛不管了. 一句话题意就是求一个DAG再加上一条有向边所构成的有向图的以\(1\)为根的外向树形图的个数. 考虑一个DAG的情况,答案显然是: \[\prod_{i=2}^{n}in[i]\] 其中\(in[i]\)表示结点\(i\)的入度,这个式子的意思就是给每个非根结点选一条入边.由于是DAG所以这样构造出来的一定是一个外向树形图. 加入一条边…
【bzoj4011】[HNOI2015]落忆枫音 容斥原理+拓扑排序+dp
题目描述 给你一张 $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 的. 输出 输…
BZOJ 4011: [HNOI2015]落忆枫音 计数 + 拓扑排序
Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出 这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂……我们也不可能再见 到你姐姐吧.」 恒逸给出了一个略微无厘头的回答.枫茜听后笑了笑. 「那你仔细观察过枫叶吗?」 说罢,枫茜伸手,接住了一片飘落的枫叶. 「其实每一片枫叶都是有灵魂的.你看,枫叶上不是有这么多脉络吗?我听说, 枫叶上有一些特殊的位置,就和人的穴位一样.脉络都是连接在这些穴位之间的.…
[luogu3244 HNOI2015] 落忆枫音(容斥原理+拓扑排序)
传送门 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 输出一行,为添加了从穴位…
【题解】 [HNOI2015]落忆枫音 (拓扑排序+dp+容斥原理)
原题戳我 Solution: (部分复制Navi_Aswon博客) 解释博客中的两个小地方: \[\sum_{\left(S是G中y→x的一条路径的点集\right))}\prod_{2≤j≤n,(j∉S)}degree_j\] 因为加了\(x\)到\(y\)这条边出现了环,所以环上一定有一条边是从\(x\)连向\(y\),所以在没有这条边时,能从\(y\)连向\(x\)的方案都是不满足的. 因此,上面这个式子就是找出了一条从\(y\)至\(x\)的路径后,连边的方案数.可以看作,\(y\)到\…
bzoj4011[HNOI2015]落忆枫音 dp+容斥(?)
4011: [HNOI2015]落忆枫音 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1125 Solved: 603[Submit][Status][Discuss] Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出 这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂……我们也不可能再见 到你姐姐吧.」 恒逸给出了一个略微无厘头的回答.枫茜听后笑了笑.…
BZOJ4011 HNOI2015落忆枫音(动态规划+拓扑排序)
DAG中每个点选一条入边就可以构成一棵有向树,所以如果没有环答案就是∏degreei. 考虑去掉含环的答案.可以看做把环缩点,剩下的点仍然可以任意选入边.于是去除的方案数即为∏degreei/∏degreek,k为环上点. 环相当于考虑新加入边的终点到起点的所有路径.设f[i]为i为起点的所有路径提供的上述贡献,则f[i]=Σf[k]/degree[i].拓扑排序之后dp即可. #include<iostream> #include<cstdio> #include<cmat…
BZOJ4011: [HNOI2015]落忆枫音
Description 「恒逸,你相信灵魂的存在吗?」 郭恒逸和姚枫茜漫步在枫音乡的街道上.望着漫天飞舞的红枫,枫茜突然问出 这样一个问题. 「相信吧.不然我们是什么,一团肉吗?要不是有灵魂……我们也不可能再见 到你姐姐吧.」 恒逸给出了一个略微无厘头的回答.枫茜听后笑了笑. 「那你仔细观察过枫叶吗?」 说罢,枫茜伸手,接住了一片飘落的枫叶. 「其实每一片枫叶都是有灵魂的.你看,枫叶上不是有这么多脉络吗?我听说, 枫叶上有一些特殊的位置,就和人的穴位一样.脉络都是连接在这些穴位之间的.…
[BZOJ4011][HNOI2015]落忆枫音-[dp乱搞+拓扑排序]
Description 传送门 Solution 假如我们的图为DAG图,总方案数ans为每个点的入度In相乘(不算1号点).(等同于在每个点的入边选一条边,最后一定构成一棵树). 然而如果加了边x->y后图中带了环,则ans个方案中不合法的方案一定是选择了原DAG图中y->x的路径后又选了额外加的边x->y. 假如说我们找到了某条y->x的路径,则选了这条路径的不合法方案数就为除了该路径上的其他点入度相乘. 考虑在原图上dp.假如原图上存在了一条u->v的路径,dp[u]+…