洛谷题面传送门

一道需要发现一些简单的性质的中档题(不过可能这道题放在省选 D1T3 中偏简单了?)

u1s1 现在已经是 \(1\text{s}\)​ \(10^9\)​ 的时代了吗?落伍了落伍了/ll

首先我们考虑 \(f(i,G)\)​ 是个什么东西,显然对于 \(x>i\)​ 的 \(x\)​ 肯定就不可能有贡献了对吧,因为扫描到 \(x\)​ 时 \(i\)​ 已经从图中删去了,而扫描到 \(i\)​ 时答案肯定会有 \(1\)​ 的贡献,因此我们不妨先给所有 \(h(G_i)\)​ 都加上 \(n\)​,然后只考虑 \(x<i\)​ 的 \(x\)​ 的贡献即可。思考什么情况下当我们删到 \(x\)​ 时 \(x\to i\)​ 和 \(i\to x\) 都存在​,经过一番观察可以发现以下性质:

Observation. 删到 \(x\)​ 时 \(x\to i\) 和 \(i\to x\) 的路径都存在,当且仅当存在 \(x\to i\) 和 \(i\to x\) 的路径只经过编号 \(\ge x\) 的点。

证明:充分性显然。必要性等价于如果不存在 \(x\to i\)​ 或 \(i\to x\)​ 的路径只经过编号 \(\ge x\)​ 的点,那么必然删到 \(x\)​ 时 \(x\to i\)​ 和 \(i\to x\)​ 中的一者不存在。考虑数学归纳,假设命题对 \(x'\le x\)​ 均成立,那么从 \(x-1\)​ 推到 \(x\)​ 时我们采取反证法,假设 \(x\to i\)​ 和 \(i\to x\)​ 二者在考虑到 \(x\)​ 时都存在,但是不存在 \(x\to i\)​ 和 \(i\to x\)​ 的路径只经过编号 \(\ge x\)​ 的点,那么你任取一对此时没有被删掉的 \(x\to i\)​ 和 \(i\to x\)​ 的路径,它们路径上编号最小的点必然是 \(<x\)​ 的,我们假设这个点为 \(y\)​,那么显然存在 \(y\to x,x\to y\) 的路径,而由于 \(y\) 是 \(x\to i\) 和 \(i\to x\) 路径上编号最小的点,\(y\to x\) 和 \(x\to y\) 路径上点的编号必然都 \(>y\),有归纳假设 \(y\) 此时肯定已经被删除了,矛盾。

有了这个性质之后解题就异常方便了,我们考虑预处理出 \(g_{x,y}\) 表示在所有 \(x\to y\) 的满足不经过编号 \(<\min(x,y)\) 的点的路径中,经过的边的编号的最小值最大是多少,那么不难发现对于一对点 \((x,y)(x<y)\) 而言,它只可能对满足 \(i\le\min(g_{x,y},g_{y,x})\) 的 \(h(G_i)\) 产生 \(1\) 的贡献,差分一下转化为后缀和即可。那么怎么求 \(g_{x,y}\) 呢?我们考虑从大到小枚举中转点 \(z\ge\min(x,y)\),用类似于 Floyd 的方式,取 \(\min(g_{x,z},g_{z,y})\) 更新答案即可。

时间复杂度 \(\mathcal O(n^3+m)\),略微有点卡常。

const int MAXN=1000;
const int MAXM=2e5;
const int INF=0x3f3f3f3f;
int n,m,mx[MAXN+5][MAXN+5],c[MAXM+5];
int main(){
scanf("%d%d",&n,&m);
for(int i=1,u,v;i<=m;i++) scanf("%d%d",&u,&v),chkmax(mx[u][v],i);
for(int i=1;i<=n;i++) mx[i][i]=INF;
for(int k=n;k;k--) for(int i=1;i<=n;i++) for(int j=1;j<=((i<=k)?n:k);j++)
chkmax(mx[i][j],min(mx[i][k],mx[k][j]));
// for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) printf("%d%c",mx[i][j]," \n"[j==n]);
for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) c[min(mx[i][j],mx[j][i])]++;
c[m+1]=n;for(int i=m+1;i;i--) c[i-1]+=c[i];
for(int i=1;i<=m+1;i++) printf("%d%c",c[i]," \n"[i==m+1]);
return 0;
}

