题意:对于所有的 \((u,v)\),询问有多少条边在这两个点的最短路边集之并内。

考虑对于每一个 \(u\) 建立最短路 DAG 图,问题变成询问唯一的度数为 \(0\) 的节点到所有节点路径的并集有多少条边。

倒是很容易想到用 bitset 去做,不过复杂度是 \(O(\frac {n^4} {\omega})\),应该跑不过去。我们注意到这题 \(O(n^3)\) 可过,所以考虑有没有 \(O(n^2)\) 的暴力。

由于枚举点对是 \(O(n^2)\) 的,考虑把边的计数转化到点上。

令 \(sum[u]\) 表示 \(u\) 的入度,那么 \((u,v)\) 的路径上有多少条边就转化成了路径并集的权值和,此时就可以使用枚举点对做掉了。

题外话:能不能有更快的做法?

我们发现对于 \(u\) 需要枚举的点一定在其的“子树”之内,所以考虑维护一下子树集合。

然后我们发现 bitset 可以胜任这份工作,不过复杂度是 \(O(\frac {n^3} {\omega}+n^3)\)

笔者只想快点儿做掉这道题,而且建图的话代码太长了,所以只写了 Floyd 的暴力。

  1. #include<cstdio>
  2. typedef unsigned uint;
  3. const uint M=505;
  4. uint n,m,sum[M],a[M][M],d[M][M],ans[M];
  5. inline uint min(const uint&a,const uint&b){
  6. return a>b?b:a;
  7. }
  8. signed main(){
  9. register uint i,j,u,v,val;
  10. scanf("%u%u",&n,&m);
  11. for(i=1;i<=n;++i){
  12. for(j=1;j<=n;++j)a[i][j]=a[j][i]=d[i][j]=d[j][i]=0x7fffffff;
  13. d[i][i]=0;
  14. }
  15. for(i=1;i<=m;++i)scanf("%u%u%u",&u,&v,&val),a[u][v]=a[v][u]=d[u][v]=d[v][u]=min(a[u][v],val);
  16. for(i=1;i<=n;++i){
  17. for(u=1;u<=n;++u){
  18. for(v=1;v<=n;++v){
  19. d[u][v]=min(d[u][v],d[u][i]+d[i][v]);
  20. }
  21. }
  22. }
  23. for(i=1;i<=n;++i){
  24. for(u=1;u<=n;++u)sum[u]=ans[u]=0;
  25. for(u=1;u<=n;++u){
  26. for(v=1;v<=n;++v){
  27. if(d[i][u]+a[u][v]==d[i][v])++sum[v];
  28. }
  29. }
  30. for(u=1;u<=n;++u){
  31. for(v=1;v<=n;++v){
  32. if(d[i][u]+d[u][v]==d[i][v])ans[v]+=sum[u];
  33. }
  34. }
  35. for(u=i+1;u<=n;++u)printf("%u ",d[i][u]==0x7fffffff?0:ans[u]);
  36. }
  37. }

CF416E题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. 导出SQL语句

    转载请注明来源:https://www.cnblogs.com/hookjc/ if(!($db_conn=mysql_connect($db_server,$db_name,$db_pass))){ ...

  2. json解析出现:java.lang.ClassCastException: net.sf.ezmorph.bean.MorphDynaBean cannot be cast to XXX

    感谢大佬:https://blog.csdn.net/one_ink/article/details/99817676 一.出错原因 当我们利用json解析中的toBean方法时,如果它的属性里面包含 ...

  3. web容器、sevlet容器、spring容器、springmvc容器之间的关系

    原文链接:http://www.cnblogs.com/jieerma666/p/10805966.html https://blog.csdn.net/zhanglf02/article/detai ...

  4. Apache——网页优化与安全

    Apache--网页优化与安全 1.Apache 网页优化概述 2.网页压缩 3.网页缓存 4.隐藏版本信息 5.Apache 防盗链 1.Apache 网页优化概述: 企业中,部署Apache后只采 ...

  5. 对于Web性能优化, 了解和经验

    我们在发布项目之前压缩CSS和JavaScript源代码,这样文件体积就变小了,用户加载必要资源所花的时间也就更短了. 压缩源码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件 ...

  6. nginx实现后端tomcat的负载均衡调度

    一.编译安装nginx 请跳转查阅:编译安装nginx 二.tomcat的二进制安装 请跳转查阅:二进制安装tomcat 三.配置nginx代理 # cat /apps/nginx/conf/ngin ...

  7. web测试学习大纲

    Web测试 Web测试体系介绍 网络协议 Web开发 基础 原理 前端分析 安全性测试 可用性,兼容性 功能测试(同系统测试) 理解网络协议 互联网历史沿革 Web系统基础 Web核心技术 web服务 ...

  8. Sublime Text3安装及汉化

    Sublime Text 是一款流行的代码编辑器软件,也是HTML和散文先进的文本编辑器,可运行在Linux,Windows和Mac OS X.也是许多程序员喜欢使用的一款文本编辑器软件. 下载地址: ...

  9. uniapp 微信发送订阅消息

    这篇主要针对小程序进行演示,既然是发送消息,那么就有三个问题.发送什么内容,给谁发送,怎么发送!往下一条一条解决. 发送什么消息内容 - 通过微信公众号平台 选择对应的消息模板 选择以后在我的模板里面 ...

  10. 部署 Docker Registry 并配置认证登录

    文章目录 搭建 Docker Registry 创建本地映射目录 启动 Docker Registry 配置 Docker Registry 配置 Docker Registry 认证 启动带认证的 ...