asp双语网站后台怎么用/今天的新闻有哪些

asp双语网站后台怎么用,今天的新闻有哪些,南庄网站建设,app开发制作的基本一、题目: 二、题解: 1、看到求联通块问题,我们可以考虑使用DFS/并查集(在这里我们仅介绍并查集) 2、什么是并查集? 2.1:初始化:对于每一个点,我们都对其进行初始化操作pre[i]i pre[i]表示i的…

一、题目:

在这里插入图片描述

二、题解:

1、看到求联通块问题,我们可以考虑使用DFS/并查集(在这里我们仅介绍并查集)

2、什么是并查集?

在这里插入图片描述

2.1:初始化:对于每一个点,我们都对其进行初始化操作pre[i]=i

  • pre[i]表示i的根节点
    在这里插入图片描述

2.2:root()函数:求解一个节点的根节点(末节点)

在这里插入图片描述

  • 代码如下:
    在这里插入图片描述
int root(int u) //寻找根节点+路径压缩
{if(pre[u]==u) return u;else    //表明  pre[u]!=u{pre[u]=root(pre[u]);    //往下递归+路径压缩return pre[u];}
}

2.3:合并(连接)函数merge()

  • u的根节点与v的根节点相连接
    在这里插入图片描述
void merge(int u,int v) //合并节点
{pre[root(u)]=root(v);
}

2.4:查找(查询)函数:Iscon(u,v)检验u,v的根节点是否相同

在这里插入图片描述

2.5:路径压缩

  • 1):在朴素的想法中,我们如果要查询一个点的root节点,需要递归 n n nroot(u),但是中间的一整段其实都是无用的,因此我们可以使用路径压缩
    在这里插入图片描述
  • 2):所谓路径压缩,类似记忆化搜索,就是在递归时把所有求过了的pre[i]都保存一下 PS:因为同一联通块上的root都相等
  • 总结来说,就是对于并查集,所有的操作都在根上
    在这里插入图片描述
    在这里插入图片描述
int root(int u) //寻找根节点+路径压缩
{if(pre[u]==u) return u;else    //表明  pre[u]!=u{pre[u]=root(pre[u]);    //往下递归+路径压缩return pre[u];}
}

2.6:统计个数(桶的思想)

  • 对于每一个节点,可以存储它的根节点
  • 随后遍历、排序、输出即可
//桶的累计
for(int i=1;i<=n;i++) cnt[root(i)]++;vector<int>v;
for(int i=1;i<=n;i++)	//统计根节点数量
{if(cnt[i]!=0) v.push_back(cnt[i]);
}sort(v.begin(),v.end());
for(auto &i:v) cout<<i<<' ';

3、完整代码如下:

#include<bits/stdc++.h>
using namespace std;const int N=2e5+7;
int pre[N]; //表示每个节点的根节点
int cnt[N];int root(int u) //寻找根节点+路径压缩
{if(pre[u]==u) return u;else    //表明  pre[u]!=u{pre[u]=root(pre[u]);    //往下递归+路径压缩return pre[u];}
}void merge(int u,int v) //合并节点
{pre[root(u)]=root(v);
}int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m;cin>>n>>m;for(int i=1;i<=n;i++) pre[i]=i;//存储父亲节点for(int i=1;i<=m;i++){int x,y;cin>>x>>y;merge(x,y);}//for(int i=1;i<=n;i++) cout<<pre[i]<<' ';//桶的累计for(int i=1;i<=n;i++) cnt[root(i)]++;vector<int>v;for(int i=1;i<=n;i++){if(cnt[i]!=0) v.push_back(cnt[i]);}sort(v.begin(),v.end());for(auto &i:v) cout<<i<<' ';//g[1]={2,3}  return 0;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/69782.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

visual studio导入cmake项目后打开无法删除和回车

通过Cmakelists.txt导入的项目做删除和回车无法响应&#xff0c;需要点击项目&#xff0c;然后选择配置项目就可以了

ChartDB:一个基于Web的可视化数据库设计工具

这次给大家介绍一个可视化的数据库设计工具&#xff1a;ChartDB。 ChartDB 是一个免费开源的数据库可视化设计工具&#xff0c;支持的数据库包括 MySQL、MariaDB、PostgreSQL、Microsoft SQL Server、SQLite、ClickHouse 等。 对于已有的数据库&#xff0c;ChartDB 提供了一键…

elementUI tree树形控件 根据数据动态设置禁用,全选时不可选中禁用数据

需求 根据后端返回的数据禁用数据&#xff0c;将tree结构对应的数据设置为禁用状态&#xff0c;并且在点击全选后不可选中禁用数据。 效果 根据数据动态设置禁用 全选时不可选中禁用数据 代码 <template>...<div class"list-box"><div class&q…

Flutter 添加 iOS widget 小组件

环境 macOS 15.1 Xcode16.1 Flutter 3.27.4 前言 本篇文章主要记录&#xff0c;在Flutter 项目中如何正确地添加iOS 小组件&#xff0c;iOS 小组件 相关的知识在另一篇文章有记录。 iOS 14 widget 添加小组件 WidgetExtension 打开Xcode New -> Target 选择 iOS -> 搜…

LLM:GPT 系列

阅读原文&#xff1a; LLM&#xff1a;Qwen 系列 GPT&#xff08;Generative Pre-trained Transformer&#xff09;是生成式预训练语言模型&#xff0c;基于 Transformer 架构&#xff0c;专注于通过自回归的方式生成自然语言文本&#xff0c;即给定一个输入序列 x { x 1 , …

消息中间件:RabbitMQ镜像集群部署配置全流程

