雅礼集训DAY 6 T1 xmasdag
感谢gryz的mly大好人再次给我提供了题目和数据。
和昨晚那个题几乎一样,都是x^n最后转化成第二类斯特林数*阶乘*Σ(和路径长度有关的组合数),而因为组合数是可以利用Pascal公式实现O(1)递推的,所以最后的复杂度都降为O(NK)。
随便推一下,
ANS(x)=Σ(p是1到x的一条路径) len(p)^k = Σ(h=1 to k) S(k,h) Σ(p是1到x的一条路径)P(len(p),h)= Σ(h=1 to k) S(k,h)*h!*Σ(p是1到x的一条路径)C(len(p),h)。
所以我们设now[x][i]=Σ(p是1到x的一条路径)C(len(p),i)。
因为保证了是个DAG且1可以到达所有节点,所以图中只有1的入度是0,然后我们直接从1开始拓扑排序就行了。
需要注意的是因为这个题只是求1到x的路径,所以除了now[1][0],其他的now[x][0]一开始都是0,而不像昨天的那个题是求树上任意一个其他点到它的路径。
(总感觉我脸黑常熟大的样子,如图)
code:
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<cmath>
#define ll long long
#define maxn 100005
#define ha 998244353
#define pb push_back
using namespace std;
vector<int> g[maxn];
int ans,n,k,m,id[maxn];
int S[][],jc[];
int q[maxn],hd=,tl=;
int now[maxn][]; inline void init(){
S[][]=,jc[]=;
for(int i=;i<=;i++){
jc[i]=jc[i-]*(ll)i%ha;
for(int j=;j<=;j++) S[i][j]=((ll)S[i-][j-]+S[i-][j]*(ll)j)%ha;
}
} inline void solve(){
q[++tl]=,now[][]=;
int x,to;
while(hd<=tl){
x=q[hd++];
for(int i=g[x].size()-;i>=;i--){
to=g[x][i];
now[to][]+=now[x][];
if(now[to][]>=ha) now[to][]-=ha;
for(int j=;j<=k;j++){
now[to][j]+=now[x][j];
if(now[to][j]>=ha) now[to][j]-=ha;
now[to][j]+=now[x][j-];
if(now[to][j]>=ha) now[to][j]-=ha;
} if(!(--id[to])) q[++tl]=to;
}
}
} int main(){
freopen("xmasdag.in","r",stdin);
freopen("xmasdag.out","w",stdout); init(); scanf("%d%d%d",&n,&m,&k);
int uu,vv;
for(int i=;i<=m;i++){
scanf("%d%d",&uu,&vv);
g[uu].pb(vv),id[vv]++;
} // for(int i=1;i<=n;i++) now[i][0]=1;
solve(); for(int i=;i<=n;i++){
ans=;
for(int j=;j<=k;j++) ans=((ll)ans+S[k][j]*(ll)jc[j]%ha*(ll)now[i][j])%ha;
printf("%d\n",ans);
} return ;
}
雅礼集训DAY 6 T1 xmasdag的更多相关文章
- @雅礼集训01/13 - T1@ union
目录 @description@ @solution@ @part - 1@ @part - 2@ @part - 3@ @accepted code@ @details@ @description@ ...
- @雅礼集训01/10 - T1@ matrix
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个矩阵.求它的所有子矩阵中本质不同的行的个数之和. inp ...
- 【loj6034】「雅礼集训 2017 Day2」线段游戏
#6034. 「雅礼集训 2017 Day2」线段游戏 内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:Special Judge 上传者: 匿名 题目描述 ...
- 雅礼集训1-9day爆零记
雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...
- LOJ_6045_「雅礼集训 2017 Day8」价 _最小割
LOJ_6045_「雅礼集训 2017 Day8」价 _最小割 描述: 有$n$种减肥药,$n$种药材,每种减肥药有一些对应的药材和一个收益. 假设选择吃下$K$种减肥药,那么需要这$K$种减肥药包含 ...
- 雅礼集训【Day6-1】字符串
雅礼集训[Day6-1]字符串 假设我们有串\(a\),我们设\(a'\)为\(a\)翻转后按为取反过后的串. 我们只考虑前一半的,长为\(m\)的串.如果前半截匹配了\(a\)或者\(a'\),则\ ...
- 「雅礼集训 2017 Day7」事情的相似度
「雅礼集训 2017 Day7」事情的相似度 题目链接 我们先将字符串建后缀自动机.然后对于两个前缀\([1,i]\),\([1,j]\),他们的最长公共后缀长度就是他们在\(fail\)树上对应节点 ...
- 「雅礼集训 2017 Day2」解题报告
「雅礼集训 2017 Day2」水箱 我怎么知道这种题目都能构造树形结构. 根据高度构造一棵树,在树上倍增找到最大的小于约束条件高度的隔板,开一个 \(vector\) 记录一下,然后对于每个 \(v ...
- 「雅礼集训 2017 Day1」 解题报告
「雅礼集训 2017 Day1」市场 挺神仙的一题.涉及区间加.区间除.区间最小值和区间和.虽然标算就是暴力,但是复杂度是有保证的. 我们知道如果线段树上的一个结点,\(max=min\) 或者 \( ...
随机推荐
- UIControl事件---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址: iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 UIControl事件1.UIControlEventTouchDown单点触摸按下 ...
- floyd骚操作——传递闭包
传递闭包的含义指通过传递性推导出尽量多的元素之间的关系,而传递闭包一般都是采用floyd算法. 下面用两道题来实现传递闭包: Problem 1(POJ3660): 题目链接:http://poj.o ...
- POJ 3276 Face The Right Way (尺取法)
题目链接 Description Farmer John has arranged his N (1 ≤ N ≤ 5,000) cows in a row and many of them are f ...
- 24、redis中的sentinel的作用?
redis中的sentinel的作用? Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Re ...
- jQuery取值的一些奇奇怪怪的操作
语法解释:1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发2. var ch ...
- OnLoad & DOMReady
window.onload 事件会在页面或图像加载完成后立即触发(即所有元素的资源都下载完毕).如果页面上有许多图片.音乐或falsh,onload事件会迟迟无法触发.所以出现了DOM Ready事件 ...
- javascript中的addEventListener与attchEvent
1.addEventListener 该方法用于向指定元素添加事件句柄 浏览器的支持情况为chrome1.0.ie9+.fireFox1.0.opera7.0 该方法包含三个参数event, func ...
- 【遍历集合】Java遍历List,Map,Vector,Set的几种方法
关于list,map,set的区别参考http://www.cnblogs.com/qlqwjy/p/7406573.html 1.遍历list @Test public void testList( ...
- TCP的3次握手/4次握手
三次握手: 在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图下所示: (1) 第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SE ...
- VPS L2TP配置
原文地址:https://raymii.org/s/tutorials/IPSEC_L2TP_vpn_with_Ubuntu_14.04.html 只要保证ipsec verify没错,基本都可以成功 ...