洛谷 P7516 - [省选联考 2021 A/B 卷] 图函数(Floyd)的更多相关文章

  1. [省选联考 2021 A/B 卷] 图函数

    考虑到一件事情首先\(u -> u\)是可行的. 所以其实对于\(f(u,G')\) 只要考虑\([1,u]\)的点. 那么考虑其条件等价于\(u -> i\) 和 \(i -> u ...

  2. 洛谷 P7520 - [省选联考 2021 A 卷] 支配(支配树)

    洛谷题面传送门 真·支配树不 sb 的题. 首先题面已经疯狂暗示咱们建出支配树对吧,那咱就老老实实建呗.由于这题数据范围允许 \(n^2\)​ 算法通过,因此可以考虑 \(\mathcal O(n^2 ...

  3. 洛谷 P7515 - [省选联考 2021 A 卷] 矩阵游戏(差分约束)

    题面传送门 emmm--怎么评价这个题呢,赛后学完差分约束之后看题解感觉没那么 dl,可是现场为啥就因为种种原因想不到呢?显然是 wtcl( 先不考虑"非负"及" \(\ ...

  4. [省选联考 2021 A/B 卷] 卡牌游戏

    垃圾福建垫底选手来看看这题. 大家怎么都写带 \(log\) 的. 我来说一个线性做法好了. 那么我们考虑枚举 \(k\) 作为翻转完的最小值. 那么构造出一个满足条件的操作,我们在 \(a_i\) ...

  5. 洛谷P6623——[省选联考 2020 A 卷] 树

    传送门:QAQQAQ 题意:自己看 思路:正解应该是线段树/trie树合并? 但是本蒟蒻啥也不会,就用了树上二次差分 (思路来源于https://www.luogu.com.cn/blog/dengy ...

  6. 洛谷 P6624 - [省选联考 2020 A 卷] 作业题(矩阵树定理+简单数论)

    题面传送门 u1s1 这种题目还是相当套路的罢 首先看到 \(\gcd\) 可以套路地往数论方向想,我们记 \(f_i\) 为满足边权的 \(\gcd\) 为 \(i\) 的倍数的所有生成树的权值之和 ...

  7. [题解] LOJ 3300 洛谷 P6620 [省选联考 2020 A 卷] 组合数问题 数学,第二类斯特林数,下降幂

    题目 题目里要求的是: \[\sum_{k=0}^n f(k) \times X^k \times \binom nk \] 这里面出现了给定的多项式,还有组合数,这种题目的套路就是先把给定的普通多项 ...

  8. [省选联考 2021 A/B 卷] 宝石

    大概是一眼看出来是这个给定序列在树上序列上按顺序跑最大匹配. 然后考虑维护向上和向下的链的值. 大概的做法是用倍增维护,考虑\(f_{u,i}\)是\(c_u\)在序列里的位置向后匹配\(2^i\)位 ...

  9. 题解 P6622 [省选联考 2020 A/B 卷] 信号传递

    洛谷 P6622 [省选联考 2020 A/B 卷] 信号传递 题解 某次模拟赛的T2,考场上懒得想正解 (其实是不会QAQ), 打了个暴力就骗了\(30pts\) 就火速溜了,参考了一下某位强者的题 ...

随机推荐

  1. Shiro反序列化的检测与利用

    1. 前言 Shiro 是 Apache 旗下的一个用于权限管理的开源框架,提供开箱即用的身份验证.授权.密码套件和会话管理等功能. 2. 环境搭建 环境搭建vulhub 3. 如何发现 第一种情况 ...

  2. Spring 5 MVC 中的 Router Function 使用

    Spring 5 发行已经好几年了,里面提出了好几个新点子.其中一个就是 RouterFunction,这是个什么东西呢? Spring框架给我们提供了两种http端点暴露方式来隐藏servlet原理 ...

  3. Beta实际开发与初始计划的比较

    零.说明 本篇博客为Beta阶段开始十天后,实际开发工作与初始计划的比较 截止至本篇博客发布为止,团队所有成员已完成计网考试,将在本周日进行充分的接口测试 一.比较 1.与初始计划对比 初始计划 实际 ...

  4. [no code][scrum meeting] Alpha 3

    项目 内容 会议时间 2020-04-07 会议主题 技术规格说明书review 会议时长 1h30min 参会人员 产品经理+后端技术组长(伦泽标)+OCR竞品调研成员(叶开辉)+架构文档负责(黎正 ...

  5. BUAA软工-结对项目

    BUAA2020 软件工程-结对项目 Author:17373015 乔玺华 学号 cnblog profile 17373260(本文作者) Prime21 17373015(结对队友)       ...

  6. 2021.8.6考试总结[NOIP模拟32]

    T1 smooth 考场上水个了优先队列多带个$log$,前$80$分的点跑的飞快,后面直接萎了. 其实只需开$B$个队列,每次向对应队列中插入新的光滑数,就能保证队列中的数是单调的. 为了保证不重, ...

  7. 从零开始 DIY 智能家居 - 基于 ESP32 的智能语音合成播报模块

    目录 前言 硬件选择 代码解析 获取代码 设备控制命令: 设备和协议初始化流程: 配置设备信息 回调函数注册 语音播报与设置流程 总结 前言 这里这么多设备,突然发现我做的好像都是传感器之类的居多好像 ...

  8. X264编码测试验证

    之前在做一个rtsp直播需求,其中一个方案是要用的x264来对摄像头数据进行实时编码推流,摄像头帧率是25fps,为了验证方案的可行性,先对x264的编码速度进行一个测试研究,再确认是否要采用此方案. ...

  9. Luogu P1654 OSU! | 期望

    题目链接 很妙的一道题. 题目要求$X^3$的期望值. 直接求不好求. 考虑先求出$X$和$X^2$的期望值,然后再求$X^3$的期望值. 迎.刃.而.解. #include<iostream& ...

  10. cf16C Monitor(额,,,,水数学,,)

    题意: 一块镜子长宽是a*b.现在要调整(切割)成x:y的比例. 问调整完的最大面积是多少. 思路: 先将x,y弄成最简比例,然后放大到不超过min(a,b)即可. 代码: ll a,b,x,y; l ...