
算法
文章平均质量分 55
丁低调
这个作者很懒,什么都没留下…
展开
-
详解广度搜索算法
关于广度优先搜索http://blog.youkuaiyun.com/raphealguo/article/details/7523411转载 2017-05-08 21:57:01 · 268 阅读 · 0 评论 -
操作系统之存储管理
操作系统内存可变分区管理算法首先适配按照顺序来选择表中的空闲分区优点:速度快 O(1)的复杂度缺点:没考虑其他因素 容易造成内存碎片和浪费最佳适配按照最接近需求大小来选择分区优点:缺点:最差适配按照最远离需求大小来选择分区优点:分配后剩余空闲大,分配均匀缺点:...原创 2018-12-30 17:49:06 · 206 阅读 · 0 评论 -
为什么要引入FOLLOW集的概念?
#为什么要引入FOLLOW集的概念?考虑文法G[S]:S→aAS→aAS→dS→dA→bASA→bASA→εA→ε求得各终结符和符号串的FIRST集合如下:FIRST(S)={a,d}FIRST(S)={a,d}FIRST(A)={b,ε}FIRST(A)={b,ε}FIRST(aA)={a}FIRST(aA)={a}FIRST(d)={d}FIRST(d)={d}FIRST...转载 2018-11-21 10:41:36 · 4464 阅读 · 1 评论 -
正则表达式整理
常用的元字符? 功能:表示匹配前面的表达式一次或0次 举例:\(?0\d{2}[) -]?\d{8}这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出...原创 2018-07-31 10:31:13 · 164 阅读 · 0 评论 -
邻接表的数组实现
邻接表的数组实现主要思想首先 u[i] v[i] w[i]用来存储边 而且边的标号为i 输入结束后每一条边都已经编好了号然后 利用两个数组first和next first[u[i]]存储的是顶点为u[i]的第一条边在数组中的编号(即i) next[i]存储的是编号为i的边的下一条边的编号 所以 遍历以点u[i]为顶点的所有时 first[u[i]] 为其第一条边在数...原创 2018-03-09 12:40:55 · 513 阅读 · 0 评论 -
计算一个十进制数的二进制表示有多少位1
计算一个十进制数的二进制表示有多少位1一、看个例子5的二进制为101含有2个115的二进制为1111含有4个1二、实现原理通过位运算中的&运算将数字二进制中的1变成0,即每进行一次操作二进制表示中的1就减少一位,当所有的1都变为0的时候,数字就变成了0。怎样用&将二进制某一位上面的1变为0因为当与运算&左右两边值都为1时,结果为1当与运算&左右两边有原创 2018-01-22 17:30:26 · 6353 阅读 · 1 评论 -
素数筛法
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include <map>#include <string>#include<iostream>#include<vector>#i原创 2017-09-20 22:32:34 · 184 阅读 · 0 评论 -
Balanced Lineup
Balanced LineupTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 55949 Accepted: 26220Case Time Limit: 2000MSDescriptionFor the daily milking, Farmer John's N cows (1 ≤ N ≤ 50,000) alw原创 2017-08-18 10:31:56 · 204 阅读 · 0 评论 -
中位数及带权中位数
信息学竞赛总是时不时与数学产生微妙的关系,中位数及带权中位数问题有时常常成为解题的关键,今日有时间,所以梳理一下。先从一到简单的题看起:士兵站队问题在一个划分成网格的操场上,n个士兵散乱地站在网格点上。网格点由整数坐标(x,y)表示。士兵们可以沿网格边上、下、左、右移动一步,但在同一时刻任一网格点上只能有一名士兵。按照军官的命令,士兵们要整齐地列成一个水平队列,即排转载 2017-08-15 20:47:25 · 1326 阅读 · 0 评论 -
sg函数模板
//f[]:可以取走的石子个数//sg[]:0~n的SG函数值//hash[]:mex{}int f[N];//可以取走的石子个数int sg[N];//0~n的SG函数值int Hash[N];void getSG(int n){ memset(sg,0,sizeof(sg)); for(int i = 1; i memse转载 2017-08-17 11:44:15 · 228 阅读 · 0 评论 -
Dividing 多重背包问题
Dividing Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 13 Accepted Submission(s) : 5Font: Times New Roman | Verdana | Georgia Font Siz原创 2017-08-16 19:45:22 · 263 阅读 · 0 评论 -
递推问题之“佐罗”的烦恼
“佐罗”的烦恼说起佐罗,大家首先想到的除了他脸上的面具,恐怕还有他每次刻下的“Z”字。我们知道,一个“Z”可以把平面分为2部分,两个“Z”可以把平面分为12部分,那么,现在的问题是:如果平面上有n个“Z”,平面最多可以分割为几部分呢?说明1:“Z”的两端应看成射线说明2:“Z”的两条射线规定为平行的 典型的递推题 设f(n)表示n个z字型折线至多平面划分数原创 2017-07-09 19:28:42 · 401 阅读 · 0 评论 -
[LeetCode] Maximum Product Subarray 求最大子数组乘积
题目描述:输入n个元素组成的序列S,你需要找出一个乘积最大的连续子序列。样例输入:32 4 -352 5 -1 2 -1样例输出:8201.最简单的思路:暴力枚举枚举每个子序列的乘积,比较它们的乘积代码:#include#define max(x,y) (x>y?x:y)int main(){ int n, i, a[20];原创 2017-07-14 15:47:14 · 609 阅读 · 0 评论 -
C语言来实现字符串反转 只有单词顺序反转,单词里的字母不反转
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。标点符号和普通字母一样处理。例如输入“student. a am I”,则输出“I am a student.”。思路:先将字符串整体翻转一遍,此时单词之间的顺序是翻转了,可是单词内部的顺序也翻转了,所以在一个个单词处理,将单词重新翻转过来。1.student. a am I-原创 2017-06-25 21:06:06 · 9577 阅读 · 1 评论 -
史上最通俗易懂的并查集算法详解
本人是小白,在解题的时候发现并查集非常有用,在网上查找有关资料,发现其中一篇非常好,故作分享链接http:点击打开链接转载 2017-05-11 11:20:27 · 1028 阅读 · 0 评论 -
leetcode-字节跳动编程题- 无重复字符的最长子串
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wk...原创 2019-09-18 15:28:52 · 448 阅读 · 0 评论