洛谷题面传送门

一道需要发现一些简单的性质的中档题(不过可能这道题放在省选 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. 经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择

    ​  前言  本文介绍一篇CVPR2020的论文,它在paperswithcode上获得了16887星,谷歌学术上有261的引用次数. 论文主要介绍了目标检测现有的研究进展.anchor-based和 ...

  2. .Net Core中使用ElasticSearch(一)

    一.安装配置 在官网下载Es,注意版本号,不同大版本号之间差异很大.我安装的是7.14.0版本 1.1 安装成服务 cmd 进入bin目录下执行 elasticsearch-service.bat i ...

  3. [no_code][Beta] 中期组内总结

    $( "#cnblogs_post_body" ).catalog() 目前scrum meeting beta阶段目前共7次.在alpha阶段我们博客发布时间比较匆忙,是扣分项, ...

  4. [软工顶级理解组] Alpha阶段测试报告

    [软工顶级理解组] Alpha阶段测试报告 在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原 ...

  5. 【二食堂】Beta - Scrum Meeting 5

    Scrum Meeting 5 例会时间:5.18 18:30~18:50 进度情况 组员 当前进度 今日任务 李健 1. 划词功能已经实现,继续开发,完善文本区域交互,调用API issue 1. ...

  6. elasticsearch地理位置查询

    elasticsearch地理位置查询 一.背景 二.geo数据类型 1.geo_point 2.geo_shape 三.此处对geo_point类型实战 1.背景 2.插入地点数据 1.创建索引 2 ...

  7. [暴力题解&&考试反思] 双十一欢乐赛(联赛膜你测试32)

    前言: 今天考试很迷糊.从7点考到11点半,我大概从7点睡到9点.隐隐约约看到旁边的狗哥敲了好几个题,我才开始写代码.然后因为还是很困,而且T1迷迷糊糊调了好长时间,T3T4的暴力就懒的写了... 估 ...

  8. 镜头Lens Image circle像圈的解释是什么意思

    Image circle镜头中指的是:像圈 像圈(image circle)是指入射光线通过镜头后,在焦平面上呈现出的圆形的明亮清晰的影像幅面,也称像面大小.镜头像圈由镜头光学结构决定,一旦设计完成, ...

  9. Asp.Net mvc4 +Spring

    添加相应的引用对象.(以下全部) 修改mvc的Global.asax文件内容 需要将控制器中原来需要new出来的对象改成属性成员 添加这个属性的注入对象 再去修改spring对web.config的一 ...

  10. python re:正则表达式中使用变量

    参考:https://www.cnblogs.com/songbiao/p/12422632.html Python中正则表达式的写法,核心就是一个字符串.如下:re.compile(r'表达式')所 ...