04 2020 档案

摘要:题意 给定一组数组a,我们可以把数组a的任意数调整为1到k里的一个数,要求a[i]与a[n-i+1]的和是定值x(i<n/2) 这道题一开始我的思路是拿到一对数,可以知道在哪个范围内的定值x需要修改一次,两次或者不修改 然后产生了如下代码(没AC) 1 #include <iostream> 2 # 阅读全文
posted @ 2020-04-29 20:29 dorayaki桑 阅读(227) 评论(0) 推荐(0)
摘要:关于素数的判定,很多方法都太慢了,而欧拉线性筛法打表算是较快的一种,可以处理较大的数据 复杂度为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桑 阅读(251) 评论(0) 推荐(0)
摘要:单调队列的介绍 顾名思义,单调队列就是指递增或者递减的队列,经过维护之后,让队列元素的第一个始终是范围内的最大或者最小值 其实现方法很多,可以开一个队列queue,或者直接在数组里用head和tail下标来完成 1 void find_min()//求最小值的单调队列 2 { 3 int head 阅读全文
posted @ 2020-04-23 11:09 dorayaki桑 阅读(171) 评论(0) 推荐(0)
摘要:简单dp问题总共分为四类:找钱问题,01背包问题,最长公共子序列问题,最长递增子序列问题 找钱问题 这类问题是dp中最基础的问题,其形式是最外层循环为钱的种类,第二层是钱的金额,最末层是用多少数量的钱实现 但是核心是建立在后续能用前面的值推出的基础上。 dp[j][k] = dp[j][k] + d 阅读全文
posted @ 2020-04-17 16:40 dorayaki桑 阅读(452) 评论(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桑 阅读(157) 评论(0) 推荐(0)

//自动生成目录 levels of contents