摘要:
一般的,当要读入的东西常数过大时,就会使用快读,且时间复杂度比$cin$低。 代码: void read(int &x) { x = 0; int f = 1; char c = getchar(); while (!('0' <= c && c <= '9')) { if (c == '-') { 阅读全文
posted @ 2021-12-25 22:09
GalaxyOier
阅读(93)
评论(0)
推荐(0)
摘要:
最小生成树 一般来说,最小生成树的题目大多与图的连通性和最小边权和有关,因此就很容易想到一种十分容易实现的算法: 先按照边权排序,再从最小的边开始枚举,若联通且不产生回路,就加入到生成树中,直到加到$N-1$条边为止(即已经成为了树且不形成回路) 那问题来了,代码怎么写,不难想到可以使用并查集,把所 阅读全文
posted @ 2021-12-25 22:09
GalaxyOier
阅读(27)
评论(0)
推荐(0)
摘要:
并查集 概念 一种用来把一堆东西归并成几组的方法 实现方法 光看概念可能会懵掉,大概讲一下实现: 首先,给定元素数量和关系数量,并初始化,把每个元素都创一个组,组名就是元素的值 开始输入关系,每输入一个关系(\(a-b\)),就把关系中靠右的元素划分到靠左的元素中(就是把右边元素所在的组改成左边的元 阅读全文
posted @ 2021-12-25 22:09
GalaxyOier
阅读(26)
评论(0)
推荐(0)
摘要:
对拍 前置知识 首先,听完了OYDS大奆的讲话,学费了很多,首先是可以加入几个工具栏指令来获得更严密的编译(就是能找到一些不容易发现的错误)。 首先,进入Dev-C++,点击【工具】,选择第一个【编译选项】,进入之后在上面的方框输入 -Wall -Wshadow -std=c++11 然后就可以了。 阅读全文
posted @ 2021-12-25 22:08
GalaxyOier
阅读(228)
评论(0)
推荐(0)
摘要:
造数据 几天前…… 自从加入了某个OJ,我自己编题的热情空前高涨,但每编完一道,就发现,根本不会整数据,每次只能笔算输入输出,就很烦,但自从听了OYDS(没错,还是那个OYDS)大奆的讲话,我心中有了一个想法…… 造数据 首先,根据上篇博客所说,有几个操作: system("生成.exe > a.i 阅读全文
posted @ 2021-12-25 22:07
GalaxyOier
阅读(60)
评论(0)
推荐(0)
摘要:
树链剖分 定义 树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。 具体来说,将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。 前置知识——重链剖分 定义重子节点表示其子节点中子树最大的子结点。如果有多个子树最大的子结点,取其一。如果没有子节点,就无重子节点。 定 阅读全文
posted @ 2021-12-25 22:06
GalaxyOier
阅读(41)
评论(0)
推荐(0)