首页 > 其他分享 >Gym103687K Dynamic Reachability

Gym103687K Dynamic Reachability

时间:2023-07-30 15:12:58浏览次数:34  
标签:2w 联通 修改 dfrac 复杂度 Dynamic Gym103687K Reachability

一个很奇妙的题。

回想起之前打的一场模拟赛,有一道题的部分问题是要维护动态图两两联通性的。可能不太一样,但是他有一个离线的思想,将没有修改过的边提前拎出来,把已知的联通性先求了,再用线段树分治一类的可撤销做法维护剩下边的修改。但是这样维护的复杂度跟修改次数相关非常大,如果修改次数一多起来,复杂度就会假。

但这道题给了我们一个解决方法:将操作分块。

将操作每 \(w\) 个分一块。那么涉及到的点最多 \(2w\) 个,边最多 \(w\) 条。剩下的边和点都可以缩起来。这一部分复杂度因为分了 \(\dfrac{q}{w}\) 块,复杂度是 \(\dfrac{q(n+m)}{w}\) 的,居然很对。对于 \(2w\) 个关键点,我们根据缩点后联通性建新图。每次查询时,暴力在新图中加入至多 \(k\) 条边后bfs,复杂度也是对的,非常奇妙。

块长可能因常数而异,需要自己去调,在 \(300\) 到 \(500\) 间都是合理的。

标签:2w,联通,修改,dfrac,复杂度,Dynamic,Gym103687K,Reachability
From: https://www.cnblogs.com/hikkio/p/17591456.html

相关文章

  • 2023-7-26 Dynamic替代部分反射的简单实现方式
    Dynamic与反射的使用【作者】长生实体类publicclassSchool{ publicintGetAge(){ return100;}}使用反射获取对象里的方法 Schoolschool=newSchool(); varmethod=typeof(School).GetMethod("GetAge"); intage=(int)method.Invoke(school,null); Console.W......
  • 编写高质量代码改善程序的157个建议:使用Dynamic来简化反射的实现
    概述最近在看《编写高质量代码改善C#程序的157个建议》。看到第15个建议的时候,结合平时使用的习惯发现有部分出入,没有对不对的说法,只是使用习惯有点区别,跟随着我们来看一看。第15条建议是:使用dynamic简化反射的使用。dynamic的确可以简化反射的使用,但是从性能上来说是有......
  • 编码技巧 --- 使用dynamic简化反射
    合集-c#基础(7) 1.编码技巧---如何实现字符串运算表达式的计算07-122.编码技巧---同步锁对象的选定07-133.解读---yield关键字07-174.并发编程---信号量线程同步07-185.并发编程---为何要线程池化07-186.编码技巧---谨防闭包陷阱07-197.编码技巧---使用dyn......
  • 编码技巧 --- 使用dynamic简化反射
    引言dynamic是Framework4.0就出现特性,它的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,默认dynamic对象支持开发者想要的任何特性。dynamic介绍在C#中,dynamic是一种类型,它允许你在运行时动态地确定对象的类型。使用dynamic类型可以使代码......
  • WebApi 动态参数 dynamic 使用
    在调用WebAPI时,调用方法主要有get和post,但参数传递需要注意几点,下面简单介绍一下ajax调用时传参的几种方法:webapiusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Net;usingSystem.Net.Http;usingSystem.Web.Http;usingSystem.Web.......
  • 链接参数export dynamic和-rdynamic的使用
    存在程序main通过dlopen使用libA中的符号:main.c:1#include<stdio.h> 2#include<dlfcn.h> 3  4typedefvoid(*func)(void);  5  6  7voidtest_main() 8{ 9  return;10}11 12 13intmain()14{15  void*handle=dlopen("./libA.so",RTLD_N......
  • 使用Power Automate上传附件到Dynamics 365集成的SharePoint
      在Dynamics365中使用SharePoint集成做实体的附件管理,这里不像用Annotation实体存放附件可以直接用代码直接创建Annotation记录,如果想要对外部提供接口把附件上传到SharePoint,我们可以使用PowerAutomate中的SharePoint组件来生成文件,通过HTTP流供给外部系统调用。  下......
  • net-core(DynamicExpresso.Core)
    ==============================(Install-PackageDynamicExpresso.Core)======================================varwhereExpression=$"m.{queryField}==\"{queryValue}\"";stringwhereExpression="customer.Age>18&&......
  • SystemVerilog Dynamic Array Randomization
    https://verificationguide.com/systemverilog/systemverilog-dynamic-array-randomization/DynamicArrayRandomizeForadynamicarray,itispossibletorandomizebotharraysizeandarrayelements.randomizedynamicarraysizeInbelowexample,dynamicarr......
  • MySQL 8.0 Dynamic Redo Log Sizing翻译
    本文是MySQL8.0DynamicRedoLogSizing[1]这篇文章的翻译。如有翻译不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!这篇博文将讨论MySQL8.0.30中引入的最新功能/特性:重做日志动态调整大小(dynamicredologsizing)。除了InnoDB缓冲池(bufferpool)......