摘要: 快速幂 似乎没什么好写的,直接看代码部分 #include<cstdlib> #include<cmath> #include<ctime> #include<cstring> #include<iostream> #include<algorithm> using namespace std; l 阅读全文
posted @ 2021-03-20 20:48 S_Curry 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 树状数组 一、引入 解题过程中,有时我们需要维护一个前缀和,s[i]=a[1]+a[2]+a[3]+...+a[i] ,容易发现,当我们修改a[i]时,s[i+1],s[i+2]都会随着改变 时间复杂度O(n),因此我们引入树状数组,它的修改和求和都是O(logn) 二、思想及代码实现 A是原始数组 阅读全文
posted @ 2021-03-20 15:34 S_Curry 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 深搜的剪枝技巧 不会搜索的这里→搜索与回溯 一、什么是剪枝 剪枝,顾名思义,就是通过某种判断,避免一些不必要的搜索。在编写程序时,一般都要考虑剪枝 显而易见,优化的核心在于设计剪枝判断方法决定哪些应该舍去,那些不该舍。 二、剪枝原则 正确性:剪枝的目的是优化程序,但如果将正解减去,那优化就失去意义了 阅读全文
posted @ 2021-03-20 15:16 S_Curry 阅读(57) 评论(0) 推荐(0) 编辑
摘要: [#10170]「一本通 5.4 例 1」国王 题解 题目描述 原题来自:SGU 223 在 n*n 的棋盘上放 k个国王,国王可攻击相邻的 8个格子,求使它们无法互相攻击的方案总数。 输入格式 只有一行,包含两个整数 n 和 k。 输出格式 每组数据一行为方案总数,若不能够放置则输出 0。 样例 阅读全文
posted @ 2021-03-19 21:31 S_Curry 阅读(98) 评论(0) 推荐(0) 编辑
摘要: STL 一、栈与队列 #include<isotream> #include<queue> //队列 queue #include<stack> //栈 stack using namespace std; queue <int> h; stzck <int> s; int main() { /* 阅读全文
posted @ 2021-03-09 18:41 S_Curry 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 骗分导论 新 版 骗 分 导 论 蒟 蒻 的 宝 书 目录 第1章 绪论 第2章 从无解出发 2.1 无解情况 2.2 样例——白送的分数 第3章 “艰苦朴素永不忘” 3.1 模拟 3.2 万能钥匙——DFS 第4章 骗分的关键——猜想 4.1 听天由命 4.2 猜测答案 4.3 寻找规律 4.4 阅读全文
posted @ 2021-03-09 18:35 S_Curry 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 广度优先搜索 广度优先搜索算法(Breadth-First Search,BFS)又称宽度优先搜索,是一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。BFS并不使用经验法则算法。 奇怪的电梯 题目描述 呵呵,有 阅读全文
posted @ 2021-03-07 09:32 S_Curry 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 图论 基本概念 图是由顶点的有穷非空集合以及顶点的边的集合组成,通常表示为G(V,E); V是顶点的集合、E是边的集合; 基本术语 无向边:若顶点Vi和Vj之间的边没有方向,称这条边为无向边(Edge),用(Vi,Vj)来表示。 无向图(Undirected graphs):图中任意两个顶点的边都是 阅读全文
posted @ 2021-03-07 09:17 S_Curry 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 数论 第一章:整除理论 (2)整除的基本知识 定义1: 设 a,b ∈ Z , a ≠ 0,如果存在 q ∈ Z , 使得 b=aq,那么就说 b 可被 a 整除,记作 b | a,且称 b 是 a 的倍数, a 是 b 的约数。 定理1: a | b <=> -a | b <=> a | -b < 阅读全文
posted @ 2021-02-10 12:20 S_Curry 阅读(1402) 评论(0) 推荐(0) 编辑
摘要: 树 树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点;除了根结点外,每个子结点可以分为多 阅读全文
posted @ 2021-02-09 10:58 S_Curry 阅读(89) 评论(0) 推荐(0) 编辑