[Cnoi2020]线性生物
期望入门题。但是我不会做。
考虑设\(E_{x\to{x+1}}\)为\(x\)到\(x+1\)点的期望步数。
则\(ans = \sum_{i = 0}^{n} E_{x\to{x+1}}\)
知\(E_{y\to{x+1}} = \sum_{i = y}^{x}E_{i\to{i + 1}}\)
\(E_{x\to{x+1}} = \frac{1}{son + 1} + \frac{1}{son + 1}\sum_{(x,y)\ in\ {Son}}(E_{y\to{x+1}} + 1)\)
设\(E_{x\to{x+1}} = f_x\),\(sum_x = \sum_i^xf_i\)
\(f_x = (son + 1) + \sum_{(x,y)\ in\ Son}sum_{x-1} - sum_{y - 1}\)
// Problem: P6835 [Cnoi2020]线形生物
// Contest: Luogu
// URL: https://www.luogu.com.cn/problem/P6835
// Memory Limit: 128 MB
// Time Limit: 1000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include<iostream>
#include<cstdio>
#define ll long long
#define mod 998244353
#define N 1000005
int head[N],cnt;
struct P{
	int to,next;
}e[N << 1];
inline void add(int x,int y){
	e[++cnt].to = y;
	e[cnt].next = head[x];
	head[x] = cnt;
}
ll n,m,k,out[N];
ll f[N],sum[N];
int main(){
	scanf("%lld%lld%lld",&k,&n,&m);
	for(int i = 1;i <= m;++i){
		ll l,r;
		scanf("%lld%lld",&l,&r);
		add(l,r);
		out[l]++;
	}
	for(int i = 1;i <= n;++i){
		f[i] = (out[i] + 1);
		for(int j = head[i];j;j = e[j].next){
			int v = e[j].to;
			f[i] = (f[i] + (sum[i - 1] - sum[v - 1]) % mod + mod) % mod;
		}
		sum[i] = (sum[i - 1] + f[i]) % mod;
	}
	std::cout<<sum[n] % mod<<std::endl;
	return 0;
}
												
											[Cnoi2020]线性生物的更多相关文章
- 线性整流函数(ReLU)
		
线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元, 是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代 ...
 - MCP|XHK|High-density peptide arrays help to identify linear immunogenic B cell epitopes in individuals naturally exposed to malaria infection(高密度肽段阵列有助于在自然暴露于疟疾感染的个体中识别线性免疫原性B细胞表位)
		
文献名:High-density peptide arrays help to identify linear immunogenic B cell epitopes in individuals n ...
 - ReLu(修正线性单元)、sigmoid和tahh的比较
		
不多说,直接上干货! 最近,在看论文,提及到这个修正线性单元(Rectified linear unit,ReLU). Deep Sparse Rectifier Neural Networks Re ...
 - Mol Cell | 张令强/贺福初/魏文毅/刘翠华揭示线性泛素化调控血管生成新机制
		
景杰学术 | 报道 泛素化修饰作为主要的蛋白质翻译后修饰之一,与细胞周期.应激反应.信号传导和DNA损伤修复等几乎所有的生命活动密切相关[1].泛素分子通常含有7个赖氨酸残基,通过这些残基可以和其他泛 ...
 - 线性判别分析LDA原理总结
		
在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结.这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结. ...
 - 2. SVM线性分类器
		
在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子.如图所示 和是要区分的两个类别,在二维平面中它们的样本如上图所示.中间的直 ...
 - linux2.6 内存管理——逻辑地址转换为线性地址(逻辑地址、线性地址、物理地址、虚拟地址)
		
Linux系统中的物理存储空间和虚拟存储空间的地址范围分别都是从0x00000000到0xFFFFFFFF,共4GB,但物理存储空间与虚拟存储空间布局完全不同.Linux运行在虚拟存储空间,并负责把系 ...
 - bzoj2693--莫比乌斯反演+积性函数线性筛
		
推导: 设d=gcd(i,j) 利用莫比乌斯函数的性质 令sum(x,y)=(x*(x+1)/2)*(y*(y+1)/2) 令T=d*t 设f(T)= T可以分块.又由于μ是积性函数,积性函数的约束和 ...
 - BZOJ 2693: jzptab [莫比乌斯反演 线性筛]
		
2693: jzptab Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1194 Solved: 455[Submit][Status][Discu ...
 
随机推荐
- Install WSL
			
Install WSL Prerequisites You must be running Windows 10 version 2004 and higher (Build 19041 and hi ...
 - django  1.11.16之环境搭建
			
django版本:django1.11.16 windows环境 python 3.6.3 !!!可先安装虚拟环境在进行环境搭建 1.安装django:pip install django= ...
 - 【UE4 C++ 基础知识】<14> 多线程——AsyncTask
			
概念 AsyncTask AsyncTask 系统是一套基于线程池的异步任务处理系统.每创建一个AsyncTas,都会被加入到线程池中进行执行 AsyncTask 泛指 FAsyncTask 和 FA ...
 - 让全链路压测变得更简单!Takin2.0重磅来袭!
			
自Takin社区版1.0发布两个多月以来,有很多测试同学陆续在各自的工作中运用了起来,其中包括金融.电商.物流.出行服务等行业.这个过程中我们收到了很多同学的反馈建议,同时也了解到很多同学在落地全链路 ...
 - Coursera Deep Learning笔记 结构化机器学习项目 (上)
			
参考:https://blog.csdn.net/red_stone1/article/details/78519599 1. 正交化(Orthogonalization) 机器学习中有许多参数.超参 ...
 - Java:ConcurrentHashMap类小记-2(JDK7)
			
Java:ConcurrentHashMap类小记-2(JDK7) 对 Java 中的 ConcurrentHashMap类,做一个微不足道的小小小小记,分三篇博客: Java:ConcurrentH ...
 - Asp.net Core使用EFCore+Linq进行操作
			
注:EFCore和EF有区别,在core中写的也有一点区别,每个人写法不同仅供参考写的比较细致耐性一点看完会有收获的 首先加上必要的引用 using Microsoft.EntityFramework ...
 - 并发编程从零开始(八)-ConcurrentHashMap
			
并发编程从零开始(八)-ConcurrentHashMap 5.5 ConcurrentHashMap HashMap通常的实现方式是"数组+链表",这种方式被称为"拉链 ...
 - java中的软,弱,虚引用介绍与特性分析
			
java的弱,虚,软引用介绍 1.弱,虚,软引用的介绍 对于绝大部分的对象而言,在程序中是存在着一个引用变量引用该对象,这是常见的引用方式,也就是常说的 强引用,对于强引用引用的对象,系统JVM是不会 ...
 - [LGP1866]编号
			
传送门 题意:找n个数,使得 $ 1 \leq a_i \leq Maxnumber_i $ 求有多少种组合 这题我们可以看到,还有一种无解的情况 我们可以先判断无解的情况 首先把Maxnumber数 ...