自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 线段树合集整理

作为oier刷题是碰见的大数据结构的集合作者水平有限,如有不足欢迎批评指正会随时更新其中的题目

2021-08-11 11:43:06 197 1

原创 扩展Lucas总结

类比:类比一下所有可以用来求组合数的方法:预处理:可以有效处理O(1e6)数据,弊端是不能存在模数不为质数和中的情况,p为模数 帕斯卡恒等式:可以处理O(1e3)的数据,依靠dp,没有模数限制 Lucas定理:可以求n,m较大而p较小的情况,递归在O()O(?)来求,弊端是模数一定是质数 扩展Lucas:跟lucas无关,是中国剩余定理+预处理阶乘,注意,在题中保证p不是质数而且还很大的情况下,能保证p的质因数幂在1e5~6范围内,考虑使用扩展Lucas补充一个:BSGS是求:最小正整数x.

2022-05-09 21:24:58 233

原创 中国剩余定理

CRT:证明的话显然,在(mod mi)中才会有Mi*ti=1的意义,而不在(mod mi)情况下时,会整除,因为前者是除以外所有的的乘积,故,不会产生贡献,最终只有

2022-05-07 23:11:19 240

原创 求区间元素种类数的几种方法

P1972 [SDOI2009] HH的项链https://www.luogu.com.cn/problem/P1972本博客将以该题目为例进行介绍方法1:树状数组树状数组需要结合离散化处理,我们观察到一个性质,随着右端点的右移,每一种元素的贡献位置(这里指存在贡献的位置,如:1 2 3 1 这组数据,内1元素的贡献可以用4位置提供1次贡献,而1位置的元素贡献为0),因为右端点不断右移,所以不需要考虑查询区间存在如下情况:在上图中,假设7位置的1提供了贡献,此时肯定右端点位置,故上图区间..

2022-05-04 18:19:23 568 1

原创 点分治解析

