自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_28753451的博客

lixiao的博客

  • 博客(13)
  • 收藏
  • 关注

原创 并查集——以vijos《家族》为例

并查集可以用来查询两个点是否在同一个集合中,相比于用图dfs,效率大大提升,这里放两个截图对比一下怎么样,时间差距很大吧!其实并查集的思想就是找出要合并的点的最大公共祖先,这样我们在判断两个点是不是在同一个集合里只要判断他们的祖先是不是相同就行了。这里先讲并查集的几个操作:1:初始化:void init (){ for (int i=1;i<=n;i++) f[i]=i;}2:找祖先:i...

2018-03-28 18:38:22 207

原创 c++ 向上取整

首先我们要调用c++ 头文件,然后我们要这样用ceil ();这括号中间的数要以double 为类型

2018-03-21 18:07:30 1938

原创 记忆化搜索

记忆化搜索就是把我们曾经递归过的函数中给记录下来该函数是否递归过,然后把他的值存下来,这样我们如果递归到同样的函数时,只要返回之前递归过的值即可,这样可以少很多递归过程。这里以vijos中的P1080为代表。题目地址:https://vijos.org/p/1080然后上代码:#include <iostream>#include <cstdio>#include &l...

2018-03-11 13:20:22 171

转载 快速幂讲解

本文转载自:http://www.cnblogs.com/CXCXCXC/p/4641812.html快速幂这个东西比较好理解,但实现起来到不老好办,记了几次老是忘,今天把它系统的总结一下防止忘记。  首先,快速幂的目的就是做到快速求幂,假设我们要求a^b,按照朴素算法就是把a连乘b次,这样一来时间复杂度是O(b)也即是O(n)级别,快速幂能做到O(logn),快了好多好多。它的原理如下:  假设...

2018-03-02 19:37:47 130

原创 免费馅饼题解

这是一道神奇的题目,DP的方法让人意想不到首先我们可以画一个图其中竖着的坐标表示时间,横着的坐标表示时间然后我们可以这样存入每个时间每个位子掉的馅饼。之后你会发现题目变成了从place=5,time=0的点出发到达time=最大值是的某个点收获的价值最高的题目。然后输出最高收获即可。PS:题目要求有多次询问,记得每次询问开始初始化f数组与map数组,而且f数组第一行除了横坐标为5的那个点以外都要赋...

2018-02-22 19:25:36 688

原创 计算机最多能在一秒内运行几次运算

答:大约1000000000次------- 这大概是我写的最短的博客了--------------------------------------------------------------------------------------

2018-02-20 18:33:26 11793 3

原创 usaco1.1黑色星期五题解

两种方法:1:用基姆拉尔森计算公式(这个公式可以自行百度)#include <iostream>#include <algorithm>#include <cstdio>#include <cmath>using namespace std;//定义一波变量 int w,date[7];int fuc (int y,int m,i...

2018-02-19 18:45:25 313

原创 关于a++与++a的区别

一个容易混淆的东西,其实a++由于"++"在后面,所以是指在a++所在的语句执行完后a的值加一而++a就是指先把a加上一再处理a++所在的语句

2018-02-19 12:22:49 405

原创 [USACO1.1]坏掉的项链Broken Necklace 题解

终于AC了一道(wei)( suo)的水题题目本身不难,只是很坑。真的很坑......这里题目大意解释一下:就是有一个项链,在项链的某处咔擦,然后得到一条直线然后从两端开始取,遇到不同颜色的就停止取。当然,这个题目中还有一个神奇的地方,让整个题目不仅难了不少,也坑了不少。这个神奇的地方就是白色珠子可以当红色或蓝色的用。一个坑点:千万不要用一下代码:string a;char b[500]={"1...

2018-02-18 22:54:23 689

原创 USACO 1.1贪婪的送礼者题解

又过了一道大水题。这道题目并不是特别难,如果用了map结构就很简单了。但是有几个地方比较坑。比如说这道题目说要输出收到的钱与送出钱之差,而送出的钱要向下取整平均分这样他预先准备的钱不一定会送出。所以你懂得还有一个地方就是有可能这个人不送给别人钱,那么这种情况就要continue掉,要不然求平均数时会因分母变0而报错最后我们来讲一下map用法:首先我们要用map头文件#include <map...

2018-02-14 11:53:40 355

原创 floyd算法

史上最简单的算法:具体如何实现我就不写了,其他人的博客都有不过有一个比较坑的地方:就是要去重边。对于输入中的重边我们要取出最小值代码如下#include <iostream>#include <cstdio>#include <algorithm>using namespace std;//定义一波变量int map[105][105]; in...

2018-02-12 20:02:37 152

原创 洛谷 过河卒 p1002 题解

其实这道题如果你会递推,搞清楚问题的本质就很简单了首先我们要知道加法原理,加法原理是什么呢?举个栗子:如果我们去上海只可以坐火车,坐飞机。而火车有n班次,飞机有m班次。那么总共去上海就有(n+m)种方式。之后,我们就可以推出这个题目的递推表达式:(ps:我们用f(x)(y)的形式来表示到达点(x,y)的步数。而且设g(n)(m)=1为马的的位置,那么马可能走到的位置(包括马

2018-01-28 21:18:36 1521

原创 洛谷 p1219题解 八皇后

第一道AK的深搜题其实这道题也不是很难,想到深搜就很方便了,唯一一个难点是如何标记斜方向上不能放棋子的位置。但其实也很简单,其实如果你学过初中的一次函数就知道如何解决了。以下是思路:由于对于一个地图为n*m的矩形地图上的任意一点(x,y),斜方向可以看出一次函数。y=kx+b (k∈k+,b∈k+),所以y-x=(k-1)x+b。但我们这个地图比较特

2018-01-28 21:08:14 501

空空如也

空空如也

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

TA关注的人

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