网站首页 站内搜索

搜索结果

查询Tags标签: FA,共有 199条记录
  • 并查集学习笔记

    很抱歉这篇博客晚来了(该放在Kruskal前面的)...... 并查集,故名思意,就是用来高效进行合并、查询集合的数据结构,为了方便,我们可以把每一个结点看成树形结构即可。 1.查询 Q1:我们该如何查询某一个结点在哪一个集合呢? A1:我们知道如果需要区分开所有集合,就应该…

    2022/8/11 6:25:47 人评论 次浏览
  • 「codeforces - 687D」Dividing Kingdom II

    link。 好题啊。 首先有一个类 kruskal 暴力,就是对于每一个询问,把所有边按权值大小排降序,第一个加进去成为奇环的边就是答案。注意我们不需要关注偶环长成什么样子,所以我们实际上维护的是一棵生成树。这个可以用并查集维护结点到根的边的数量来实现。 因此我们需要…

    2022/8/8 23:24:41 人评论 次浏览
  • 归档:220807 | 开门水题:STL 系列模板题

    所有题目都在橙到绿之间。梦回小学。UVA [101] - The Blocks Problem 用一个前驱数组和一个后继数组维护一个类似于链表的结构。 然后每次更改根据题意要求,依次递进地更改结点的前驱 / 后继即可。namespace XSC062 { using namespace fastIO; const int maxn = 35; char…

    2022/8/8 6:22:51 人评论 次浏览
  • 【2022暑期集训】最小生成树专题题解

    A [USACO3.1]最短网络 Agri-Net 题目背景 Farmer John 被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。当然,他需要你的帮助。 题目描述 FJ 已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消…

    2022/8/1 23:25:27 人评论 次浏览
  • 后缀自动机(SAM)习记

    前言 本文没有构造证明,因为我不会 基础概念看看就好,自娱自乐。 后期重点更新相关题目的简单总结,方便复习 SAM 基础概念 S 的后缀自动机是一种能够识别所有 S 的子串的自动机类型的数据结构(DFA)。 暴力后缀自动机 对于字符串 \(S\),建立插入了 \(|S|\) 个后缀的 …

    2022/8/1 23:25:27 人评论 次浏览
  • ZZULI (2022河南萌新联赛 四)

    题目描述分析 读题不认真这个毛病什么时候能改? 我竟然看成最长上升子序列问题了, 而且还把代码写好.......(其实就算看出来是并查集, 我也不会写qwq)赛后借鉴大佬代码, 收获很大 以后看到连通块这个词, 就往并查集的方向想 AC代码 #include <iostream> #include &…

    2022/7/31 23:43:50 人评论 次浏览
  • LCA(树上倍增)

    https://www.luogu.com.cn/problem/P3379链式前向星存边 fa[i][j] 代表从i结点向上找 2^i 代的父亲,(i=0代表真父亲) dfs从根结点开始fa[now][i] = fa[fa[now][i - 1]][i - 1];代表当前结点的第2^i代父节点是当前结点2^(i-1)父节点的2^(i-1)代父节点,然后再对其连接到…

    2022/7/31 23:42:40 人评论 次浏览
  • 字符串

    哈希与哈希表 • 使用一个哈希函数将某个特定的数字变成另一个数字,这种操作称之为hash。 • 通常我们会以取模运算来作为哈希函数。 • 举例: hash(key)=key%23, 这样数组 [1 ,75,324] -> [1 ,6,2] • 如果哈希后得到的值相同,我们则可用该值建一个链表,把相同的值…

    2022/7/30 6:25:06 人评论 次浏览
  • "蔚来杯"2022牛客暑期多校训练营1 J Serval and Essay

    启发式合并 对于任意入度为1的点,选择它的前驱进行染色一定优于对它本身染色,于是将这两点进行合并(_Merge部分) 合并的方向由两个点的出度决定,由出度小的点向出度大的点进行合并(这样最多只有n/2条要合并的边) 合并的过程中,可能会出现入度变为1的点,进行类似深…

    2022/7/24 23:24:50 人评论 次浏览
  • 左偏树【待施工】

    #include<bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int fa[N],ls[N],rs[N],dist[N],val[N],id[N]; bool del[N]; int n,m,cnt;int get(int x) {if(x == fa[x])return x;return fa[x] = get(fa[x]); }struct leftist {int id,val;bool operator…

    2022/7/23 23:28:25 人评论 次浏览
  • 刷洛谷题单【数据结构1-3】

    P1551 亲戚 题目描述 规定:\(x\) 和 \(y\) 是亲戚,\(y\) 和 \(z\) 是亲戚,那么 \(x\) 和 \(z\) 也是亲戚。如果 \(x\),\(y\) 是亲戚,那么 \(x\) 的亲戚都是 \(y\) 的亲戚,\(y\) 的亲戚也都是 \(x\) 的亲戚。第一行:三个整数 \(n,m,p\),(\(n,m,p \le 5000\)),分…

    2022/7/23 6:22:54 人评论 次浏览
  • 暑假集训Day6 B(带花树)

    题目链接在这里:B (codeforces.com) 答案要求两女夹一男的匹配数,很显然不能用一般的二分图匹配去做,但是这既然是个匹配问题,题目是人出出来的,很显然还是需要转化成我们平时做的那种匹配。所以我们考虑把男生拆开拆成两个点,然后跑一般图匹配。最后拿匹配数减去男…

    2022/7/13 6:22:27 人评论 次浏览
  • GG 的 普及组 试题

    1.找gg 这个就是直接用字符串做就好了,注意对大小写不敏感,所以要先把所有的大写字母换成小写的(或者倒过来也行)。 时间复杂度是 \(O(n)\) 的。 代码: #include <iostream> #include <cstring> using namespace std ;int n , p[200005] , tot ; char a[…

    2022/7/5 23:26:14 人评论 次浏览
  • HDU4734 F(x) (数位DP)

    (如此简短的题目给人一种莫名的压迫感......) 题目中定义一个数的权值求解函数:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1. 观察可知:权值的表达式与数的位数相关,再加上要分离每个位上的数字,那么就不难想到数位DP了。 dp[pos][j]表示pos位下小等于…

    2022/6/24 23:23:32 人评论 次浏览
  • 洛谷 P4145 上帝造题的七分钟 2 / SP2713 GSS4

    Description 给出一个长度为 \(b\) 的数列 \(a\),要进行 \(m\) 次操作,每次操作输入 \(k\), \(l\), \(r\),要求支持以下两种操作:\(k=0\) 表示给 \([l,r]\) 中的每个数开平方(下取整)。\(k=1\) 表示询问 \([l,r]\) 中各个数的和。数据中有可能 \(l>r\),所以遇…

    2022/6/23 23:20:46 人评论 次浏览
扫一扫关注最新编程教程