自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 星星之火OIer:码代码前的前置

#include<cmath>#include<ctime>#include<queue>#include<stack>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostr...

2019-06-20 13:42:39 572

转载 星星之火OIer:C++大纲

学习C++的必看!!!https://blog.csdn.net/qq_42623428/article/details/82987274

2019-03-11 13:48:32 335

原创 星星之火OIer:C++语言总结

这里对C++语言的一些小问题,小细节,小技巧总结一下一、代码方面memset没有加cstring 变量名区分不大,用混 读入多组数据时,该清零没有清零 贪心的排序方式找错 dp的状态转移方程弄错 超空间限制 数组下标出现负数 数组开小了 在矩形中,把长和宽弄混了 里外两层循环用的一样的变量 重复定义变量 用read时没有注意要用负数二、考试方面先读题,把每道题...

2018-12-25 13:00:41 299

原创 星星之火OIer:快读&&快输

快读快输的含义在这里给大家介绍一下快读快输,自己也存个档。。。。。。inline void read(int &x) {//开实参,要使读入的值在里面发生变化 x=0; //如果对实参不了解的可以改为int类型的,最后return也可以 int f=1;//这个是用来判断正负的标志 char s=getchar();//读...

2018-12-05 13:13:15 832

原创 星星之火OIer:虫食算

题目链接退役题解同时致敬我的第一篇题解这是一道搜索题依次枚举每一个字母的值然后要从低位开始搜提前算进位更多解释看代码#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;bool fla...

2019-09-06 14:09:04 149

原创 星星之火OIer:Tuna&Pareto&Unija

Tuna题目描述的很清楚模拟即可代码::#include<cstdio>#include<iostream>using namespace std;inline void read(int &x) { x=0; int f=1; char s=getchar(); while(s<48||s>5...

2019-07-24 16:05:46 182

原创 星星之火OIer:康拓&逆康拓展开

仅仅只是为了自己的另一篇博客水了一份概念康托展开是指一个全排列到一个自然数的双射,因为全排列是不重复的,所以也有逆康拓展开在八数码问题中,如果想法简单一点,直接用数组987654321来开,就算是bool类型也会爆但是用康托展开映射后,最大只需要开到,空间复杂度降低了不少如何实现康拓令x为康托展开后的对应值这里的A[i]表示在i后面还有几个比它本身小的值...

2019-06-11 13:26:08 141

原创 星星之火OIer:双向BFS(一)——八数码问题

双向的前置知识请看这里辣题目传送门注意::LGOJ上的题和此处题目描述不太一样每一行有9个数,空格间隔,组成的矩形,两行数,求从第一个矩阵到第二个矩阵至少要移多少步,如果不能移动成目标样子,输出基本思路虽然仿佛可以用迭代加深做但既然初始状态和目标状态都知道了联系上一讲中的双向广搜果断开始但是要处理一下让每一个状态都有唯一对应的hash所以补充知识...

2019-05-29 13:56:38 243 3

原创 星星之火OIer:高级搜索之——双向BFS

双向广搜,顾名思义就从两个地方开始广搜当然,这两个地方一定一个是起点状态,一个是终点状态目录算法引入算法思路伪代码经典板子反例正确的板子算法分析例题算法引入还是先来看一张图左边这张图可以大概成单方面的,而右边是双向我们可以看出,蓝色的面积比黄色的小很多所以这就是双向的好的地方更省时,也更省空间但是正如前言所说,双向也是有...

2019-05-29 13:15:49 232

原创 星星之火OIer:迭代加深(三)——骑士精神

迭代加深的前置知识请看这里辣目录题目传送门基本思路代码实现后话题目传送门题目大意::一个的棋盘里有个黑马和个白马,还有一个空格,要求最少步数移动成这个样子::如果步内不能得到目标图形则输出基本思路其实这道题不止可以用迭代加深做,也可以用双向都可以做但既然我们现在在讲,我们还是用迭代加深来做吧定义的深度用来表示到目前为止最大移动步数然后还是要剪...

2019-05-28 13:16:31 247

原创 星星之火OIer:迭代加深(二)——加法链

迭代加深的前置知识请看这里辣目录题目传送门基本思路代码实现题目传送门题目大意::有一个数列,第一项为零,以后每一项都为前面任意两项的和,这两项可以相同,求达到一个数的最短序列长度,相同长度的,任意输出一个都行基本思路这道题跟埃及分数其实挺像的既然是迭代加深,我们还是定义一下深度就是目标长度嘛然后一波爆搜就出来了代码实现#include&lt...

2019-05-28 12:50:17 335

原创 星星之火OIer:迭代加深——埃及分数

迭代加深前置知识请看这里辣题目描述题目分析这道题有两个限定条件,一个是要求分数的个数最小,还有一个是最小的分数最大直接是肯定不行的,你只能满足其中一个条件于是我们就想到了迭代加深其中迭代加深限定的深度是用多少个分数然后一波判断+比较就出来了补充知识斐波那契提出一种用贪心求解埃及分数的方法先使互质,即将原分数化成最简,且 令,可得 将记作 ……① ...

2019-05-27 14:18:27 189

原创 星星之火OIer:高级搜索之——迭代加深

迭代加深是一种神奇的搜索算法TA相当于一边广搜,一边深搜目录算法引入算法思路伪代码算法分析时间复杂度空间复杂度例题算法引入先来看一张图::假设我们现在的目标地点是,而如果我们用深搜则可能搜到,用广搜则可能搜到这个时候我们就可以看出迭代加深的适用范围::求最优解+最优解深度最小算法思路首先设定一个来存当前搜索的深度然后就以为最大...

2019-04-26 14:00:38 257

原创 星星之火OIer:快速幂、快速积

话说最近在学Miller_Rabin算法,顺便来提一下快速幂和快速积快速幂和快速积利用了二分的思想快速幂::快速幂用字母表示为:,根据幂的运算,可以把转换为所以这就是快速幂的由来递归::简要思路我们用来记录答案(预处理)每次把指数,先把平方,然后如果是奇数,再把代码int ksm(int a,int b,int n) {//a为底数,b为指数,为模数 ...

2019-04-24 14:11:15 184

原创 星星之火OIer:素数判断——Miller_Rabin

在这一讲中,我们来看一下如何判断一个素数常用的有种目录——普通判断——Miller Rabin素数测试法算法前置::算法流程::代码::——普通判断从到依次判断是否等于代码如下::for(int i=2;i<=int(sqrt(n));i++) if(n%i==0) { puts("Unprime");//将就看到起,我也...

2019-04-23 13:55:32 219

原创 星星之火OIer:素数筛法

这一讲中我们来谈一谈素数的筛法一共有种常用的筛法目录——线性筛——埃拉托斯特尼筛法——欧拉筛法——线性筛只要用循环一下,然后用的时间复杂度判断一下就好了最简单,但时间复杂度最高代码如下::for(int i=l;i<=r;i++) for(int j=2;j<=int(sqrt(i));j++) if(i%j==0) {...

2019-04-22 13:37:36 128

原创 星星之火OIer:2019.4.11考试总结(一)——小凯的疑惑

这是2019.4.11考试中的第一题同样是NOIP2017提高组day1的第一题还是先给一下题::这是LGOJ上的题这道题据说是用的塞瓦维斯特定理,但百度上都搜不到就有点神奇了代码其实很简单::#include<cstdio>int a,b;int main() { read(a),read(b); pr(a*b-a-b);}这里...

2019-04-20 17:23:07 236

原创 星星之火OIer:2019.4.6考试题解(一)——计数

题目描述::这道题的解法很多,暴力首先,你可以暴力快速幂,就是一个高精乘和一个高精除以低精但是这样的时间复杂度实在高代码实现难度也大这里就不提供代码分解质因数以内的质数只有个所以你可以分解质因数然后看当前数的质因数是不是比的大给一份代码::#include<cstdio>#include<iostream>#i...

2019-04-11 13:38:25 327

原创 星星之火OIer:斐波那契数列——番外篇(二)

在作者的上一篇博客中,我们提到了矩阵加速的另一道题这次,我们来看一道LGOJ上的板题:P1939一句话题意::,求这道题是一道非常简单的矩阵加速题,可以用来练练手我们可以很轻松的想到原数组:也就是那么我们要构造一个的加速矩阵首先,直接可以变成所以加速矩阵的第一列就是然后,也可以直接由原数组得到所以加速矩阵的第二列就是最后,变到需要他本身再加上所以最后...

2019-04-10 13:04:09 165

原创 星星之火OIer:矩阵加速例题(一)——TR的数列

在之前的讲解中我们已经初步了解了矩阵加速在这一讲中,我们就来更深入地了解一下矩阵加速斐波那契数列——番外番外篇——TR的数列题目描述:这道题首先确定原数组::然后我们定义那么我们看怎么用和推出::又因为::所以::自此,我们就可以定出原数组::即然后就可以推出这道题的加速数组::到需要再加即原数组的第三项所...

2019-04-09 13:38:18 268

原创 星星之火OIer:矩阵入门——矩阵及其应用

今天呢,我们来聊聊矩阵矩阵简介矩阵,大概就是这个样子的::这个矩阵有行列,他就是一个的矩阵,简称其中的每一个元素,都叫做元元素全是实数的矩阵称作实矩阵有复(虚)数的称为复矩阵行数都等于的称为阶(矩/方)阵矩阵中所有行=列的元素所在的线段为这个矩阵的主对角线所有行+列=的元素所在的线段为这个矩阵的辅对角线就是这两条对角线一个从开始,一个从开始每次往右下...

2019-04-08 14:05:09 406

原创 星星之火OIer:斐波那契数列——番外篇

在之前的两讲中,我们已经提到了斐波那契数列的算法在这一讲中,我们讲一讲关于斐波那契数列的另一道题::求斐波那契前项的和的值这道题,很难想到一个矩阵可以自乘得到所以还是写成两个矩阵吧我们设定::然后我们看怎样把变成首先,变成需要加一个即没有问题吧所以矩阵的第一列就是:第一个对应的是一个第二个对应的是一个第三个指的是没有再来看第二个​...

2019-04-08 12:52:13 273

原创 星星之火OIer:斐波那契数列(二)——O(logn)算法(矩阵加速)

在上一讲中,我们已经了解了关于斐波那契数列的算法但是我们在上一讲留了一个问题当n几近于_时又该怎么处理呢那就要引入我们今天讲的::矩阵加速这个神奇的玩意可以将时间复杂度降至是不是很神奇!?下面开始我们的正题首先,让我们来了解了解矩阵::这个A就是一个的矩阵说直白点的矩阵就指的是一个长方形的东西里面有行列的,有这么多个数然后呢,矩阵有一些基本的...

2019-04-06 14:15:44 597 1

原创 星星之火OIer:斐波那契数列(一)——O(n)算法

不要看我就是来水博客的引很久很久以前(1202年)列昂纳多·斐波那契提出了这样一个问题::有个农场主有一对刚出生小兔子小兔子隔两个月后便会长大而且会有生殖能力每对成年兔子每个月可以生下1对小兔子问n个月后这个农场主有多少对兔子(成年+幼年)可能题目描述有点问题但是还是可以看出是斐波那契数列对吧当然有一点基础的程序猿肯定会写一段递归代码::#i...

2019-04-06 14:15:41 768

原创 星星之火OIer:无关的元素

题目传送门(LGOJ)&&ZOJ&&UVAlife&&POJ&&UVA&&百练为什么我们网站的数据这么水又有1周没有出题解了,补一补这道题,我们粗略的推一下,发现这里面的每一项合并之后是杨辉三角形里的第行的每一个数,如图所示::样例中的5,对应的是杨辉三角形的第五排,第五排中模3余0的只有第三个...

2019-03-27 13:36:35 135

原创 星星之火OIer:机智的手机商

机智的手机商(容斥基础题)第一眼看过去,这哪里是容斥原理的题嘛,明明就是考空间力的题嘛乍一看还是可难的毕竟就算告诉你具体数值去硬算都要想很久并且还需要极强的空间力(硬算解出来的都可以去参加最强大脑)所以呢我们要巧解那么问题来了???怎么巧解我们首先以二维空间的题为例比如我们先给一张图::PS::背后不一定是正方形,将就看着然后呢,有一束光::...

2019-03-19 14:11:32 151

原创 星星之火OIer:盒子与球问题

既然社内讲到了排列组合,那还是出一篇盒子与球的博客吧。。。只想看结果而不需要推理过程的请跳到文末。。。PS:本文中的所有题目球的个数为n,盒的个数为m,且n必定大于m,也就是说球一定比盒子多!!!第一问::球不同,盒不同,可以不放完,可以有空盒答案::推理过程::因为盒子不同,且可以有空盒所以我们把手看做一个盒子这样每个球都可以有m+1种放法所以答案即为...

2019-03-18 14:00:25 440

原创 星星之火OIer:手机网络

题目传送门其实这道题跟我的上一篇的三道题都挺像的尤其是树的最大独立集但这道题还是有本质上的差别那三道题都是要尽量多而这道题要尽量少所以区别还是很大的而且这道题的dp的定义以及状态转移方程都与那三题大不一样首先,我们定义三种不同状态的 dp ::dp [ i ] [ 0] ::i 节点的子树和 i 节点被全覆盖,i 节点上有塔 dp [ i] [ 1] :...

2019-03-14 17:11:47 139

原创 星星之火OIer:树的最大独立集&没有上司的舞会&聚会的快乐

树的最大独立集&没有上司的舞会&聚会的快乐树的最大独立集题目::这三道题其实是差不多的,只不过没有上司的舞会多了一个快乐指数,而聚会的快乐多了一个名字,所以这三道题我放到一起来讲。这三道题都是基础的树形dp题,从题目中我们可以得知,如果一个节点被选了,那么TA的儿子节点就都不能选。由此我们可以设 dp [ i ] [ 0 ] 为不选这个节点的最大取值。相应的...

2019-03-06 13:29:11 191

原创 星星之火OIer:多叉树转二叉树

好久没出博客了。。。多叉树转二叉树题目描述::截图可方便了方法:举个栗子,如图::好和谐啊这是一棵多叉树如何转化为二叉树??连接每一组兄弟,如图:把右儿子断掉,如图:然后再整理一下,就变成了:最后我们对比一下前后的变化:然后就是处理森林。还是来图例比如就是上面的那棵树:(copy真好用)我们只需要把每一棵树的祖...

2019-03-05 14:12:51 410

原创 星星之火OIer:寒假学习总结

emmm。。。经过12天的培训,感觉整个人都已懵逼。。。前言这次寒假的培训,讲了许多的知识,虽然不能一次性全部消化完,后续还要继续补充学习,但我还是收获了许多。前六天主要讲了最短路,生成树,LCA和树形DP,而后六天讲的就是数论。可能因为最短路这些前面有些提及,大部分还是听得懂,但到数论就真的只能说是一脸懵逼了(相信有很多人跟我是同样的感觉)。知识点最短路:多源点:...

2019-02-26 14:13:37 221

原创 星星之火OIer:浅谈线段树

这里带大家简单了解一下C++中的线段树一、何为线段树线段树,顾名思义,就是一棵树上的每一个节点都表示的一段线段,例如:或者这就是两棵典型的线段树二、为什么要用线段树线段树上的每一条线段,都可以增加其他的东西(如权值等),可以动态地维护某些我们需要的信息,这使线段树拥有极大的灵活性,可以适应不同的需求三、例题一、这道题,首先肯定可以用模拟来打代码,比如...

2019-02-14 17:02:31 179

原创 星星之火OIer:对拍

此处来淡谈对拍对拍,我的理解就是用一个暴搜程序和一个随机生成数据的程序来和也许是正解的程序来对比一下,帮忙查错然后呢,比较朴素的算法就是打一个随机函数然后copy以下是随机生成数据代码:#include<bits/stdc++.h>using namespace std;//万能头文件,NOIP里不能使用,可以换成以下三个头文件(cstdio,cstdlib,cti...

2019-01-10 14:00:08 164

原创 星星之火OIer:2019.1.5考试总结

2019.1.5考试总结这次的考试,总的来说考的不是很好先上题目:整数划分 地震造成的破坏 最长上升子序列第三题洛谷上没有,大概意思就是找一个包含第k个元素的最长上升子序列分析:第一道题知道怎么做,但懒得打高精,然后愉快暴零第二题打了个伪正解,然后骗了个样例,10分第三题本来打出正解的,但是在函数里的返回值错了,样例又很水,又是10分然后总分就是20:-(...

2019-01-09 13:49:45 265 2

原创 星星之火OIer:证明:3^n≥n^3

帮助我的题解来证明一波3^n≥n^3首先枚举一下1^3=,3^1=32^3=8,3^2=93^3=27,3^3=274^3=64,3^4=815^3=125,3^5=243然后,我们设3^n>n^3 (n>3)那么来证3^(n+1)≥(n+1)^3两边整理一下,得3^n*3 (n+1)(n+1)(n+1)3^n+3^n+...

2019-01-09 13:24:06 1004

原创 星星之火OIer:2018.12.15考试总结

emmm。。。我怕是最后一个出这个的了但还是要出一次题目描述第一题第二题第三题:路径规划有点懒,直接给截图:第四题:奶牛飞盘同上题解第一题:题解传送门第二题:奶牛慢跑这道题当时在考场上完全没有思路,然后看了一下某大佬的博客以后才知道其实就是一个最长不上升子序列我们把每头奶牛的终点算出来,然后与其起点比较一下,如果A的起点在B的起点前面...

2019-01-05 14:28:04 236 1

原创 星星之火OIer:Post Office题解

Post Office(一道老经典的题了)题目大意:在一条笔直的公路上有n个村庄,每个村庄都有自己的坐标,现在要在这条公路上建m个邮局,让所有村庄到最近的邮局的距离最短已知:1≤n≤300,1≤m≤30首先,这是1995年的题,放到现在来,暴搜都可以过(但我好像不知道怎么打暴搜)其次,可以用记忆化搜索,基本是正解(好像有点思路)正解当然是dp了(我竟然制作出了这个)所以...

2018-12-30 15:48:07 434

原创 星星之火OIer:测量温度题解

测量温度题目出处(3769)翻译是我给的(骄傲)感谢hc大佬提供的帮助(没人发现名字上有两个链接吗)测量温度这道题,开始我想多了,然后就做成了一个nlogn的最长不下降子序列经过讲解才知道是单调队列我们发现,如果要使这个连续的天数最多,那么当天的最低温度就要尽可能的低那么我们用一个类似于单调栈(里面的第二三题)的方法来解下面是代码::#include<c...

2018-12-30 11:26:47 412

原创 星星之火OIer:篱笆题解

篱笆题目出处(3075)这道题是我们编程社考试中第三次的第二题,当时都有一些思路,但是时间紧,没打出来读了题之后,第一思路是暴力,然后是最小生成树,最后是才想到贪心首先,暴搜肯定会超时然后,用最小生成树在小数据时加点优化可以勉强卡过但是贪心才是正解先来讲一讲最小生成树做法在m和n都小于2000时可以卡过大致思路:以所有篱笆的交点作为节点,以篱笆的长度作为边权...

2018-12-28 13:46:32 342

原创 星星之火OIer:拥挤的奶牛题解

拥挤的奶牛题目出处(2706)编程社第四次考试的第二题。。。。。。当时只得了90分,可惜在一点小错上丢了分。。。。。。先把这道题分析一波首先根据题意,只要在当前奶牛左右两边d的距离都有在它身高的两倍以上的奶牛,它就会觉得拥挤那我们只需要找它左右两边在d的距离以内最高的那头奶牛就行了但是,题目给的数据太大,暴搜显然会超时此处,我们引进一个全新的东西::单调队列&amp...

2018-12-27 13:49:42 309

空空如也

空空如也

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

TA关注的人

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