bzoj1471
转化补集的思想,首先求出任意两点之间路径数目
然后求两条路径第一次相交在点k(按照拓扑排序的顺序)的数目,显然这里要用到容斥
然后pascal有坑爹的范围检测,所以运算中有些不会影响到答案但会爆int64的地方要判断一下
const inf=1e18;
var w:array[..,..] of boolean;
f:array[..,..] of int64;
g:array[..] of int64;
q,rd:array[..] of longint;
a,b,c,d,n,m,x,y,i,j,k,h,t:longint;
ans:int64; begin
readln(n,m);
for i:= to m do
begin
readln(x,y);
w[x,y]:=true;
inc(rd[y]);
end;
for i:= to n do
if rd[i]= then
begin
inc(t);
q[t]:=i;
end;
h:=;
while h<=t do
begin
x:=q[h];
for i:= to n do
if w[x,i] then
begin
dec(rd[i]);
if rd[i]= then
begin
inc(t);
q[t]:=i;
end;
end; inc(h);
end;
readln(a,b,c,d);
for i:= to n do
for j:=i to n do
if q[i]=q[j] then f[q[i],q[j]]:=
else begin
for k:=i to j- do
if w[q[k],q[j]] then
if f[q[i],q[j]]+f[q[i],q[k]]<inf then f[q[i],q[j]]:=f[q[i],q[j]]+f[q[i],q[k]];
end; for i:= to n do
begin
if (f[q[i],b]<>) and (f[q[i],d]<>) then
begin
g[q[i]]:=f[a,q[i]]*f[c,q[i]];
for j:= to i- do
g[q[i]]:=g[q[i]]-g[q[j]]*f[q[j],q[i]]*f[q[j],q[i]];
end;
end;
for i:= to n do
ans:=ans-g[i]*f[i,b]*f[i,d];
ans:=ans+f[a,b]*f[c,d];
writeln(ans);
end.
bzoj1471的更多相关文章
- 不相交路径[BZOJ1471] 容斥原理 拓扑排序
最近学容斥的时候又碰到一道类似的题目,所以想分享一个套路,拿这题来举例 [题目描述] 给出一个\(N(N\leq 150)\)个结点的有向无环简单图.给出4个不同的点\(a,b,c,d\),定义不相交 ...
- 【BZOJ1471】不相交路径 题解(拓扑排序+动态规划+容斥原理)
题目描述 在有向无环图上给你两个起点和终点分别为$a,b,c,d$.问有几种路径方案使得能从$a$走到$b$的同时能从$c$走到$d$,且两个路径没有交点. $1\leq n\leq 200,1\le ...
随机推荐
- btrace 实践笔记
btrace简介: btrace 是一个使用在JAVA平台上面的,安全的,动态跟踪工具.它一般用于动态跟踪正在运行的jAVA程序. 使用说明在这里.下载地址在这里. 下载的时候 ...
- Cassandra1.2文档学习(13)—— 数据读取
参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...
- CentOS配置vsftpd遇到550错误的解决办法
默认情况下用root是无法连接的,你可以创建一个非root帐户登录,但是登录是可以登录,却没有办法创建或是上传文件.有人说,可以把 SELinux关掉,可是这样未免也有点尺度太大了,其实是SELinu ...
- Linux恢复删除文件
一.介绍extundelete 1.extundelete的文件恢复工具,该工具最给力的一点就是支持ext3/ext4双格式分区恢复. 2. 在实际线上恢复过程中,切勿将extundelete安装到你 ...
- 自学JAVA总结
2.在定义常量的时候C语言中定义为const而JAVA中为final3.在JAVA声明成员变量的时候,使用static来定义.4.在JAVA中的boolean类型只包括true和false,但是在C中 ...
- 轻仿QQ音乐之音频歌词播放、锁屏歌词-b
先上效果图 歌词播放界面 音乐播放界面 锁屏歌词界面 一. 项目概述 前面内容实在是太基础..只想看知识点的同学可以直接跳到第三部分的干货 项目播放的mp3文件及lrc文件均来自QQ音乐 本文主要主要 ...
- [原创] zabbix学习之旅一:源码安装
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存 ...
- button以回车方式提交
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- spring +hibernate 启动优化【转】
最近在负责一个大项目,项目组成员包括项目经理大概10个人左右.项目技术用struts+spring+hibernate实现.项目的规模相对来说是比较大的,总共有10大模块,每个大模块又分为有十几个.甚 ...
- The 11th Zhejiang Provincial Collegiate Programming Contest->Problem A:A - Pokemon Master
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3776 题意:比较两组数据的总和大小. #include <iostr ...