摘要:
何为线性筛法,顾名思义,就是在线性时间内(也就是O(n))用筛选的方法把素数找出来的一种算法,没用过线性筛素数法的人可能会奇怪,用遍历取余判定素数不是也是线性时间的吗,没错,但是确切的说线性筛法并不是判定素数的,而是在线性时间内求出一个素数表,需要判定是否是素数的时候只要看该数是否在表内就可以瞬间知 阅读全文
摘要:
#分治 所谓分治 简而言之就是分而治之,就是说把任何一个题目分成几段,并逐段去解决,最终达到我们想要的效果。对于任何一个题目来说,“分”俨然成了十分重要的一步,如何分段和能否想到使用分段的思想去解决问题,俨然成了解决分治题目的关键。下面让我们结合题目来看看使用分值的方法。 ####1 归并排序 分段 阅读全文
摘要:
#离散化 这里主要借鉴https://www.cnblogs.com/cytus/p/8933597.html的博客 ###什么是离散化?我们在什么情况下能用离散化呢? 离散化,顾名思义,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件 阅读全文
摘要:
#高精度 普通的long long只能存64位,可64位以上的数怎么存储呢,又怎么运算呢,这里就引入高精度。 这里博主用一个结构体来完成,用结构体有个好处,如有一些题需要用高精,我们可以像平常一样处理; ##存储 struct bignum{ ll n[N>>2]; bool op=0;//1 +, 阅读全文
摘要:
#题解——八数码 ##题目(粘贴自洛谷) ###题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一 阅读全文
摘要:
#二分 ###解决范围 二分法可以用来解决这一系列具有单调性质的题,例如求单调函数的零点 其实在小学奥数中就用到了二分法 例如手动开根号,再比如猜数游戏 二分的具体过程就是先取一个中间值,判定一下正确答案在哪边,然后接着再二分,直到找到答案为止 二分法的本质是把求解问题转化成判定问题 ###优势 二 阅读全文
摘要:
#P2571 [SCOI2010]传送带题解————天梦 如写的不好,请多见谅。 对于这道题,我首先想说,确实困惑了我好久,看网上的各种题解,却都不尽人意,思路早已明白,却不会操作。最后想想,还是觉得自己试着写一个吧。一种思路,与题解的思路不同,但理论上可行,但我当时似乎也不太相信那所谓的“理论”, 阅读全文
摘要:
STL 标准模板库 容器 用法集结 NO.1 stack 栈 注:取自https://www.cnblogs.com/aiguona/p/7200837.html ####库 #include<stack> ####定义方式 stack<_template> s;//参数也是数据类型,这是栈的定义方 阅读全文
摘要:
#include <iostream> #include <deque> using namespace std; int main(int argc, char* argv[]) { deque<int> deq; for (int i = 0; i<6; i++) { deq.push_back 阅读全文
摘要:
题目:(转自 https://www.luogu.com.cn/problem/P1541) 题目描述 乌龟棋的棋盘是一行NN个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第NN格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。 乌龟棋中MM张爬行卡片,分成4种不同的类型( 阅读全文