摘要: 2023 给你一个字符串 \(s\),把 \(s\) 的最后一个改成 \(4\) 之后输出就行了。用 python 代码更短哦 #include <iostream> using namespace std; int main() { string s; cin >> s; cout << s.su 阅读全文
posted @ 2024-01-10 16:39 haokee 阅读(62) 评论(1) 推荐(0)
摘要: 傻逼 dinic uses math; var n, m, s, t, c, nx, ny, i, j, k, head, tail : longint; h, d, eto, nxt, dx, dy, q : array[0..1000000] of longint; x, inf, ans, v 阅读全文
posted @ 2023-12-27 18:03 haokee 阅读(18) 评论(0) 推荐(0)
摘要: 写尼玛,EK 都能过,过不了纯属小脑萎缩。思路?根本没有,直接套模板。 #include <iostream> #include <queue> using namespace std; const int kMaxN = 1005; int e[kMaxN][kMaxN], f[kMaxN], p 阅读全文
posted @ 2023-12-26 17:02 haokee 阅读(15) 评论(0) 推荐(0)
摘要: T407255 结点最短路径 题目提供者 难度 时间限制 内存限制 算法 动物联盟 普及/提高- 520ms 512.00MB 动态规划,dp 搜索 倍增 动态规划,dp 树形 dp 最近公共祖先,LCA 数论 前缀和 差分 解法 初步思想 对于任意一次询问,我们都可以使用 dijkstra 跑最短 阅读全文
posted @ 2023-12-16 17:02 haokee 阅读(24) 评论(0) 推荐(0)
摘要: 阅读 pdf,观感更上一层楼 水题环节 A - Short Sort 题目大意 有 \(3\) 张卡片,上面写着 \(\texttt{a,b,c}\),以任意排列的形式出现在一行中,你可以进行一次交换操作,问你经过操作之后,能否使这三张卡片的顺序正好变为 \(\texttt{abc}\)? 思路 这 阅读全文
posted @ 2023-12-13 17:01 haokee 阅读(15) 评论(0) 推荐(0)
摘要: 目录概述定义尝试求解尝试改进算法倍增思想优化代码Tarjan思路代码习题判断路径题目大意思路代码求和题目大意思路代码继续差分题目大意思路代码 概述 定义 对于 \(x\) 和 \(y\) 两个结点,我们需要找到一个节点 \(z\),使得 \(z\) 既是 \(x\) 的祖先也是 \(y\) 的祖先, 阅读全文
posted @ 2023-12-11 18:09 haokee 阅读(38) 评论(0) 推荐(0)
摘要: 题目大意 有 \(N\) 个点 \(M\) 条边,每一条边都是双向边,第 \(i\) 条道路连接着 \(A_i\) 和 \(B_i\),长度为 \(C_i\)。现在有一个长度为 \(K\) 的序列,第 \(i\) 个数为 \(E_i\) \((1\le E_i\le M)\)。接下来你需要在这个序列 阅读全文
posted @ 2023-12-11 14:44 haokee 阅读(13) 评论(0) 推荐(0)
摘要: 图的简介 简介 图论是数学的一个分支,图是由若干个点和边所组成的集合。点代表事物,而边代表事物之间的关系。 概念 图的构成 图是一个二元组 \(G=(V,E)\),\(V\) 是一个非空集合,表示点,\(E\) 表示边。图分为有向图和无向图,其实就是边有没有方向的区别。边上是可以有权值的,有权值的图 阅读全文
posted @ 2023-12-09 17:31 haokee 阅读(28) 评论(0) 推荐(0)
摘要: 差分约束系统 - 好渴鹅的笔记 | 阅读 pdf 差分约束系统简介 算法思想 差分约束系统是一种特殊的多元一次不等式组,他有 \(n\) 个变量以及 \(m\) 条约束条件,每一个约束条都形如 \(x_i-x_j\le k\),其中 \(i\) 和 \(j\) 都是 \(0\sim n\) 的整数, 阅读全文
posted @ 2023-12-07 22:08 haokee 阅读(15) 评论(0) 推荐(0)
摘要: 2023/12/5 练习日志 P8630 密文搜索 题目大意 有一个字符串 \(s\)。现在有 \(n\) 个长度为 \(8\) 密码,你可以任意排列每一个密码,问你可以在 \(s\) 中匹配的有多少个。 思路 这题只是排列密码,实则匹配的时候是连续的,因此我们就可以进行统一的排序,这样子就可以达到 阅读全文
posted @ 2023-12-05 18:00 haokee 阅读(8) 评论(0) 推荐(0)
摘要: 哈希表 - 练习 什么是哈希表 哈希表的原理 当我们想要存储一个数是否出现过的时候,我们可以把这个数当作下标,存进数组里面。但是这种方法适用性非常局限,因为一旦下标非常大,我们的数组就开的很大,而且万一下标并不是一个整数呢?因此,伟大的哈希表就诞生了。 哈希表的原理就是将一个很复杂的下标通过哈希函数 阅读全文
posted @ 2023-12-04 18:00 haokee 阅读(34) 评论(0) 推荐(0)
摘要: 中文版 A 题目大意 一年有 \(M\) 个月,一个月有 \(D\) 天。现在的时间为 \(y\) 年 \(m\) 月 \(d\) 日,请问明天是多少? 思路 首先,既然要计算明天,那么我们直接将 \(d\) 加 \(1\) 就行了,然后检查一下 \(d\) 是否超出了 \(D\) 的范围,如果超出 阅读全文
posted @ 2023-12-03 22:12 haokee 阅读(118) 评论(0) 推荐(0)
摘要: 目录树树的概念树的定义基本术语树的存储双亲表示法邻接矩阵邻接表复杂度对比树的遍历深度优先广度优先简单树上问题树的直径定义思路代码树的重心定义思路代码表达式树题目思路代码二叉树二叉树的概念二叉树的定义特殊的二叉树斜树满二叉树完全二叉树二叉树的性质二叉树的遍历遍历方法前序遍历中序遍历后序遍历层序遍历遍历 阅读全文
posted @ 2023-12-02 17:35 haokee 阅读(43) 评论(0) 推荐(0)
摘要: 题目 B - Playlist 题目描述 一张有 \(N\) 个歌曲的播放列表,第 \(i\) 首歌曲的长度为 \(T_i\) 秒。好渴鹅要在时刻 \(0\) 开始播放歌曲,每次以相等的概率随机播放任何一个歌曲。请问 \((X+0.5)\) 秒时正在播放第一首歌曲的概率,对 \(998244353\ 阅读全文
posted @ 2023-12-01 17:34 haokee 阅读(10) 评论(0) 推荐(0)
摘要: 全源最短路算法 - Johnson | 阅读pdf 题面描述 给定一个 \(n\) 个点,\(m\) 条边的有向图。假设 \(i\) 到 \(j\) 的最短距离是 \(d_{(i,j)}\),那么你需要输出 \(n\) 行,第 \(i\) 行输出 \(\sum\limits_{j=1}^{n}d_{ 阅读全文
posted @ 2023-11-28 17:35 haokee 阅读(102) 评论(0) 推荐(0)
摘要: Merge Slimes 首先,我们看到,两个大小为 \(S\) 的滑雪板可以合成为 \(2\times S\) 的滑雪板。通过这个特性,我们就已经知道了,对于任意的 \(S\),只会合成比 \(S\) 大的滑雪板。虽然说了跟没说一样,但是我们就知道可以从小到大枚举 \(S\),然后合成就行了。 由 阅读全文
posted @ 2023-11-27 17:32 haokee 阅读(11) 评论(0) 推荐(0)
摘要: 传送门 | 阅读 pdf A 好渴鹅本来用的贪心,但是打完之后—— 文明 的,竟然样例都过不了!原来是一只累加了负数,然后就吃席了。增加环节改成取 \(\max\)。我爱你 的,竟然又 WA 了。究竟是神么错了,一定有那个地方忽略了,一定有,一定,一…… 哦哦哦哦哦哦——原来是如果没有取当前的元素, 阅读全文
posted @ 2023-11-22 17:33 haokee 阅读(18) 评论(0) 推荐(0)
摘要: [ABC325E] Our clients, please wait a moment 题目描述 一个国家里有 \(n\) 个城市。 你需要从 \(1\) 号城市旅行到 \(n\) 号城市。 你有坐车和坐火车两种通行方式,对于从城市 \(i\) 到城市 \(j\) : 坐车会花费 \(D_{i,j} 阅读全文
posted @ 2023-11-21 18:02 haokee 阅读(131) 评论(1) 推荐(0)
摘要: 暴力算法 首先一看题目,相信大家一眼就看出了并查集。但是做着做着,你就会发现,这根本就不是一个并查集啊!原因如下: 这里的合并是单向的,即 \(a\) 合并到 \(b\) 不等于 \(b\) 合并到 \(a\); 输出的是不同颜色的球的数量,但是使用并查集实现非常麻烦。 所以我们可以想出一种十分暴力 阅读全文
posted @ 2023-11-19 09:44 haokee 阅读(58) 评论(0) 推荐(0)
摘要: 前言 for-each 就像沙漠中的一淌小河,在 STL 的沙漠中将我拯救;for-each 就像黑暗里的一盏明灯,照亮我学 STL 的路;for-each 就像一支画笔,画过的地方屎山代码再也不见…… 为了让 C++ 变得更 python 一样简易,好渴鹅想要做一个 range 函数,这将返回一个 阅读全文
posted @ 2023-11-13 21:59 haokee 阅读(40) 评论(0) 推荐(0)
摘要: 购买大楼Bbuilding 题目背景 这是一个十分繁华的地方,到处高楼大厦,地上车水马龙。好渴鹅走了过来,给你打了打招呼,递过来一张名片:“你看下,我是这边的董事。你要买楼的话去我们公司就行。”你笑了笑,并没有说话。仔细地看了看名片,暗自一笑。 来到公司的售楼处,你看见了,密密麻麻的人群内,好渴鹅正 阅读全文
posted @ 2023-11-11 11:10 haokee 阅读(9) 评论(0) 推荐(0)
摘要: c++ 小教程 前言 由于其教程作者经历了很久的时间,因此码风可能有较大的差别。 基础语法 Hello world 在配完一个新环境的时候,为了检测配置有没有问题,我们一般都会以“输出Hello world”来检测。现在,我们就用 c++ 来写一个 Hello world 的程序扒 😄 #incl 阅读全文
posted @ 2023-11-05 21:46 haokee 阅读(72) 评论(0) 推荐(0)
摘要: 思路 首先我们先来一遍 \(10^6\) 的线性筛,因为这题埃氏筛可能被卡; 然后我们对于每一个 \(1\le i\le n\) 都枚举一遍,计算 \(p(i)\) 的和; 再来一个 \(\sqrt x\) 的暴力枚举 \(i\),通过 \(i\) 计算出 \(j\),然后判定条件即可。 伪代码 常 阅读全文
posted @ 2023-10-30 20:51 haokee 阅读(17) 评论(0) 推荐(0)
摘要: 「CHNCO 2023」 简单质数问题 题目背景 想必大家对于「素数」已经炉火纯青了吧?毕竟是在 OI 当中最简单的数学章节了!(组合数什么的压根不会:)现在好渴鹅就出一道灰常简单的小题目,给大家水一水。 题目描述 给定一个 \(n\),请你求出 \(f(n)\)。定义 \(f(n)=\sum\li 阅读全文
posted @ 2023-10-29 21:17 haokee 阅读(14) 评论(0) 推荐(0)
摘要: CSP 考完了,好渴鹅又双叒叕写篇博客压压惊。 \(\newcommand\BorderRect[4]{\color{#3}\rule{#1}{#2}\kern{-#1}\color{#4}\rule{0.5px}{#2}\kern{-0.5px}\rule{#1}{0px}\rule{0.5px} 阅读全文
posted @ 2023-10-23 17:31 haokee 阅读(28) 评论(0) 推荐(0)
摘要: 前言 明天就是大名鼎鼎的 CSP 了,由于好渴鹅的数学过于 Vegetable Chicken,如果可爱的 €€£ 考到了数学的话,好渴鹅估计就得吃席了,因此好渴鹅翻遍了网上各种资料,整理出了以下的公式。 组合数学 前置芝士 排列数 \(n\) 个元素中取出 \(m\) 个元素,考虑顺序下的方案数、 阅读全文
posted @ 2023-10-20 17:33 haokee 阅读(71) 评论(0) 推荐(0)
摘要: 导读 马上就要 csp 了,由于去年的 白席 丢分,好渴鹅十分心惊胆战。于是打开洛谷,打开入门与面逝,刷起了水题。刷完了水题,好渴鹅 又双叒写篇博客压压惊。 B3638 T1 三角形面积 题目背景 请尽量在 20min 之内写完题目。这是指「写代码」的时间;「读题」时间不计算在内。 题目描述 给定平 阅读全文
posted @ 2023-10-20 14:59 haokee 阅读(75) 评论(0) 推荐(0)
摘要: 导读 由于好渴鹅这段时间一直在模拟赛当中出现了各种可爱的行为,因此写篇博客压压惊。 while (1) { csp.rp += 1145141919810ull; } 具体时间 \(10^6\) 开成了 \(10^5\),只因; 枚举端点没有枚举 \(0\),只因; unordered_map 使用 阅读全文
posted @ 2023-10-19 17:10 haokee 阅读(20) 评论(0) 推荐(0)
摘要: 导读 由于好渴鹅过于智慧,因此这段时间一直在掉大分,因此写篇博客压压惊。 题目 救生员(lifeguards) 这题灰常的简单,每一个线段被取消之后只会丢失这个线段与其他线段不重复的部分,因此排完序我们就可以直接贪心。写一个函数求出线段最小的自己所有的部分,注意要对 \(0\) 取 \(\max\) 阅读全文
posted @ 2023-10-19 14:39 haokee 阅读(36) 评论(0) 推荐(0)
摘要: \documentclass[UTF-8]{ctexart} \usepackage{fancyhdr} \usepackage{enumerate} \usepackage{amsmath} \usepackage{indentfirst} \setlength{\parindent}{2em} 阅读全文
posted @ 2023-10-15 16:45 haokee 阅读(175) 评论(2) 推荐(0)
摘要: 前言 广度优先搜索(Breadth First Search, BFS),即在搜索树内搜索,一起处理相同层级的状态,再去处理下一级的状态。由于不是一个劲地往前搜,因此处理可行性问题是搜到结果就可以直接退出,但是深度优先搜索最坏得遍历完整个搜索树才能退出。广度优先搜索也不是没有坏处,它会破坏先驱状态, 阅读全文
posted @ 2023-10-15 16:29 haokee 阅读(23) 评论(0) 推荐(0)
摘要: 前言 深度优先搜索(Depth Fir Search, DFS)是用来在搜索图内搜索的一种算法。在算法中,如果遇到新状态,那么立刻处理新状态,并处理新状态转移出来的状态。若没有新状态了,那么才回去处理旧状态。DFS 一般使用递归实现。 搜索的题目灵活多变,需要有一定的经验。 例题 记录路径 按照字典 阅读全文
posted @ 2023-10-15 16:22 haokee 阅读(24) 评论(0) 推荐(0)
摘要: 我们知道 \(x\) 个 \(a\) 相乘乘上 \(y\) 个 \(a\) 相乘,等于 \(x+y\) 个 \(a\) 相乘,因此我们可以得出公式 \(a^x\times a^y=a^{x+y}\)。因此,设 \(f(a,b)\) 表示 \(a\) 的 \(b\) 次方,我们可以这样算: \[f(a 阅读全文
posted @ 2023-10-15 16:06 haokee 阅读(9) 评论(0) 推荐(0)
摘要: 某大学有 \(n\) 个职员,编号为 \(1\dots n\)。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。 现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 \(r_i\),但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如 阅读全文
posted @ 2023-10-15 16:01 haokee 阅读(19) 评论(0) 推荐(0)
摘要: 递推型动态规划一般不能处理图的问题,因为图是没有拓扑序的。一个定点可能有多个入度或者多个出度,而缺少了动态规划必须的拓扑序。但是其实我们可以对图进行拓扑排序,找到这个图的拓扑序,然后再进行动态规划。 拓扑序仅在有向无环图里面出现,一个同样的图可能会有多个拓扑序。 基本思想 首先我们选取所有入度为 \ 阅读全文
posted @ 2023-10-15 15:57 haokee 阅读(23) 评论(0) 推荐(0)
摘要: Floyed-Warshall 采用 dp 的思想。设 \(dp_{(i,j)}\) 表示 \(i\) 到 \(j\) 的最短路径,那么对于任意的 \(k\),\(dp_{(i,j)}=\min(dp_{(i,j)}, dp_{(i,k)} + dp_{(k,j)})\)。 void floyed( 阅读全文
posted @ 2023-10-15 15:28 haokee 阅读(23) 评论(0) 推荐(0)
摘要: 线段树是一种经常用来维护区间信息的数据结构,可以在 \(O(\log_2 n)\) 的时间复杂度之内完成单点修改、区间修改、区间查询等操作,底层是一个二叉树。 结构与建树 我们可以画出一颗树的形态,每往下一层就会将上一层管辖的范围分成两半,然后递归进行操作。我们可以递归建树,当前建树的区域为 \([ 阅读全文
posted @ 2023-10-15 15:22 haokee 阅读(55) 评论(0) 推荐(0)
摘要: 有的时候,我们需要使用数组记录下标,但是下标可能会非常大,但是存储的数据却不多,这时我们就需要一个名叫“哈希表”的东西进行使用了。 哈希表的创建 哈希表的原理就是用一个哈希函数,使得一些数的的哈希值都在哈希表的可承受范围之内。哈希表本质上就是一个数组,但是大小并没有这么大,而是通过哈希函数映射成一个 阅读全文
posted @ 2023-10-15 15:16 haokee 阅读(23) 评论(0) 推荐(0)
摘要: 并查集是一种树形的结构,重点不在于遍历所有的点而是记录父亲。并查集使用起来就是集合,拥有查找、合并等操作。现在,跟随好渴鹅的脚步,走入并查只因的大门。 并查集初始化 最开始,有 \(n\) 棵树,第 \(i\) 棵树只有自己一个结点。当想要合并时,就把一棵树的根的父亲改为另一棵树,这样子它们就合并成 阅读全文
posted @ 2023-10-15 15:12 haokee 阅读(14) 评论(0) 推荐(0)
摘要: 思路 既然每次都是坐在最值上面,那么我们就可以定义两个优先队列,分别存上内向者和外向者的座位信息,需要的时候就可以 top 出来最大或最小的座位。 由于堆顶的值 top 出来实际上是座位的宽度,因此通过所有的 \(w_i\) 都不相同的特性,我们可以使用 map 或者 unordered_map 来 阅读全文
posted @ 2023-10-15 14:35 haokee 阅读(26) 评论(0) 推荐(0)