题目简化和分析:

这是一道较为经典的二分图染色题。

二分图的基本概念

但这题让我们求得是完全二分图。

什么是完全二分图

\(cnt_{1}\) 表示染成颜色种类为 \(1\) 的个数。

\(cnt_{2}\) 表示染成颜色种类为 \(2\) 的个数。

因为是完全二分图所以它的节点个数为:

\[cnt_{1} \times cnt_{2}
\]

我们已经有题目给出的 \(n\) 个点,所以答案为:

\[cnt_{1} \times cnt_{2} -n+1
\]

注意不开 long long 见祖宗。

Solution:

#include<bits/stdc++.h>
using namespace std; typedef long long ll;
#define int long long
const int N=1e5+50; int n; struct edge{
int to,next;
}e[N<<1];
int head[N<<1],cnt;
void add_edge(int u,int v){
++cnt;
e[cnt].to=v;
e[cnt].next=head[u];
head[u]=cnt;
}
int res[3],col[N<<1];
void dfs(int n,int c){
col[n]=c;
res[c]++;
for(int i=head[n];i;i=e[i].next){
int y=e[i].to;
if(!col[y]){
dfs(y,3-c);
}
}
}
signed main()
{
scanf("%d",&n);
for(int i=1;i<n;++i){
int u,v;
scanf("%d%d",&u,&v);
add_edge(u,v);
add_edge(v,u);
}
dfs(1,1);
printf("%lld\n",res[1]*res[2]-n+1);
}

CF862B的更多相关文章

  1. CF862B Mahmoud and Ehab and the bipartiteness 二分图染色判定

    \(\color{#0066ff}{题目描述}\) 给出n个点,n-1条边,求再最多再添加多少边使得二分图的性质成立 \(\color{#0066ff}{输入格式}\) The first line ...

随机推荐

  1. 手机号码吉利数PHP检测算法代码,超级实用

    手机号码吉利数理预测解读:将手机号码末尾的四个数字,先除以八十,再减去整数部分,只使用剩下的小数(小数点反面的数字)乘以八十,然后将所得结果,对表查阅,就知道吉凶.(换句话说就是余数)例如:手机尾号是 ...

  2. Thinkphp6 连接达梦数据库

    Thinkphp6 连接达梦数据库 这里使用 IDEA phpEnv PHP7.3 Thinkphp6 桌面操作系统:Windows11 虚拟机:VMware 服务器操作系统:银河麒麟 在虚拟机操作与 ...

  3. 自动设置IP地址和自动获取IP地址bat批处理文件

    自动设置IP地址.bat Echo offecho  手动设置IP地址....Netsh interface IP Set Addr "本地连接" Static 192.168.1 ...

  4. 「Python实用秘技15」pandas中基于范围条件进行表连接

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第15 ...

  5. maven报错:不再支持源选项 5。请使用 6 或更高版本

    问题描述 在执行命令 mvn compile 发生错误 D:\Github_NOTES\JavaWeb_Learning\02Java\JavaWeb\Code\Maven1>mvn clean ...

  6. redis雪崩问题解决

    缓存雪崩 出现的场景 缓存服务器宕机,没有设置持久化 介绍:缓存服务器宕机,没有设置持久化,导致缓存数据全部丢失,请求全部转发到数据库,造成数据库短时间内承受大量请求而崩掉. 缓存集中失效 缓存的ke ...

  7. quarkus实战之二:应用的创建、构建、部署

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<quarkus实战>系列 ...

  8. Linux 软件包:添加repo、升级内核、编译内核、交叉编译

    添加 repo 增加 xxx.repo 文件 在/etc/yum.repos.d/目录下创建 add_openeuler_repo.repo 文件 [add_repo] name=add_repo b ...

  9. HashMap源码的阅读笔记

    注释部分 Hash table based implementation of the <tt>Map</tt> interface. This * implementatio ...

  10. 记录一次线上服务CPU飙高问题

    2023.07.20 20:01:38线上一个服务发生了CPU过高的告警, 看告警信息当前的CPU使用率已经达到了82.65%,问题已经很严重,赶紧开始排查起来.来复盘下如何排查这类问题, 一.排查方 ...