前言

由于难度仍然过高,难度再次下调,这节课主要在水绿。这节课讲的是并查集,之所以是以绿题为主是因为上了绿之后的题有一大半都要结合别的东西,初中生不会,所以只能讲的简单一点。

ORZ%%% jzp学长

正文

这节课以普通并查集和边带权并查集为主,并区分了什么时候可以路径压缩,什么时候不可以。

P1525 关押罪犯

对于一组数据,表示 \(a\) 和 \(b\) 的怨气值,那么将犯人 \(a\) 和犯人 \(b\) 的补集元素\((b+n)\) 放在一个集合中,以此这样形成并查集。

写的时候开数组为 \(2*n\).

接着,利用贪心的思想如果一组数据的两个犯人已经在一个集合中了,那么以后就不

用再操作了,直接把两个犯人的怨气输出。(公务繁忙的 Z 市长只会去看列表中的第一个事

件的影响力, 如果影响很坏,他就会考虑撤换警察局长。 )

然后就成为板子题了话说这节课全是板子题

P2024 [NOI2001]食物链

开 \(3 * n\) 的并查集,其中 \(x\) 用来连接与 \(x\) 同类的,\(x+n\) 用来连接 \(x\) 吃的,即 $x \(的猎物,\)x+2 * n$ 用来连接 $x $被吃的,即 \(x\) 的天敌。

判断如果$ x $吃 \(y\) 或$ x$被 \(y\) 吃,那么为假话,

\(x\) 与 \(y\) 同类,\(x\) 吃的$ y$ 也吃,\(x\) 被吃的 $y $也被吃;

判断如果 \(x\) 与 \(y\) 同类($x $与 $x $自然也是同类) 或 \(y\) 吃 \(x\),那么为假话,

否则 \(x\) 吃 \(y\),\(y\) 被 \(x\) 吃,$y $吃 \(x\) 被吃的.

这句话就是:\(A 吃 B,B 吃 C,C 吃 A\)

2022.7.15 jiazhaopeng 讲课纪要的更多相关文章

  1. Vue学习之--------列表排序(ffilter、sort、indexOf方法的使用)、Vue检测数据变化的原理(2022/7/15)

    文章目录 1.列表排序 1.1 .代码实例 1.2 .测试效果 1.3.需要掌握的前提知识 2.Vue监测数据变化的原理 2.1.代码实例 2.2 .测试效果 3.Vue检测数据的原理 3.1 基本知 ...

  2. 2022.11.15 NOIP2022 模拟赛十

    炸弹威力 Source:洛谷 P6036. 记 \(f_{i,0/1}\) 表示第 \(i\) 个位置为 \(0/1\) 的答案个数,有 DP 转移: \[\begin{aligned} (1-p_i ...

  3. mac下开发IOS代码管理

    1.安装和配置subversion服务器 在windows 服务器上安装VisualSVN-Server,下载地址http://www.visualsvn.com/server/download/.采 ...

  4. 采用subversion管理iOS资源

    1.装和配置subversionserver  在windows server上安装VisualSVN-Server.下载地址http://www.visualsvn.com/server/downl ...

  5. [ios2]iOS 使用subversion管理iOS源代码 【转】

    使用subversion管理iOS源代码 1.安装和配置subversion服务器 在windows 服务器上安装VisualSVN-Server,下载地址http://www.visualsvn.c ...

  6. 部分还款-还款试算接口与还款接口-python

    一.还款试算.还款接口, 1.只传入参数loan_Code 2.还款接口参数化以下: "loanCode": loanCode1,"orderId": orde ...

  7. 如何使用subversion管理iOS源代码

    本文转载至 http://2009315319.blog.51cto.com/701759/819216 使用subversion管理iOS源代码 1.安装和配置subversion服务器 在wind ...

  8. (转)由su和su -的区别谈学习linux运维方法

    由su和su -的区别谈学习linux运维方法 原文:http://blog.51cto.com/oldboy/1053606 由su和su -的区别谈学习linux运维方法一例 老男孩Linux培训 ...

  9. java多态转型II

    1 package face_09; 2 3 /* 4 * 毕老师和毕姥爷的故事. 5 */ 6 class 毕姥爷 { 7 void 讲课() { 8 System.out.println(&quo ...

  10. 前端基础之javaScript(函数)

    目录 一:javaScript函数 1.函数关键字 2.格式 3.无参函数 4.有参函数 二:关键字arguments 1.能够获取函数接受的索引参数 2.关键字arguments(限制函数不能多也不 ...

随机推荐

  1. Linux 命令:diff

    用途 示例 备注 查看区别 diff file_1 file_2 不加选项 并排输出 diff file_1 file_2 -y -W 50 类似vimdiff 生成patch diff -ruN f ...

  2. 去中心化组件共享方案 —— Webpack Module Federation(模块联邦)

    在大型应用中, 我们可能会对其进行拆分,分成容器.主应用和多个子应用,使拆分后的应用独立开发与部署,更加容易维护.但无论是微应用.公共模块应用,都需要放到容器中才能使用. 如果多个应用之间希望资源共享 ...

  3. TCP四次挥手会经历这么多状态

    TCP三次握手 中讲述了序列号和建立连接,这一篇来说说释放连接. 标志位 TCP首部中在属性标志位,和建立连接.释放连接有关,位于保留和窗口字段中间,其中三个标识与断开连接有关. ACK: ackno ...

  4. 1. 通俗易懂的Redis基础

    通俗易懂的Redis基础教程(基于CentOS 7) 目录 通俗易懂的Redis基础教程(基于CentOS 7) 1 Redis是什么 1.1 NoSQL概念 1.2 NoSQL与SQL比较 1.3 ...

  5. [Python]数组基础

    在python中,一般使用列表表示数组.例如: 一维数组 arr1 = [1,2,3,4] 二维数组 arr2 = [[1,2,3,4],[5,6,7,8]] 数组的常用操作 追加 利用append( ...

  6. Dirty-Pipe Linux内核提权漏洞(CVE-2022-0847)

    前言: 划水一波,哈哈,以后复现漏洞不再直接傻瓜无脑的走流程了,首先码字写加构思比较麻烦且写的不多还效率不高,现在就是当做见到了一个漏洞,在此记录一下这个漏洞,包括其来源,简单的描述,适用范围,以及其 ...

  7. SpringBoot3集成Kafka

    目录 一.简介 二.环境搭建 1.Kafka部署 2.Kafka测试 3.可视化工具 三.工程搭建 1.工程结构 2.依赖管理 3.配置文件 四.基础用法 1.消息生产 2.消息消费 五.参考源码 标 ...

  8. GrapeCity Documents V6.0 Update 2发布,新增支持SpreadJS的.sjs文件格式

    近日,GrapeCity Documents 正式迎来其V6.2 的发布更新,能够支持 SpreadJS 中 .sjs 类型的文件.这一重大更新将为用户带来更多地惊喜. .sjs文件有两个关键优势:空 ...

  9. Unity UGUI的Dropdown(下拉菜单)组件的介绍及使用

    Unity UGUI的Dropdown(下拉菜单)组件的介绍及使用 1. 什么是Dropdown组件? Dropdown(下拉菜单)是Unity UGUI中的一个常用组件,用于在用户点击或选择时显示一 ...

  10. 2.14 PE结构:地址之间的转换

    在可执行文件PE文件结构中,通常我们需要用到地址转换相关知识,PE文件针对地址的规范有三种,其中就包括了VA,RVA,FOA三种,这三种该地址之间的灵活转换也是非常有用的,本节将介绍这些地址范围如何通 ...