首页 > 其他分享 >CF1217F 题解

CF1217F 题解

时间:2022-10-13 12:22:49浏览次数:104  
标签:frac log 题解 线段 查集 CF1217F lstans

传送门

题意

给定一个 \(n\) 个点的无向图,最初图中无边。两种操作:

  • 1 x y 若 \(x,y\) 中有边,则删去;否则加入。
  • 2 x y 询问 \(x,y\) 是否连通。

\(x,y\) 均加密,真实的 \(x,y\) 为 \((x+lstans-1) mod\ n+1,(y+lstans-1) mod\ n+1\)。

题解

动态图连通性。但无需 \(LCT+ETT\),因为这是假加密。注意到 \(lstans\) 为 \(0\) 或 \(1\),则真实值只有两种情况。

\(O(n \log n)\) 的方法是线段树分治,但我看不懂。这里只说 \(O(n^{\frac{4}{3}} \log n)\) 的分块。

并查集支持撤销,但图上删边不是撤销。一种 \(O(n^2)\) 的暴力是,对于每个询问,将它前面的所有还存在的线段提出来,重新构建并查集。

受此启发,我们考虑分块,设块大小为 \(T\)。对每个块,将前面的所有还存在的线段提出来:这其中有两种,一种是此块中不可能出现的,状态一定不变;另一种是可能出现的,状态可能会变。我们对第一种先构建并查集。将第二种加入一个集合中(第一次加,第二次减,类似异或 \(1\))。

接着考虑块内的询问。用类似暴力的方法,将在块内且在此询问前的修改操作加入上面的集合中(方法同上)。此时,我们可以保证此集合大小不超过 \(T\)。于是可以在上面的并查集中加入此集合内的线段,得出答案后撤销。

分析复杂度,为 \(O(\frac{n}{T}n\log n)+O(T^2\log n)\)。当 \(T=n^{\frac{2}{3}}\) 时,为 \(O(n^{\frac{4}{3}}\log n)\)。

标签:frac,log,题解,线段,查集,CF1217F,lstans
From: https://www.cnblogs.com/FishJokes/p/16787755.html

相关文章

  • LG-P3550 [POI2013]TAK-Taxis 题解
    LG-P3550[POI2013]TAK-TaxisSolution目录LG-P3550[POI2013]TAK-TaxisSolution更好的阅读体验戳此进入题面输入格式SolutionCodeUPD更好的阅读体验戳此进入题面存在......
  • 关于一个人类智慧的DP - Vijos 1037 搭建双塔 题解
    关于一个人类智慧的DP-Vijos1037搭建双塔目录关于一个人类智慧的DP-Vijos1037搭建双塔更好的阅读体验戳此进入题面输入格式ExamplesSolutionCodeCode-C++98(JDO......
  • LG-P3552 [POI2013]SPA-Walk 题解
    LG-P3552[POI2013]SPA-WalkSolution目录LG-P3552[POI2013]SPA-WalkSolution更好的阅读体验戳此进入题面输入格式SolutionCodeUPD更好的阅读体验戳此进入(建议您从上......
  • P8298 [COCI2012-2013#2] POPUST 题解
    题目题目大意有\(N\)种饭菜,每种饭菜有两种价格\(A_i\)和\(B_i\)。对于两种价格,如果你的选的第一道菜是\(i\),则它的价格为\(A_i\)否则为\(B_i\),求对于点\([......
  • tiktok黑屏问题解决方法
    最近很多刚玩tiktok的朋友反馈tiktok黑屏的问题,其实,tiktok黑屏的问题主要是因为官方限制国内用户大量发布低质量搬运视频的风控方式之一,今天来做一期解决tiktok黑屏的方......
  • MAC上cocoscreator2.4.3打包Android出现ABIs [armeabi] are not supported for platfo
    打开vip_kingdom_rush_2游戏工程,点击构造发布,打开EditorWindow,选择发布平台为Android,构建成功后,点击编译 如果编译出现下面错误为armeabi架构不支持,在gradle.propertie......
  • LeetCode 二叉树遍历算法题解 All In One
    LeetCode二叉树遍历算法题解AllInOne树的遍历/TreeTraversal主要看根节点Root的遍历顺序:前,中,后前序遍历(Root,Left,Right)先访问根节点,然后遍历左......
  • 记录 UE5 Cook Content 和 Package Project 无法打包/卡住的问题解决过程
    在UE工程打包为二进制的时候,我遇到了无法打包的情况,并且没有显示打包失败,而是一直卡住不动,日志一直不更新。我尝试了3个行为,前2个并没有真正解决问题,但到第3个行......
  • YACS 2022年9月月赛 甲组 T2 区间交集(三) 题解
    所以说,我又来贴标程了。这题有很多做法,线段树,优先队列$and$删除等等,这里分享一种码量极少的二分做法,主要思路:二分+动归#include<bits/stdc++.h>usingnamespacestd;......
  • CF1329A Dreamoon Likes Coloring 题解
    提供一个简短的题解:首先如果所有长度加起来还不到\(n\)直接无解。可以直接贪心,把第\(i\)条线段的右端点放在\(n-i+1\)这个位置,就可以最省长度(只占一个点)而且不会遗......