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

见面礼——图论

给定一个 n 个点 n 条边的无向图,你需要求有多少种选择图上的一个点 p 和一条边 (x,y) 的方案,使得删去 (x,y) 后图变成一棵树,且这棵树以 p 为根时每个节点的儿子个数均不超过 3。保证至少存在一种这样的方案。

Input
输入的第一行一个整数 n(2≤n≤105) 表示节点数,接下来 n 行每行两个整数 x,y(1≤x,y≤n) 描述图上的一条边。保证图中没有重边自环。

Output
输出一行一个正整数表示答案。

Input
6
1 2
1 3
1 4
1 5
1 6
2 3

Output
10

解析:

n个点n条边,所以该图就成一个环。只有将环中的一条边删去,该图才能变为一棵树。

#include <bits/stdc++.h>
using namespace std;
#define int long long 
#define ios ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
typedef pair<int,int> PII;
const int N=2e6+10;
vector <int> g[N];
map <int,int> k;
int p[N];
int d[N];
bool vis[N];
vector <PII> q;  //储存成环的边
int n;
void dfs(int u,int pa)
{p[u]=pa;vis[u]=1;for (auto v:g[u]){if (v==pa) continue;if (vis[v]==1&&q.size()==0)    //当点 v 被再次遍历时,现在已经建成一个环了,就可以回溯将环中的每条边放入队列 q 中{q.push_back({u,v});while (p[u]!=v){q.push_back({u,p[u]});u=p[u];}q.push_back({u,p[u]});}if (vis[v]==1) continue;  //走过的点,不用继续操作了,否则会死循环dfs(v,u);}
}
signed main()
{ios;cin>>n;for (int i=1;i<=n;i++){int u,v;cin>>u>>v;g[u].push_back(v);g[v].push_back(u);d[u]++;d[v]++;}for (int i=1;i<=n;i++){k[d[i]]++;  //记录度数相同的点的数量}//for (auto x:k) cout<<x.first<<" "<<x.second<<endl;dfs(1,0);//for (auto x:q) cout<<x.first<<" "<<x.second<<endl;int ans=0;for (auto x:q)   //遍历每条要删掉的边{int du=d[x.first];int dv=d[x.second];k[du]--;k[dv]--;k[du-1]++;k[dv-1]++;int res=0;bool flag=0;for (auto y:k)       //删除边后,再遍历每个点,判断能否成为根节点{int cnt=y.first;int s=y.second;if (cnt<=3) res +=s;if (cnt>=5&&s>0) flag=1;    //既当不了根节点,也当不了儿子节点}if (flag==0) ans +=res;k[du]++;  //还原k[dv]++;k[du-1]--;k[dv-1]--;}cout<<ans;return 0;
}

相关文章:

见面礼——图论

给定一个 n 个点 n 条边的无向图&#xff0c;你需要求有多少种选择图上的一个点 p 和一条边 (x,y) 的方案&#xff0c;使得删去 (x,y) 后图变成一棵树&#xff0c;且这棵树以 p 为根时每个节点的儿子个数均不超过 3。保证至少存在一种这样的方案。 Input 输入的第一行一个整数…...

【论文阅读】SPARK:针对视觉跟踪的空间感知在线增量攻击

SPARK: Spatial-Aware Online Incremental Attack Against Visual Tracking introduction 在本文中&#xff0c;我们确定了视觉跟踪对抗性攻击的一个新任务&#xff1a;在线生成难以察觉的扰动&#xff0c;误导跟踪器沿着不正确的&#xff08;无目标攻击&#xff0c;UA&#x…...

MR混合现实教学系统在汽车检修与维护课堂教学中的应用

传统的汽车检修与维护课堂教学主要依赖教师口头讲解和黑板演示&#xff0c;这种方式存在一定的局限性。首先&#xff0c;对于一些复杂的机械结构和操作过程&#xff0c;教师难以生动形象地展示给学生。其次&#xff0c;学生无法直接观察到实际操作中的细节和注意事项&#xff0…...

CentOS7安装xvfb,解决服务器没有X-Server的问题

Linux服务器上一般没有图形界面,但是有时候有些软件又需要图形界面.比如oracle,自动化测试(puppeteer).运行的时候会提示没有没有X服务. 这时候一般不会去特地装图形界面.这个时候就要用xvfb来创建虚拟图形窗口. xvfb介绍 Xvfb(X Virtual Frame Buffer)是基于X Window的虚拟服…...

快速集成Skywalking 9(Windows系统、JavaAgent、Logback)

目录 一、Skywalking简介二、下载Skywalking服务端三、安装Skywalking服务端3.1 解压安装包3.2 启动Skywalking 四、关于Skywalking服务端更多配置五、Java应用集成skywalking-agent.jar5.1 下载SkyWalking Java Agent5.2 集成JavaAgent5.3 Logback集成Skywalking5.4 集成效果 …...

起立科技(起鸿)在第25届高交会上展示透明OLED技术创新

第二十五届中国国际高新技术成果交易会 日期&#xff1a;2023年11月15日 地点&#xff1a;福田会展中心7号馆 深圳&#xff0c;2023年11月15日 — 起鸿科技&#xff0c;作为透明OLED领域的引领者&#xff0c;于今日参展了第二十五届中国国际高新技术成果交易会。这一展会将汇…...

大模型LLM 在线量化;GPTQ\AWQ量化

1、大模型LLM 在线量化 参考:https://www.cnblogs.com/bruceleely/p/17348782.html ##8bit model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).quantize(8).half(...

记一次线上bug排查-----SpringCloud Gateway组件 请求头accept-encoding导致响应结果乱码

基于公司的业务需求&#xff0c;在SpringCloud Gateway组件的基础上&#xff0c;写了一个转发服务&#xff0c;测试开发阶段运行正常&#xff0c;并实现初步使用。但三个月后&#xff0c;PostMan请求接口&#xff0c;返回异常&#xff0c;经排查&#xff0c;从日志中获取到转发…...

复杂数据统计与R语言程序设计实验一

1.下载并安装R语言软件&#xff0c;熟悉基本操作的命令及操作界面&#xff0c;掌握软件的使用方法&#xff08;提供学号加姓名的截图&#xff09;。 2.下载并安装Rstudio&#xff0c; &#xff08;提供运行代码及运行结果的截图&#xff09;。 3.下载并安装R包DT&#xff0c;…...

UEFI实战——键盘操作

一、键盘操作 UEFI下如何获取键盘键值,用户输入按键方式分两种:一种是单个按键,另外一种是组合按键。两种方式对应两个Protocol服务,接下来分步讲解。 二、单个按键 单个按键使用Protocol服务是EFI_SIMPLE_TEXT_INPUT_PROTOCOL,它定义在MdePkg/Include/Protocol/Simple…...

苹果CMS首涂第30套可装修DIY主题模板免授权版

这是一款可以装修的主题&#xff0c;类似淘宝店装修一样&#xff0c;可以针对首页、栏目页、详情页、播放页进行自定义装修&#xff0c;内置10个模块自由选择、添加、修改、删除、排序操作&#xff0c;后续升级还会增加更多实用和个性模块供选择&#xff0c;主题内包含的导航、…...

C#每天复习一个重要小知识day2:有参与无参构造函数

using System;public class MyClass {private int value;// 有参构造函数public MyClass(int v){this.value v;}// 无参构造函数public MyClass(){this.value 0;}public static void Main(string[] args){// 使用有参构造函数实例化对象MyClass obj1 new MyClass(10);Consol…...

大语言模型的三阶段训练

为了训练专有领域模型&#xff0c;选择LLaMA2-7B作为基座模型&#xff0c;由于LLaMA模型中文词表有限&#xff0c;因此首先进行中文词表的扩展&#xff0c;然后进行三阶段训练&#xff08;增量预训练&#xff0c;有监督微调&#xff0c;强化学习&#xff09;。 代码将全部上传…...

面试题c/c++ --STL 算法与数据结构

1.6 STL 模板 模板底层实现&#xff1a;编译器会对函数模板进行两次编译&#xff0c; 在声明的地方对模板代码本身进行编译&#xff0c; 在调用的地方对参数替换后的代码进行编译。 模板传参分析 模板重载 vector 是动态空间&#xff0c; 随着元素的加入&#xff0c; 它的内…...

云原生微服务-理论篇

文章目录 分布式应用的需求分布式架构治理模式演进ESB 是什么&#xff1f;微服务架构 MSA微服务实践细节微服务治理框架sidercar 什么是service mesh&#xff1f;康威定律微服务的扩展性什么是MSA 架构&#xff1f;中台战略和微服务微服务总体架构组件微服务网关服务发现与路由…...

Unity模拟薄膜干涉效果

Unity制作薄膜干涉效果&#xff0c;色彩斑斓的黑色石头 大家好&#xff0c;我是阿赵。   这次来做一个模拟薄膜干涉的彩色效果&#xff0c;Shader是使用ASE来连接&#xff0c;也算是ASE做复杂一点的效果的一个例子吧。 一、什么是薄膜干涉 以下解释来源于百度百科&#xff1…...

AIGC ChatGPT4对Gbase数据库进行总结

ChatGPT4 用一个Prompt完成Gbase数据库的总结。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作 PowerBI 商业智能 68集 数据库Mysql 8.0 54集 数据库Oracle 21C 142集 Office 2021实战应用 Python 数据分析实战&#xff0c; ETL Informatica 数据仓库案例实战 Excel 2021实操 …...

OSI网络模型与TCP/IP协议

OSI&#xff0c; Open system Interconnection Reference Model 开放式系统互联通信参考模型。是国际标准化组织在1984年定义的一个概念框架&#xff0c;用于协调制定进程间通信标准。OSI作为一个协议规范集&#xff0c;定义了七个层次&#xff0c;包括层次之间的相互关系及各层…...

C语言的5个内存段你了解吗?( 代码段/数据段/栈/堆)

前言&#xff1a;这些内存段在程序运行时起着不同的作用&#xff0c;有不同的分配方式和存储内容。对于 C 语言程序员来说&#xff0c;了解这些内存段的特性和用途有助于更好地理解内存管理、变量的存储位置以及程序执行过程中的内存分配情况 1. 代码段 (Code Segment) 内容&a…...

智能合约检测:新一代区块链技术的安全守护

目录 1、智能合约检测:新一代区块链技术的安全守护 2、智能合约性能检测步骤...

如何高效配置开源工具:华硕笔记本性能管理的完整解决方案

如何高效配置开源工具&#xff1a;华硕笔记本性能管理的完整解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook,…...

《【2026最新】DeepFaceLive 性能飞跃:TensorRT 加速环境配置全攻略(附避坑指南)》

随着数字人直播和实时换脸技术的普及&#xff0c;DeepFaceLive 已成为该领域的标杆。然而&#xff0c;实时推理对显卡的压力极大&#xff0c;许多小伙伴在追求高分辨率或高帧率时经常遇到掉帧。2026年&#xff0c;DeepFaceLive 的核心组件已全面适配 NVIDIA TensorRT。相比传统…...

GitHub中文化插件终极实战指南:5分钟实现高效中文开发体验

GitHub中文化插件终极实战指南&#xff1a;5分钟实现高效中文开发体验 【免费下载链接】github-chinese GitHub 汉化插件&#xff0c;GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese GitHub作为全球…...

如何免费解密网易云音乐NCM文件:终极指南释放你的音乐自由

如何免费解密网易云音乐NCM文件&#xff1a;终极指南释放你的音乐自由 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾在网易云音乐下载了心爱的歌曲&#xff0c;却发现只能在特定客户端播放&#xff1f;那些加密的NCM格式文…...

英文论文降AI教程:从97%到8%,2026实测的4种文本结构级优化方法

大家最近都在为英文降aigc率发愁吧&#xff0c;作为研三党&#xff0c;我太懂这种痛了&#xff0c;之前我自己写英文初稿&#xff0c;写完直接拿去查重&#xff0c;结果turnitin检测ai率飙到了89%&#xff0c;当时看着报告整个人都懵了。 怎么给英文降ai&#xff1f;对于非母语…...

【Linux】权限相关指令

1.将命令翻译后交给核心执行2.将核心执行的结果翻译并返回给我们形象理解shell&#xff1a;假如小y过年回家打算相亲了&#xff0c;打算小y并不擅长与异性交流&#xff0c;这时候就拜托了媒人王姨作为中间人&#xff0c;帮忙小y和异性之前传话。这时候王姨就是“外壳程序”shel…...

只狼mod 深红誓约 法环boss分享 剑星解压即鲁版本

mod大全下载地址:https://pan.quark.cn/s/dcc6f9af1537#/list/share/7a4c672d5cc34ddf8ce899a057f361a1 安装方法:https://www.bilibili.com/video/BV13T421r79p/?spm_id_from333.337.search-card.all.click&vd_sourced68ed178f151e80fea1e02efd205802c 剑星解压即鲁版本 …...

批量生成内容?先优化你的Prompt!

很多人用 GPT 批量生成内容时&#xff0c;问题不是模型不够强&#xff0c;而是指令太模糊。 比如&#xff1a;帮我写一些小红书文案。 生成 50 个标题。 给我做一批产品介绍。这些指令看似省事&#xff0c;实际很容易带来三个问题&#xff1a; 输出风格不稳定内容重复、泛泛而谈…...

ASL1架构规范语言:Arm处理器设计的核心工具

1. ASL1架构规范语言概述ASL1&#xff08;Architecture Specification Language&#xff09;是Arm公司专为处理器架构设计开发的领域特定语言&#xff08;DSL&#xff09;&#xff0c;主要用于精确描述Arm架构参考手册中的指令集行为。这种语言在2025年发布的A-profile架构参考…...

视频质量评估技术解析与ClearView系统实践

1. 视频质量评估的行业现状与技术痛点 在数字电视和流媒体爆发式增长的今天&#xff0c;视频质量评估&#xff08;Video Quality Assessment, VQA&#xff09;已成为设备制造商和内容提供商的核心竞争力指标。我从事视频处理算法开发已有八年&#xff0c;亲眼见证了这个领域从依…...