前言 最近碰见了淀粉质。想系统学学,虽然也学不懂。 算法概述 首先明确用途:在大规模处理树上路径的问题时,可以考虑淀粉质淀粉质(点分治 的主要思想继承了分治的思想,相当于每一次拆开了一棵树(子树),然后不断重复操作,因此,点分治优化的思路就来自于选取的树根的最大深度最小 引理 树的重心 关于树的重心,贴个oiwiki这里我们应用的性质即为性质第一条首先考虑为什么需要树的重心,我们每次分裂出子树,假设子树退化成链,结合线段树的思想,我们知道应该选取尽量到各个........

2021-12-16 22:41:43 355

原创 NOIP2021总结

前言 不得不说,noip2021还是较为友好的,虽然自己答的稀碎挂一堆分但还是侥幸没有AFO 考试过程 騲进教学楼心态就炸了忘带核酸报告辣,dayu帮打的( 感动进错考场辣,各种证件协议交错老师只能自己追回来进了考场,wc为毛坐门口啊,冻死我了梅开三度了啊騲开题,T1不是很简单嘛。直接预处理就完了,结果当时想当然7数密度比较小就直接没预处理答案,二分之后直接跑的,感觉均摊不错应该nlogn左右吧,结果T了。当时想到预处理答案结果脑子一热胡了。 狂跌30pts...

2021-12-04 11:44:15 392 1

原创 差分约束系统

算法简介 差分约束系统是一种特殊的n元一次不等式,包含n个变量,以及m个约束条件,每个约束条件由两个变量做差构成的,形如:,其中是常数,常规约束条件为:

2021-08-19 13:49:01 79

原创 博弈论基础

巴什博弈 必胜策略,第一回合消去余数,此后每次保持两个人轮流取一回合的石子数量维持在#include<iostream>#include<cstdio>#include<cmath>using namespace std;int n,m; int main(){ scanf("%d%d",&n,&m); if(n%(m+1)) printf("Second"); else printf("First"); return ...

2021-08-13 13:58:29 148 1

原创 欧几里得及其扩展

辗转相除法 用途:求解a,b两数的最大公约数定理: 前提:语言表述为:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数有了这个定理,可在几乎是log的时间复杂度内求得最大公约数int gcd(int a,int b){ if(!b) return a; return gcd(b,a%b);}其定理延申:我们知道而我们知道,,则要求,等价于求因此,这样一看,如果求多个数的最大公约,可化成差分的形式所以一个树状数组...

2021-08-09 10:53:14 152

原创 区间二分法

二分查找 while(l<=r){ int mid=(l+r)/2; if(val[mid]==x) return mid; if(val[mid]<x) l=mid+1; else r=mid-1;}很基础的板子,没啥可说保证答案处于以内,循环一般以结束,每次二分的中间值会归于左半段或右半段在单调递增区间中查找第一个满足的数(即的数中最小的一个)while(l<r){ int mid=(l+r)>>1;/*向下取整*/ ...

2021-07-30 12:00:46 995 1

原创 等比数列求和

引入: 先来看一个问题,求的所有约数之和;解决思路如下:首先将分解质因数,表示为,其中均为质数,因此表示为:。此时我们将的所有约数表示为集合,从这个约数中选出个数的乘积即为一个约数。此时我们根据乘法分配律反推:所有约数之和为:而如何求解每一对括号内的等比数列和? 正文 等比数列求和通项公式:注意,如果解决此类问题,对于除法应为在的条件下做同余,需要用到逆元,还需要关注是否为素数而这里问题来了,我们想用更快的没有除法的方法求等比数列和考虑分治法:如果为奇数,...

2021-07-29 14:27:57 3267

原创 网络流和二分图初步

杂谈 初步涉猎网络流,谈谈自己的理解,蒟蒻会不定期补充的 qwq 网络流问题 最大流问题: 先举一个运输方案的例子 :可行方案:总运输量5百吨。 显而易见一个可行方案有如下性质:而现在的问题转变为求Vs到Vt的最大运输量概念概述: EK算法 感性理解则为:增广的流量一定要符合短板效应,即等于路径上残量的最小值。EK算法具体实现:标程#include <cstdio>#include &...

2021-07-27 22:30:48 192

原创 欧拉定理及FLT综合

欧拉定理

2021-07-27 20:13:16 100

原创 7-21模拟赛T2

题目地址 考点: 最大公约数的性质:满足辗转相除法的性质推广多元

2021-07-27 18:49:33 82

原创 逆元求解方法

费马小定理求逆元int quick_pow(int a,int b){ int ans=1%mod; int tmp=a%mod; while(b) { if(b&1) ans=(ll)(ans*tmp)%mod; tmp=(ll)(tmp*tmp)%mod; b>>=1; } return ans%mod;}int Inv(int x){ return quick_pow(x,mod-2);}o(n+log(n))预处理逆元void.

2021-07-16 10:12:46 223

原创 NOIP常用技巧

因为cmath库中的log2函数效率不高,通常可以使用O(n)递推预处理出1-n这n种区间长度各自对应的k值(区间[x,y],k=log2(y-x+1)),具体的,设log[d]表示log2(d)向下取整,则log[d]=log[d/2]+1

2021-07-02 09:22:38 440

原创 6月模拟赛题解 序列

题目描述原题地址题解标程#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define maxn 100005typedef long long ll;using namespace std;ll arr[maxn],ans[maxn],pre[maxn],sum[maxn];ll now=0,cnt

2020-06-21 22:57:50 270

原创 6月模拟赛题解 积木

题目描述原题地址题解对于前 20% 的数据,可以直接枚举答案,用搜索判断可不可行对于 100% 的数据。为了方便,我们仅考虑 gcd(a,b) = 1 的情形,若 gcd(a,b)! = 1,则视每 厘米为 厘米。此时a,b互质,稍加推测可以发现每次答案都为 a + b - 1。下面证明这个结论。引入一个概念 完全剩余系,若整数 a0,a1,···,am-1 满足 ai ≡ i( mod m) ,则称a0, a1, …,am-1,为模 m 的一个完全剩余系.分两步证明这个结论.第一步,证明

2020-06-21 22:51:29 449

原创 洛谷P1191 矩形

题目描述给出一个n×nn \times nn×n的矩阵,矩阵中,有些格子被染成白色,有些格子被染成黑色,现要求矩阵中白色矩形的数量输入输出格式输入格式:第一行,一个整数nnn,表示矩形的大小。接下来nnn行,每行nnn个字符,这些字符为“WWW”或“BBB”。其中“WWW”表示白格,“BBB”表示黑格。输出格式:一个正整数,为白色矩形数量输入...

2019-03-10 09:45:09 605

原创 洛谷P1541 乌龟棋

传送门题目背景小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。题目描述乌龟棋的棋盘是一行NNN个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第NNN格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。乌龟棋中MMM张爬行卡片,分成4种不同的类型(MMM张卡片中不一定包含所有444种类型的卡片,见样例),每种类型的卡片上分别标有1,2,3,41,2,3,4...

2019-03-10 09:38:19 445

原创 洛谷P2120 [ZJOI2007]仓库建设

传送门题目背景小B的班级数学学到多项式乘法了,于是小B给大家出了个问题:用编程序来解决多项式乘法的问题。题目描述L公司有N个工厂,由高到底分布在一座山上。工厂1在山顶,工厂N在山脚。 由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建...

2019-03-07 23:19:34 229

原创 洛谷P1131 [ZJOI2007]时态同步

原题地址:https://www.luogu.org/problemnew/show/P1131题目描述小QQQ在电子工艺实习课上学习焊接电路板。一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3…1,2,3…1,2,3….进行标号。电路板的各个节点由若干不相交的导线相连接,且对于电路板的任何两个节点,都存在且仅存在一条通路(通路指连接两个元件的导线序列)。在电路板...

2019-03-03 09:58:26 296

原创 洛谷P1156 垃圾陷阱

题目描述卡门――农夫约翰极其珍视的一条Holsteins奶牛――已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D(2≤D≤100)英尺。卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。每个垃圾都可以用来吃或堆放,并且堆放垃圾不用花费卡门的时间。假设卡门预先知道了每个垃圾扔下的时间t(0&lt;t≤1000...

2019-03-03 09:55:08 299 2

原创 洛谷P1651 塔

题目描述小明很喜欢摆积木,现在他正在玩的积木是由N个木块组成的,他想用这些木块搭出两座高度相同的塔,一座塔的高度是搭建它的所有木块的高度和,并且一座塔至少要用一个木块。每个木块只能用一次,也可以不用。目前已知每块木块的高度,小明想知道在最终两个塔的高度相同的情况下,他所能搭的塔的最大高度是多少,你能帮助他吗?输入输出格式输入格式:第一行为一个整数N,表示木块个数。第二行是N个整...

2019-02-26 22:29:21 290

原创 洛谷P1103 书本整理

原题地址:https://www.luogu.org/problemnew/show/P1103题目描述Frank是一个非常喜爱整洁的人。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以Frank首先将书按高度顺序排列在书架上。但是Frank发现,由于很多书的宽度不同,所以书看起来还是非常不整齐。于是他决定从中拿掉k本书,使得书架可以看起来整齐一点。书架的不整齐度...

2019-02-26 22:18:48 230

原创 洛谷题解 P1217 [USACO1.5]回文质数 Prime Palindromes

[USACO1.5]回文质数 Prime Palindromes题目描述因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围[a,b](5 &lt;= a &lt; b &lt;= 100,000,000)( 一亿)间的所有回文质数;输入输出格式输入格式: 第 1 行: 二个整数 a 和 b . 输...

2018-10-03 13:19:28 572

原创 计蒜客:加载数字

小蒜把1-n这n个数字写进内存,但是除了用二进制格式写的数字(只包含0,1的数字)都失败了,现在他想知道有多少个数字加载成功了。输入格式 一个整数 n(1≤n≤10^9)输出格式 一个整数表示加载成功的数字个数样例输入 10样例输出2这道题思路就是枚举1-n,把它转化成二进制,再把这个二进制当十进制使,枚举加计数,比较好想#include&lt;iostre...

2018-10-03 13:09:15 144

转载 三国杀c++实现

#include&lt;iostream&gt;#include&lt;time.h&gt;#include&lt;stdio.h&gt;#include &lt;stdlib.h&gt;using namespace std;struct pai{int paifu;int huase;int yanse;int dianshu;int leixing;int chan...

2018-07-20 15:43:05 6340 3

原创 n层满k叉树节点总数

2叉树1 3 7 对应公式为(2^n-1)/13叉树1 4 13 对应公式为(3^n-1)/24叉树1 5 21对应公式为(4^n-1)/3...n层k叉树,总共有(k^n-1)/k-1其实这就是在计算等比数列的总和嘛!等比数列通项为:a(n)=a1*q^(n-1)S(n)=a1*(1-q^n)/(1-q)...

2018-07-18 11:31:41 9263 1

原创 c++制作小游戏——扫雷

#include&lt;ctime&gt;#include&lt;cstdlib&gt;#include&lt;iostream&gt;#include&lt;cstring&gt;using namespace std;int map[12][12]; int derection[3]={0,1,-1};int calculate(int x,int y){ int coun...

2018-07-18 09:17:06 8958 1

原创 一个简单的游戏——c++

#include&lt;ctime&gt;#include&lt;cstdlib&gt;#include&lt;iostream&gt;#include&lt;cstring&gt;using namespace std;int map[12][12]; int derection[3]={0,1,-1};int calculate(int x,int y){ int coun...

2018-07-17 20:50:46 22847 13

原创 快速排序和归并排序

代码实现如下#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;cstring&gt;#include&lt;cmath&gt;using namespace std;int b[101];void merge_sort(int *a,int l,int r)//归并排序...

2018-07-16 09:44:46 186

原创 洛古P1706 全排列问题

题目描述输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入输出格式输入格式:n(1≤n≤9)输出格式:由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个常宽。输入输出样例输入样例#1: 复制3输出样例#1: 复制 1 2 3 1 3 2 2 1 3 2 3 ...

2018-07-15 12:42:13 338

原创 [NOIP2007Junior] 守望者逃离

题目描述恶魔猎手尤迪安野心勃勃,她背叛了暗夜精灵,率领深藏在海底的 [哔——] 族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为 17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在 1s 内移动 60m,不过每次使用闪烁法术都会消耗魔法值 ...

2018-06-14 09:39:33 379

原创 求一个数是几位数的几种方法

第一种:数字分割法代码如下:#include <stdio.h>void main(){ int x,b=0; scanf("%d",&x); while(x>0) { x=x/10; b++; } printf("%d ",b);}第二种:log10法C语言中只有lo...

2018-06-12 16:57:30 25303 8

原创 什么是动态规划(漫画版)

动态规划小提示:图文有点长,慢慢看 ———————————— 题目: 有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。 再比如,每次走2级台阶,一共走5步,这是另一种走法。我们可以简写成 2,2,2,2,2。 ...

2018-06-12 16:43:18 405

原创 c++程序设计 计蒜客 抢气球

问题描述  教室的墙上挂满了气球,五颜六色,小朋友们非常喜欢。  刚一下课,小朋友们就打算去抢这些气球。每个气球在墙上都有一定的高度,只有当小朋友跳起来时,手能够到的高度大于等于气球的高度,小朋友才能摘到这个气球。为了公平起见,老师让跳的低的小朋友先摘,跳的高的小朋友后摘小朋友都很贪心,每个小朋友在摘气球的时候都会把自己能摘的气球都摘掉。  很巧的是,小朋友们跳起来手能够着的**高度都不一样...

2018-06-11 14:17:01 1586

原创 markdown编辑器使用方法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-06-11 14:01:01 204

原创 并查集基础

并查集 是一种树型的数据结构,用于处理一些不相加集合的合并和查询问题。在使用中常常以森林来表示。 并查集也是用来维护集合的,和前面学习的set不同之处在于,并查集能很方便地同时维护很多集合。如果用set来维护会非常的麻烦。并查集的核心思想是记录每个结点的父亲结点是哪个结点。我们来引入一下:话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一...

2018-06-09 17:21:56 16124 14

原创 计蒜客深度优先搜索基础题目:走迷宫

dfs 和递归的区别是,dfs 是一种算法,注重的是思想,而递归是编程语言的一种写法。我们通过递归的写法来实现 dfs 。下面我们通过一个实际问题来理解 dfs 到底干了什么。相信大家都玩过走迷宫。用二维数组来表示一个迷宫:S##.....###T其中'S'表示起点,'T'表示终点,'#'表示墙壁,'.'表示平地。你需要从'S'出发走到'T',每次只能上下左右走动,并且不能走出地图,也不能走进...

2018-06-08 12:32:38 753

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除