自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer:BFS之机器人的运动范围

前言搜索与回溯算法宽度优先搜索(BFS)一、题目问题地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?二、解题代码int..

2021-09-30 15:50:25 82

原创 VS2017配置pthread_h

VS2017配置pthread_hpthread.h下载地址:ftp://sourceware.org/pub/pthreads-win32直接引用Pre_built.2里面的文件即可。首先创建项目,将Pre_built.2里面的dll,include,lib拷贝到目录下(就是自己创建项目的目录下,与项目的sln文件同级)。然后进入项目的属性->C++->常规:在附加包含目录中编辑加入刚才include的位置(建议直接使用绝对地址),平台要改为所有平台。然..

2020-10-11 18:05:14 462

原创 树链剖分-线段树-树的统计Count

 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成 一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 I II. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身 Input ...

2018-05-21 10:25:23 241

原创 Coins-dfs

链接:https://www.nowcoder.com/acm/contest/104/F来源:牛客网In the latest activity in the game, you want to find the most efficient way to collect at least Z coins. There is a battle in this game. Everytime yo...

2018-04-25 16:52:58 150

原创 划分树

划分树是一种基于线段树的数据结构。主要用于快速求出(在log(n)的时间复杂度内)序列区间的第k大或第k小值 。树的结构:int sorted[N];    // 对原来集合中的元素排序后的值。   struct tree{    int val[N];       // val 记录第 k 层当前位置的元素的值    int num[N];      // num 记录元素所在区间的当前位置之前...

2018-04-16 21:05:21 232

原创 n的约数(dfs)

题目描述 t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数 输入描述:第一行一个正整数t之后t行,每行一个正整数n输出描述:输出t行,每行一个整数,表示答案对于100%的数据,t <= 500 , 1 <= n <= 1000000000000000000思路:1:直接暴力会超出时间。2:任何一个数p=质数的乘积;3:p=x1^n1*x2^n2*x3^n...

2018-04-01 20:46:53 312

原创 DP:Making the Grade

A straight dirt road connects two fields on FJ's farm, but it changes elevation more than FJ would like. His cows do not mind climbing up or down a single slope, but they are not fond of an alternatin...

2018-03-24 11:35:49 264

原创 Producing Snow

Alice likes snow a lot! Unfortunately, this year's winter is already over, and she can't expect to have any more of it. Bob has thus bought her a gift — a large snow maker. He plans to make some amoun...

2018-03-24 10:34:24 251

原创 Primal Sport

Alice and Bob begin their day with a quick game. They first choose a starting number X0 ≥ 3 and try to reach one million by the process described below.Alice goes first and then they take alternatin

2018-03-19 22:06:36 146

原创 Tarjan算法模板

Tarjan算法是根据栈和DFS来实现。每个点有2个数据:DFN和Low结点1的DFN为1,Low也为1,然后DFS到3,3的DFN为2,Low为2,每次访问一个就DFN++,当访问的时候时是栈中结点时,就将Low变为那个栈中结点的DFN,这样可以保证Low与DFN不相同。如果访问不到栈中的结点,就会DFN和Low相等。例如5,6.出栈的条件就是不能继续向后访问并且DFN=Low。

2017-12-04 17:24:40 144

原创 迷宫城堡

为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N题解:题目判断是否为强连通即可。因此用2次DFS即可。第二次将所有边的反转过来即可。就是第一次dfs判断出一个点是否能到其他所有的点。反转过来后,能够再进行同样的dfs,会是判断其他所有的边是否能到这个点。如果都可以,就是强连通的。如果有一个点不能到达,就表示不为强连通,因为这个点通过其他点也到不了那个点。

2017-12-04 11:37:27 610

原创 平面扫描

平面扫描是用来降低算法的复杂度,通过扫描线对扫过部分不断进行更新,从而得到整体的结果题目:n个没有公共交点的圆,求所有最外层的圆。直接暴力枚举是O(n2)的复杂度。采用平面扫描是nlog(n)的复杂度扫描分2种情况,扫描到一个圆的左端时进行判断这个圆是不是最外层的。判断方法就是在已经认为的最外层圆中找出纵坐标上下2端最近的2个圆进行比较。如果是扫到圆的右端则删除这个圆(如果

2017-11-23 21:22:25 1924

原创 二分图匹配--匈牙利算法

匈牙利算法:根据每次增加一条匹配边来使得找到最大匹配。从左边第一个顶点开始判断,比如1对应5就是一条非匹配边,然后计数增加1,并且将1和5标为匹配点,然后开始看2号顶点,2对应5就是一条非匹配边,通过遍历后2-5和1-7会变成匹配边,这时计数再增加一个即可,以此下去遍历完左边所有的顶点就可以。#include#include#includeusing namespa

2017-11-12 18:17:38 201

转载 Face The Right Way

Farmer John has arranged his N (1 ≤ N ≤ 5,000) cows in a row and many of them are facing forward, like good cows. Some of them are facing backward, though, and he needs them all to face forward to mak

2017-11-11 11:19:20 149

空空如也

空空如也

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

TA关注的人

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