当前位置: 首页 > news >正文

赛前训练2 连通性问题

以下,斜体表示注意点,粗体表示技巧点。

A

spfa 最长路环具有特殊性质考虑缩点

容易发现环上的点可以通过跑很多次直到点权全部为 \(0\),于是缩点跑 spfa 最长路即可。

实现

B

必经边考虑割边,割边考虑边双

我们发现,必经边是割边的子集。

考虑缩边双,这样缩成的树的边全都是割边。

既然要边最多,选直径即可。

C

图论结合背包模型

我们可以考虑把 \(p\) 个点对放进很多强连通分量里边。

然后发现这是个 01 背包模型,有 \(n\) 个物品,第 \(i\) 个体积为 \(\frac{i(i-1)}{2}\),价值为 \(i\),现在要最小化总价值。

所以第一问的答案即为 \(dp_p\)

第二问就很简单了,总共 \(\frac{dp_p(dp_p-1)}{2}\) 对点,减掉 \(p\) 个双向对是单向对个数(一定是最多的,因为去除了不连通的情况)。

实现
#include<bits/stdc++.h>
#define int long long
using namespace std;const int N=2e5+5;
int p;
int dp[N],w[N];signed main(){ios::sync_with_stdio(0);cin.tie(0);cin>>p;for(int i=1;i<=p;i++)w[i]=i*(i-1)/2;memset(dp,0x3f,sizeof dp);dp[0]=0,dp[1]=2;for(int i=2;i<=p;i++)for(int j=w[i];j<=p;j++)dp[j]=min(dp[j],dp[j-w[i]]+i);cout<<dp[p]<<' '<<(dp[p]*(dp[p]-1)/2)-p;return 0;
}

D

见题解。

http://www.rkmt.cn/news/9233.html

相关文章:

  • Window 连接 Ubuntu远程桌面
  • 提高杂题
  • 【比赛记录】2025CSP-S模拟赛51
  • some
  • CF494C Helping People
  • 深入解析:Extract Chart Data Directly to Excel
  • 02020403 EF Core基础03-Fluent API、Data Annotation、两种配置的选择
  • 深入解析:Python(1)|| 超基础语法(格式,输入输出,变量,字符串,运算符)
  • mysql数据库自增ID为int类型超过范围
  • LeetCode 几道 Promises 和 Time 的题目 - 教程
  • java相关问题:面向对象入门2与类的识别
  • EXCEL自动调整列宽的快捷键
  • 破解塔吊顶升高危难题!让事故率降 50%、审批快 70%
  • CF2086D Even String
  • logicflow___文档3
  • langraph-up-react
  • Java学生信息管理系统代码分析
  • ArcGIS Pro中 Nodata和nan 黑边的处理 - 指南
  • 浅谈字典树
  • go-mapus为局域网地图协作而生
  • 第3周预习作业
  • 01自我介绍加规划
  • 《原子习惯》-读书笔记6
  • Java LTS版本进化秀:从8到21的欢乐升级之旅
  • SpringBoot控制层接收参数处理、Logback日志入门和使用 - 实践
  • 20231321王曦轶《密码系统设计》第二周
  • R ggplot2学习Nature子刊一张图,换数据即可用! - 指南
  • 浏览器兼容性问题全解:CSS 前缀、Grid/Flex 布局兼容专业的方案与跨浏览器调试技巧
  • 深入解析:大数据领域数据产品的深度学习应用
  • 用户态与内核态的深度解析:安全、效率与优化之道 - 教程