Fa
  • 2025-01-09[NOI2018] 你的名字的题解
    [NOI2018]你的名字Solution:考虑一下\(l=1,r=\left|S\right|\)的时候怎么做,其实比较简单,我们对\(S,T\)都建立出SAM,利用这个求得\(p_i\),表示\(T_{i-p_i+1,i}\)在\(S\)上是一个连续子串,设\(fir_i\)表示\(T\)的SAM中,节点\(i\)代表的\(endpos\)中的最小值(事实上
  • 2025-01-09[BZOJ3159] 决战 题解
    个人感觉各方面难度高于《在美妙的数学王国中畅游》,也不知道是不是求导的关系,这题\(luogu\)难度评级还更低。不过感觉这题作完对\(LCT\)理解更顺畅了。前四个操作简单,关键在第五人格操作。注意力惊人的注意到我们无法像普通\(Splay\)一样,直接对\(LCT\)中的\(Splay\)
  • 2025-01-091月8日
    思维题训练https://codeforces.com/contest/1800/problem/E1https://codeforces.com/contest/1800/problem/E2这两题很经典,两点间的交换看作两点在一个连通块,用并查集建边。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=1e6+10;intfa[
  • 2025-01-08洛谷 P1550 [USACO08OCT] Watering Hole G 题解
     由于无法提交题解所以来csdn蹭个位置  题目链接  这道题我的思路就是用并查集(推荐先学习:并查集(B站视频))将所有农场连接成n个(几个都不重要)连通块,用一个优先队列(由于作者没找视频所以不放链接了sorry)记录x农场连接y农场的最小价格。  有个值
  • 2025-01-08[WC2006] 水管局长 题解
    最大值最小的路径肯定在最小生成树上,考虑用\(LCT\)维护最小生成树,只需要维护长度最长的边即可实现。由于\(LCT\)维护最小生成树不支持删边,所以采用倒序加边的方式处理。时间复杂度\(O(n\logn)\)。#include<bits/stdc++.h>#definefa(x)lct[x].fa#definefl(x)lct[x].f
  • 2025-01-071月7日
    上午思维题训练https://codeforces.com/contest/2026/problem/Chttps://codeforces.com/contest/2026/problem/Bhttps://codeforces.com/contest/2023/problem/Ahttps://codeforces.com/contest/2034/problem/D下午https://vjudge.net/problem/HDU-4612题意:有一个无向图,加
  • 2025-01-06[POJ3237] 树的维护 题解
    一眼树链剖分或\(LCT\),由于在学后者所以就写了。取反操作相当于把\(min,max\)取反后交换,所以要维护\(min,max,val\)。时间复杂度\(O(m\logn)\)。#include<bits/stdc++.h>#definefa(x)lct[x].fa#definefl(x)lct[x].fl#definemx(x)lct[x].mx#definemn(x)lct[x]
  • 2025-01-05atcoder 杂题 #05
    atcoder杂题#05abc340_gLeafColorabc340_fF-S=1abc361_gGoTerritoryabc386_fOperateKabc340_g独立想出了这道题。如果我们确定了子图的叶子,那么这个子图就确定了。又由于叶子的颜色要相同,所以每种颜色的贡献是互相独立的。首先如果一种颜色有\(x\)个点,那
  • 2025-01-05CF补题 950-Div.3
    CF补题950-Div.3-20250102Dashboard-CodeforcesRound950(Div.3)-CodeforcesA:题目大意:给出一个字符串,要求重复的字母必须\(\gem\),求缺失字母总个数#include<iostream>#include<map>usingnamespacestd;map<char,int>mp;intmain(){ intT; cin>&g
  • 2025-01-05[WC2014] 紫荆花之恋 题解
    啊啊啊啊啊啊啊啊啊啊啊我终于改完啦啊啊啊啊啊啊啊。因为没有在最开始的时候将所有点设置为已经重构的,所以直接\(R15-R70\)间卡了两三天。似乎也是我第一次大规模使用指针了。这道题假如只有一次询问,就是一道简单淀粉质,直接在根节点建立平衡树,记录\(r_x-dis(x,rt)\),然后找
  • 2024-12-29板子
    板子合集头文件//5oiR5piv6YKj57u06I6x54m555qE54uX#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;constexprintN=-1;constexprintinf=20241218;stack<char>t;intmain(){// freopen("neuvill
  • 2024-12-29红黑树、AA树入门
    更好的阅读体验?前言默认读者会基本的BST操作和旋转操作。本文旋转部分的代码。rotate(x)表示将\(x\)节点旋转到其父亲节点的位置。建议阅读:B树红黑树规则红黑树的平衡不靠平衡因子实时监测,和treap的随机值,或像splay的均摊。红黑树的平衡完全靠自身的几条规则。
  • 2024-12-29Splay初步
    更好的阅读体验?前言前置知识:二叉搜索树其实Splay的实现蛮多的,如果真的要能懂的话建议自己画图理解。加油。基础操作准备操作我们先把节点要维护的先定义出来。子树大小节点的权值左儿子右儿子父亲sizevalch[0]ch[1]fastructnode{intsize,val,
  • 2024-12-28并查集
    并查集模板:#include<iostream>#include<vector>usingnamespacestd;//初始化父节点数组vector<int>fa;//查找根节点并进行路径压缩intfindParent(intx){if(x==fa[x])returnx;returnfa[x]=findParent(fa[x]);}//合并两个集合voidunionS
  • 2024-12-27[题解]P1333 瑞瑞的木棍
    P1333瑞瑞的木棍我们将颜色看作节点,每个木棍左右的两个颜色之间连接无向边。可以用并查集维护连通性,每添加一条边\((u,v)\)就合并\(u,v\)所在集合,最终所有节点都在一个集合中\(\iff\)该图联通。在回顾下无向图存在欧拉通路的判定条件,满足其一即可:无向图是欧拉图\(\iff\)非零
  • 2024-12-27[题解]UVA10129 单词 Play on Words
    UVA10129单词PlayonWords将各字母看做节点,单词的首字母向尾字母连一条有向边。最终如果该图存在欧拉通路,则答案合法。回顾一下欧拉通路的判定:有向图是欧拉图\(\iff\)非零度节点弱连通,每个节点出入度相等有向图是半欧拉图\(\iff\)非零度节点弱连通,恰有一个节点出度\(-\)入
  • 2024-12-26省选集训杂题乱写
    碎碎念不去做专题做这个是吧?
  • 2024-12-25P6779 [Ynoi2009] rla1rmdq 题解
    Description给定一棵\(n\)个节点的树,树有边权,与一个长为\(n\)的序列\(a\)。定义节点\(x\)的父亲为\(fa(x)\),根\(rt\)满足\(fa(rt)=rt\)。定义节点\(x\)的深度\(dep(x)\)为其到根简单路径上所有边权和。有\(m\)次操作:1lr:对于\(l\lei\ler\),\(a_i\lef
  • 2024-12-25boruvka
    boruvka是一种对于完全图求最小生成树很好用的算法。算法流程每轮为当前每个连通块找到与其最近的连通块,并连边,直到只有一个连通块。正确性最后的最小生成树上的每个点,显然都会保留它连出的最短的边。否则断掉现在它连出的一条边,再连最短的边一定更优。那么每轮过后,把一个
  • 2024-12-25Atcoder_cf17_final_j Tree MST
    这是我的第一道黑题!言归正传,题意是,给定一棵\(n\)个节点的树,现有有一张完全图,两点\(x\),\(y\)之间的边长为\(w_x+w_y+dis_{x,y}\),其中\(dis_{x,y}\)表示\(x\)和\(y\)在树上的距离,求完全图的最小生成树。常规的求最小生成树的算法有\(kruskal\)、\(prim\)。但是这里这
  • 2024-12-24[学习笔记] splay
    前置:二叉查找树在二叉查找树上做许多操作都十分方便。然而递归树的层数意味着时间复杂度为树高级别。当树是链状时,时间复杂度会退化。各类平衡树的存在大都为了使二叉查找树“平衡”,即高度不会超过\(\logn\)(\(n\)为树的结点个数)。如此以来,在二叉查找树上的操作就有了时间复杂
  • 2024-12-23省选图论专题
    还没打完数学专题呢就来打这个了。(其实是不会多项式)难度大概升序。GivingAwards注意到一个关键信息:每对人只会被提到一次。所以一定有解。考虑卡bug,假如\(a\)欠\(b\)钱,那么就先让\(b\)取钱再让\(a\)取钱,建边dfs即可,注意图不连通。点此查看代码#include<bits/stdc++.h>usi
  • 2024-12-22CF2040D 题解
    构造题做得较少,所以性质观察得较慢。值域给的\(2n\)非常诡异,想到考虑\(2\)的倍数。按深度记录下每层结点,发现隔一层依次按\(2\)的倍数填充,即可满足。即:先填奇数层,再填偶数层。但是连续的偶数是不能相邻的,发现当深度在\([2,4]\)时,无论以何顺序按层填充,都会有问题。处
  • 2024-12-21jQuery下拉选择框美化插件select-mania
    select-mania是一款jQuery下拉选择框美化插件。该插件可以将普通的select下拉选择框转换漂亮的下拉选择框,并且转换后的下拉选择框带搜索功能,可通过AJAX获取数据,带多种主题,还可以自定义主题等。 在线预览  下载  使用方法在页面中引入select-mania.css和select-mania.j
  • 2024-12-21高一上十二月下旬日记
    12.21鲜花做题纪要LibreOJ121.「离线可过」动态图连通性线段树分治板子。点击查看代码intu[500010],v[500010],w[500010],st[500010],ed[500010],ans[500010];pair<int,int>e[500010];map<pair<int,int>,int>f;structquality{intid,fa,siz;};structDSU