首页 > 其他分享 >每日总结

每日总结

时间:2024-09-16 21:46:00浏览次数:8  
标签:总结 每日 替换 生成 lca 条边 姚子 边权

9.16

上午补了一下暑假姚子奇讲的题,让姚子奇给我调个题他都不带鸟我的。

P4180[BJWC2010]严格次小生成树

先用kruskal将最小生成树求出来,之后再枚举不在最小生成树的每条边,设每条边的端点为x, y,如果加入这条边,则会形成一个环,于是我们考虑用这条边替换x和y路径上的一条边,但是由于是要求次小生成树,所以我们要替换路径上边权最大的边,我们可以用倍增来维护,每次求的时候分别求出x到lca的最大值和y到lca的最大值即可,但是会出现一个问题,如果当前枚举的这条边的边权和最大边权一样怎么办,于是我们还要维护一个次大值,也是用倍增维护即可,于是当当前边的边权和最大边权一样时,我们就将次大值替换掉即可,于是我们就可以将这道题切了。

剩下的提明天再写,没时间了

标签:总结,每日,替换,生成,lca,条边,姚子,边权
From: https://www.cnblogs.com/pooletea/p/18416670

相关文章

  • 今日总结
    一、什么是大数据1.1定义麦肯锡全球研究所给出的定义是:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征我自己的定义:大数据是一门旨在研究如何在巨大的数据集......
  • 20240916总结
    不积跬步,无以千里。这两天主要是复习了图的连通性相关的题+听了youwike哥哥讲课。先是复习了缩点,割点,割边,点双,边双,2-SAT,感觉比较需要注意的是割点的那个第一个节点的判断,写题的时候总是容易忘。然后又写了几道练习题。缩点#include<iostream>#include<cstring>usingna......
  • 今日总结1.1
    第一章:软件开发概述     1.1软件与程序1.1.1从程序到软件 计算机程序(简称程序)是为了解决某个特定问题而用程序设计语言描述的适合计算机处理的语句序列;软件是能够完成预定功能和性能的可执行的程序和使程序正常执行所需要的数据,加上描述软件开发过程及其管理、程序的操......
  • 今日总结1.2
    一、软件设计模式的产生背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1977年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(ChristopherAlexander)在他的著作《建筑模式语言:城镇、建筑、构造(APatternLa......
  • 今日总结1.3
    ‌软件构造主要学习设计模式、软件结构、模块化软件构造、面向对象的软件构造、软件重构与交付等方面的知识。‌‌设计模式‌是软件构造中的一个重要部分,它涉及如何针对接口编程而不是针对实现编程,旨在实现对象之间的松耦合设计,以及如何使用面向对象设计原则进行程序编码。学习设......
  • 2024.9.16 下午 总结(考 DS)
    T1做法1:莫队。(考虑一个数的出现次数变化时的影响。)应该可以直接做,似乎也可以正难则反(见做法2)。做法2:[扫描线](?)。按询问右端点排序。记一下每个位置前面最近的和它权值相同的位置。一种是直接做,分讨。一种是正难则反:算前缀和;算出现次数为\(2\)的数的贡献之和,减去这部分贡献。......
  • 错误总结反思
    0.概述这篇文章旨在记录我真实经历过的一些值得反思的错误,可能是自己犯的错误,也可能是其他人犯的错误。但是都是一些值得反思的问题,文章结构可能会比较乱,以后记录的问题多了肯定会再进行梳理。1.vectorsize为0在做"求TopK"算法问题时,遇到结果错误问题。经过调试发现那个长度为......
  • 动态规划理论总结
    三个特征最优子结构问题最优解包含子问题的最优解,即可以通过子问题得到最优解。无后效性有两层含义:在后面的推到过程中,只关心前面的状态值,不关心这个状态是怎么一步步推导出来的。前面的状态如果已经确定,就不会收到后面状态影响子问题重叠不同的决策序列,到达某个......
  • mysql 常用知识点总结
    MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解MySQL的语法对数据库管理和操作非常重要。以下是MySQL语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。1.基础概念数据库(Database):数据库是存储数据的容器,里面可以包含......
  • 2024.9.16 上午 总结(考 DS)
    T1我的做法:合并->并查集。类似建Kruskal重构树。询问跑LCA。注意并查集合并要把两个根都变成一个新点的儿子,而不是把一个作为另一个的儿子。(可能类似建[边](?)Kruskal重构树)要特判询问时\(x=y\)的情况(好像是输出\(0\))。lzh的做法:连出一棵树,边的边权是......