双端队列广搜 1. 算法分析 双端队列广搜算法只适用于边权只有0和1的情况,本质上是对dijkstra堆优化版本的再次优化。由于dijkstra堆优化版本每次要把最小值从队头拿出,然后更新其他值后插入队列。而当边权只有0和1时,当处理的边权为0,那么更新完仍然为最小值,直接放入队头;为1则插入队尾。 ...
分类:
其他好文 时间:
2020-07-27 13:40:39
阅读次数:
68
题目来源: http://codeforces.com/problemset/problem/122/A Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal ...
分类:
其他好文 时间:
2020-07-27 13:40:27
阅读次数:
64
简述 字典树又称tire树,其为哈希树的变种,哈希树存的是键值字典树存的是字符。字典树用于统计,排序和保存大量字符,常用于搜索引擎,其本质是用字符串的公共前缀来优化查询。其查询过程就像我们在查新华字典,查询时间为O(len)。 树的样子 假设我们要存以下字符串:"to","tea","ted","t ...
分类:
其他好文 时间:
2020-07-27 13:40:10
阅读次数:
68
双向bfs和双向dfs 1. 算法分析 当进行的变换是可逆的时候,且规定步数的上限时,可以使用双向dfs或双向bfs从源点和终点一起搜索。这样可以把时间从O(n)->O(n/2) 如果dfs调栈超过1e5时,那么考虑双向bfs 写法技巧 双向dfs 第一个dfs先搜索前一半的空间,打表存储所有可达的 ...
分类:
其他好文 时间:
2020-07-27 13:39:54
阅读次数:
66
前面的代码没有什么特别的意义,了解即可.需要注意的是dummy这段代码. 前面的代码主要是为了执行想要的功能,在一加载DLL时就能执行.而dummy()函数是为了保证此DLL文件能够顺利的添加到TextView.exe文件的导入表中(然后由程序在执行时会加载此DLL文件). PE文件中的IDT(Im ...
分类:
其他好文 时间:
2020-07-27 13:39:40
阅读次数:
66
bfs最短路与最小步数模型 1. 算法分析 最短路:从A点走到B点的最小距离 最小步数:从状态A到状态B的最小变化数,本质就是最短路 2. 例题 2.1 最短路 acwing1076迷宫问题 给定N*N数组,每个元素只有0和1,求从(0, 0)走到(n - 1, n - 1)的最短路,输出其路径 # ...
分类:
其他好文 时间:
2020-07-27 13:39:28
阅读次数:
64
缓存 -- 分布式锁 -- Redis 现在Redis基本上没家公司都在使用,只是各自使用的场景不以,但Redis最出名的还是做为缓存服务器,提搞服务器的的吞吐量,下面我们来围绕这个作为缓存做一个总结 今天的目标其实是Redis的分布式锁,但索性全部理一理吧,正好最近在找工作 RedisRempla ...
分类:
其他好文 时间:
2020-07-27 13:39:11
阅读次数:
72
初次接触正则表达式的网友出了感觉它有些繁琐,还会有一种深不可测的感觉。其实正则表达式就是描述字符排列模式的一种自定义的语法规则名,在 PHP 给我们提供的系统函数中,使用这种模式对字符串进行匹配、查找、替换及分割等操作。它的应用非常之广泛。比如常见的使用正则表达式去验证用户在表单中提交的用户名密码以 ...
分类:
Web程序 时间:
2020-07-27 13:38:57
阅读次数:
133
dfs连通性模型 1. 算法分析 使用dfs来判断是否两个点连通,也可以通过dfs来做计数 2. 例题 acwing1112迷宫 T个测试样例,每个测试样例输入一个N,表示网格大小。网格为N*N的二维网格,给定起点和终点,问起点能否到达终点 #include <bits/stdc++.h> usin ...
分类:
其他好文 时间:
2020-07-27 13:38:39
阅读次数:
73
如果只谈性能,显然是 for > forEach > map,为什么 for 的性能比较好?读一下 forEach 和 map 的规范定义就知道了。map 会返回一个等长数组,forEach 不会,所以 forEach 大于 map。 具体的性能分析可以看https://juejin.im/post ...
分类:
其他好文 时间:
2020-07-27 13:38:22
阅读次数:
63
环境:CentOS 8 主服务器:10.0.0.8 从服务器:10.0.0.28 访问测试主机:10.0.0.6 一、安装DNS服务器软件 bind dnf install bind bind-utils -y ; systemctl enable --now named 二、修改主服务器 bind ...
分类:
其他好文 时间:
2020-07-27 13:38:09
阅读次数:
65
floodfill 1.算法分析 floodfill就是求出连通块的算法,一般可以采用dfs或者bfs,但是dfs容易爆栈,故而采用bfs为佳 2. 例题 acwing1097池塘计数 一块N * M的土地,其中有'W'和'.'组成,'.'为土地,'W'为水,水的八个方向可以连在一起形成池塘,问一块 ...
分类:
其他好文 时间:
2020-07-27 13:37:49
阅读次数:
56
传送门 题目:给定两个字符串A,B。我们可以改变A中任意数量相同的字符x变成字符y(必须满足y > x),我们能否把A变成B,可以的话最少几次,不可以输出‘-1’。 思路:看了所有样例后,再通过样例1可以想到一个方法。我们有一个矩阵app['a'~'t']['a'~'t']记录A与B的对应关系,例如 ...
分类:
其他好文 时间:
2020-07-27 13:37:30
阅读次数:
62
递归查询子分类 电商平台比如京东和淘宝中,商品一般分三级菜单。要想实现一个接口查询一个商品的分类及其子分类信息,需要使用到递归查询。 数据表中的记录都是单条并且没有层级的,要想描述各个记录之间的层级父子关系,一般会设计一个 parentId字段。 CREATE TABLE `t_category` ...
分类:
其他好文 时间:
2020-07-27 13:37:14
阅读次数:
100
题意: 给定一个序列ai,问序列中其他数中有多少个数是它的约数 思路: 暴力求法会超时。O(n²) 最优解:先储存每个数的个数,遍历x,每个x的倍数加上x的个数 注:最后每个数的答案要-1(减去本身) Code: #pragma GCC optimize(3) #pragma GCC optimiz ...
1.list和str类型相互转化nums=[‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘]str_nums="".join(nums)print(type(str_nums))print(str_nums)需要注意的是,该方法需要list中的元素为字符型,若是(数字),则不能使用如上的方法,会产生相应的错误:nums=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,1
分类:
编程语言 时间:
2020-07-27 10:03:10
阅读次数:
98