摘要: 关于素数的判定,很多方法都太慢了,而欧拉线性筛法打表算是较快的一种,可以处理较大的数据 复杂度为O(n) 1 const int MAXN=3000001; 2 int prime[MAXN];//保存已经求出的素数 3 bool vis[MAXN];//判断是不是素数 4 int Prime(in 阅读全文
posted @ 2020-04-26 12:10 dorayaki桑 阅读(250) 评论(0) 推荐(0)
摘要: 单调队列的介绍 顾名思义,单调队列就是指递增或者递减的队列,经过维护之后,让队列元素的第一个始终是范围内的最大或者最小值 其实现方法很多,可以开一个队列queue,或者直接在数组里用head和tail下标来完成 1 void find_min()//求最小值的单调队列 2 { 3 int head 阅读全文
posted @ 2020-04-23 11:09 dorayaki桑 阅读(170) 评论(0) 推荐(0)
摘要: 简单dp问题总共分为四类:找钱问题,01背包问题,最长公共子序列问题,最长递增子序列问题 找钱问题 这类问题是dp中最基础的问题,其形式是最外层循环为钱的种类,第二层是钱的金额,最末层是用多少数量的钱实现 但是核心是建立在后续能用前面的值推出的基础上。 dp[j][k] = dp[j][k] + d 阅读全文
posted @ 2020-04-17 16:40 dorayaki桑 阅读(451) 评论(0) 推荐(0)
摘要: 普通平衡树的常规操作模板 普通平衡树可以实现求排名这样的问题,输入很多同学的成绩,求89分排在多少位,或者第几位是多少名 main函数 1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 using namespace 阅读全文
posted @ 2020-04-11 20:00 dorayaki桑 阅读(294) 评论(0) 推荐(0)
摘要: 线段树 Segent Tree 基础操作 1.建树 2.增减某区间数值 3.增减混合乘除某区间数值 4.lazytag使用 5.区间求和 结构体 struct SegentTreeNode { long long int value,lazytag; }; SegentTreeNode Segent 阅读全文
posted @ 2020-04-09 12:19 dorayaki桑 阅读(153) 评论(0) 推荐(0)
//自动生成目录 levels of contents