目录 1、特点 2、RabbitMQ的消息传递模式 2.1、简单模式&#xff08;Simple Mode&#xff09; 2.2、工作队列模式&#xff08;Work Queue Mode&#xff09; 2.3、发布/订阅模式&#xff08;Publish/Subscribe Mode&#xff09; 2.4、路由模式&#xff08;Routing Mode&am…

【STM32】通过HAL库Flash建立FatFS文件系统并配置为USB虚拟U盘MSC

【STM32】通过HAL库Flash建立FatFS文件系统并配置为USB虚拟U盘MSC 在先前 分别介绍了FatFS文件系统和USB虚拟U盘MSC配置 前者通过MCU读写Flash建立文件系统 后者通过MSC连接电脑使其能够被操作 这两者可以合起来 就能够实现同时在MCU、USB中操作Flash的文件系统 【STM32】通过…

打穿内网三重奏-红日7

靶机下载地址&#xff1a; 漏洞详情 (qiyuanxuetang.net) 攻击链路&#xff1a; DMZ区IP段为192.168.11.1/24 第二层网络环境IP段为192.168.52.1/24 第三层网络环境IP段为192.168.93.1/24 这里DMZ和攻击者我用的是192.168.11.1 这个网段&#xff0c;其他不变 这里我加了两张…

Vue.js 在低代码开发平台中的应用与优化

Vue.js 在低代码开发平台中的应用与优化 在数字化转型的进程中&#xff0c;低代码开发平台成为了企业快速构建应用的得力助手。而 Vue.js 作为一款广受欢迎的前端框架&#xff0c;在低代码开发平台中发挥着举足轻重的作用。它不仅提升了开发效率&#xff0c;还优化了应用的用户…

QML 快捷键与Shortcut的使用

一、效果展示 二、源码分享 import QtQuick import QtQuick.Controls import Qt.labs.qmlmodels import QtQuick.Controls.Basic import QtQuick.Layouts import QtQuick.Effects import Qt.labs.platformApplicationWindow {id:rootwidth: 1000height: 730visible: truetitle…

RocketMQ和Kafka如何实现顺序写入和顺序消费?

0 前言 先说明kafka&#xff0c;顺序写入和消费是Kafka的重要特性&#xff0c;但需要正确的配置和使用方式才能保证。本文需要解释清楚Kafka如何通过分区来实现顺序性&#xff0c;以及生产者和消费者应该如何配合。   首先&#xff0c;顺序写入。Kafka的消息是按分区追加写入…

【南方Cass】快捷键0002:合并多段线

快捷键&#xff1a;JOIN 按下快捷键JOIN&#xff0c;然后选择需要合并的对象&#xff08;多段线&#xff09;&#xff0c;按下回车即可完成合并。

Qt的isVisible ()函数介绍和判断窗口是否在当前界面显示

1、现象&#xff1a;当Qt的窗口最小化时&#xff0c;isVisible值一定是true&#xff0c;这是正常的。 解释&#xff1a;在Qt中&#xff0c;当你点击窗口的最小化按钮时&#xff0c;Qt内部不会自动调用 hide() 方或 setVisible(false) 来隐藏窗口。相反&#xff0c;它会改变窗口…

【愚公系列】《Python网络爬虫从入门到精通》007-请求模块requests高级应用(Reguests-HTML)

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

【AI论文】CodeI/O: 通过代码输入输出预测来提炼推理模式

摘要&#xff1a;推理是大型语言模型的一项基本能力。尽管先前的研究主要集中在提升如数学或代码生成等狭窄领域的技能&#xff0c;但由于训练数据稀疏且分散&#xff0c;在许多其他推理任务上提高性能仍然具有挑战性。为了解决这个问题&#xff0c;我们提出了CodeI/O&#xff…

AI编程01-生成前/后端接口对表-豆包(或Deepseek+WPS的AI

前言: 做过全栈的工程师知道,如果一个APP的项目分别是前端/后端两个团队开发的话,那么原型设计之后,通过接口文档进行开发对接是非常必要的。 传统的方法是,大家一起定义一个接口文档,然后,前端和后端的工程师进行为何,现在AI的时代,是不是通过AI能协助呢,显然可以…

24电子信息类研究生复试面试问题汇总 电子信息类专业知识问题最全!电子信息复试全流程攻略 电子信息考研复试真题汇总

你是不是在为电子信息考研复试焦虑&#xff1f;害怕被老师问到刁钻问题、担心专业面答不上来&#xff1f;别慌&#xff01;作为复试面试92分逆袭上岸的学姐&#xff0c;今天手把手教你拆解电子信息类复试通关密码&#xff01;看完这篇&#xff0c;让你面试现场直接开大&#xf…

PortSwigger——WebSockets vulnerabilities

文章目录 一、WebSockets二、Lab: Manipulating WebSocket messages to exploit vulnerabilities三、Lab: Manipulating the WebSocket handshake to exploit vulnerabilities四、Using cross-site WebSockets to exploit vulnerabilities4.1 跨站WebSocket劫持&#xff08;cro…

Sonic Layer1

礼记有言&#xff1a;良冶之子&#xff0c;必学为裘&#xff1b;良弓之子&#xff0c;必学为箕&#xff1b; 闲来无趣&#xff0c;看看Sonic 的官方文档吧。道听途殊终归了解的不够全面。 首先&#xff0c;看Sonic 是如何介绍自己的&#xff1a; 哇趣&#xff0c;Sonic 把自己的…

html css js网页制作成品——HTML+CSS+js茉酸奶的茶网页设计(5页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…