摘要:
「图论」第3章 最短路径课堂过关 A. 【例题1】单源最短路径 题目 代码 dijskar #include <iostream> #include <cstdio> #include <cstring> #define nn 100010 using namespace std; struct H 阅读全文
摘要:
「图论」第2章 最小生成树课堂过关 A. 【例题1】繁忙都市 题目 代码 prim #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define N 310 #define M 200010 阅读全文
摘要:
「数据结构」第1章 二叉堆课堂过关 堆-结构体模板 struct Heap { #define max_(_ , __) ((_) < (__) ? (_) : (__)) int siz; int a[nn * 2]; bool ty; inline void swap_(int x , int 阅读全文
摘要:
「字符串算法」第4章 字典树课堂过关 YbtOJ又双叒叕炸掉了 前几分钟还好好的 由于YbtOJ已经炸裂,暂时无法测评,现采用与网络标程对拍的方式验证程序的正确性. 数据生成程序代码放在文章末尾 关于字典树 以前写的: 模板题 由于找不到最直接的模板,就拿了一个最裸的题权当模板 传送门 大体思路 应 阅读全文
摘要:
「字符串算法」第3章 KMP 算法课堂过关 关于KMP upd on 2021/4/1 优化一些细节 声明:本文的字符串下标均从1开始,对于某个字符串a,a.substr(i,j)表示a从第i位开始,长度为j的字串 模板题 传送门 KMP算法的大致原理 个人认为其他博客已经讲得很好,这里简单讲,把重 阅读全文
摘要:
「字符串算法」第2章 Hash 和 Hash 表课堂过关 先贴上:对拍程序 Hash 把任意字符串映射成唯一一个非负整数的算法 产生冲突概率极小 通过hash值可以实现快速查找与匹配 常用unsigned long long自然溢出取代模运算 多次哈希:采用不同$p$,$mod$多算几次,只有当值全 阅读全文
摘要:
「基础算法」第5章 广度搜索课堂过关 A. 【例题1】走迷宫 题目 思路 广搜裸题,略 代码 #include <iostream> #include <cstdio> using namespace std; bool end; const int f[4][2] = {0,1 , 0,-1 , 阅读全文
摘要:
「基础算法」第3章 二分算法课堂过关 A. 【例题1】数列分段 题目 思路 挺简单的一道题,看到"最大值最小"就知道基本是二分答案+贪心~~(其实看到专题也应该知道)~~ 二分枚举最小的最大值,然后: bool check(int maxn) { int cnt = 1; int sum = 0; 阅读全文
摘要:
「基础算法」第1章 递推算法强化训练 A. 1.划分数列 题目 题目描述 给定一个长度为 n 的数列 A ,要求划分最少的段数,使得每一段要么单调不降,要么单调不升。 输入格式 第一行一个整数 n 。 接下来 n 个数表示数列 A 。 输出格式 输出最少的划分数。 样例 样例输入 1 6 1 2 3 阅读全文
摘要:
「基础算法」第1章 递推算法课堂过关 A. 【例题1】错排问题 题意 求多少个n个数的排列A,满足对于任意的$i (1\leq i \leq n) A_i \neq i$,输入n,输出一个整数,表示答案 思路 设$f(n)$表示n个数的合法方案排列个数 考虑第x个元素,把他放到k位置上,一共有 n- 阅读全文