自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Xiangqi, ACM/ICPC Fuzhou 2011, UVa1589

Xiangqi, ACM/ICPC Fuzhou 2011, UVa1589第一篇博文,来记录一下自己刷算法紫书的进程DescriptionXiangqi is one of the most popular two-player board games in China. The game represents a battle between two armies with the go...

2018-09-19 20:07:23 257

原创 线程同步之买牛奶问题

线程同步之买牛奶问题有一台冰箱,两个人,我们需要对这两个人买牛奶的行为作出一些约束,使得满足以下条件不会有超过一个人买了牛奶如果冰箱里没有牛奶,一定会有某个人去买方案一一个很直白的方法是一个人只要去买牛奶了,就在冰箱上贴一个便条,买完了以后再把便条撤销if (milk == 0) { if (note == 0) { note = 1; ++milk; note = 0; }}但是这种做法是错误的,反例如下方案二使用两个标签满足条件一,但是不满足条件二,可能会

2020-10-13 15:34:40 272

原创 整数拆分的两种解法

剑指 Offer 14- I. 剪绳子题意给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。解法解法一我们知道如果一个数如果要分成nnn份,在平均分的时候乘积是最大的(高中不等式知识)所以我们这里可以遍历分成的份数,

2020-07-31 11:12:45 861

转载 数学方法解决约瑟夫环的图解

约瑟夫环

2020-03-30 18:49:58 301

原创 LeetCode440. 字典序的第K小数字

题目描述解题思路有一说一,这题用树的方式很容易理解,想象有如下一棵树我们要求第k小的树,也就是求这样一个节点:以从上到下从左到右遍历这棵树它是第k个。因为如上所示的这棵树它从上到下从左到右遍历也就是字典序。所以我们可以按如下的步骤进行从最顶上的节点出发,从左往右计算以每个子节点为前缀的数字个数numnumnum如果numnumnum比k大,那么说明深度太浅了,我们将numnumnu...

2019-09-23 22:45:20 498

原创 10. 正则表达式匹配

题目描述给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。...匹配任意单个字符∗*∗ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。解题思路这题和LCS的思想有点像,我们...

2019-07-03 14:36:09 157

原创 4. 寻找两个有序数组的中位数

题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。解题思路这题是一道很好的分治思想的题目,因为这两个数组是有序的,然后题目的要求是对数复杂度,我们很容易想到分治/二分的做法。求这个总数组的中位数,可以分别求出两个有序数组的中位...

2019-07-02 15:17:17 128

原创 3. 无重复字符的最长子串

解题思路使用滑动窗口法,用以维护一个没有重复字母的队列。使用一个散列表记录每个字母的位置,如果在向后遍历的时候遇到了之前出现过的字母,则跳转到散列表中记录的位置的后一位。每次遇到了之前出现过的字母时都更新一遍最长长度,否则,则把字母位置记录到散列表中。代码如下:class Solution { HashMap<Character, Integer> exists = new...

2019-07-02 09:54:43 103

原创 java初始化的过程

初始化加载.class文件:根据包语法决定的路径找到.class文件并加载为static属性分配储存空间并全部设置默认值装载父类:如果这个类有父类,且父类还没有被装在过,则先装载它父类进行类初始化:按照类定义中的顺序,从上到下初始化static属性和执行static块中的语句如果用复制运算符显式赋值,就执行赋值操作如果等号右边的值所属的类尚未被装载,则先装载等号右边的类再赋值(类...

2019-04-05 16:53:42 143

原创 北航2017级算法第一次上机---SkyLee的艾露猫

题目链接SkyLee的艾露猫解题思路斐波那契数列的变形通过递推得知,在3-12年的时候艾露猫正在成年期,每年都会生小猫,一对成年猫生一对小猫,即cat[i]=cat[i−1]+cat[i−2]cat[i] = cat[i-1]+cat[i-2]cat[i]=cat[i−1]+cat[i−2],当年喵喵的数量是上一年喵喵的数量加上2年前的猫的数量(即为新出生的猫,两年前的猫刚刚成年生小猫);...

2019-02-18 17:48:24 461 1

原创 北航2017级算法第一次上机---比特手链

题目链接比特手链解题思路一个类似于脑筋急转弯的题目,考查模拟,贪心等知识点。通过模拟题中给出的三个操作我们可以得到一下几个结论如果a[i]=a[j]a[i]=a[j]a[i]=a[j]那么三个操作都无效,维持原状&amp;amp;操作相当于把1变为0|操作相当于把0变为1^操作i相当于交换由以上结论我们不难得出,优先使用^一次性解决两个不同的数,之后再解决剩下落单的数。如果原串全是1或...

2019-02-18 16:49:59 283

原创 北航2017级算法第一次上机---芸如的入学测试

题目链接芸如的入学测试解题思路假期闲来无事,复习下算法,这些题2018级的学弟学妹们搞不好上机的时候也会被坑到。这个题的思想是前缀和思想,这个思想大家可以自行百度,这里主要说一下取模的问题。对于取模一定是对每一个可能溢出的操作都取一次模,注意不要漏了对于减法的取模比较特殊,一定要加一个模数以后再取模,就像这个题参考代码#define _CRT_SECURE_NO_WARNING...

2019-02-17 15:04:42 421

原创 BUAASOFT1721算法上机期末部分题解

电池的寿命题目大意解题思路这个题我们可以采用分类讨论的策略如果一组电池中电量最大的那个的电量比其他所有电池的电量加起来都多,那么显然我们可以一直使用这个电量最大的电池然后不停的更换其他电量小的电池。最后我们得到的最长使用时间显然是其他小电量电池电量之和。如果不是上述情况呢,就像题目中第二个样例,可以发现电池最后其实是全用完了的。我们猜测这种情况下所有电池电量可以全部用完...

2019-01-16 00:03:55 344

转载 2017级算法第三次练习赛之AlvinZH过生日

题目描述AlvinZH快要过生日啦!(其实还早着呢)AlvinZH最喜欢吃小蛋糕了,他买了很多小蛋糕,准备和发小分着一起吃,由于有很多小蛋糕,不需要把蛋糕切开,每一个蛋糕都会被一个人吃掉。他们准备按从左往右顺序吃完这些蛋糕,规则如下:AlvinZH首先拥有选择权。选择权:①吃下当前蛋糕,然后把选择权给对方;②把当前蛋糕给对方吃,自己保留选择权。AlvinZH和发小都想吃到最多的蛋糕...

2019-01-04 10:43:40 198

原创 2017级第二次上机之W型串

题目描述W型串一个由括号构成的字符串称为W型串(W-string),当且仅当该串可以表示为(A)或(A)(B)的形式,其中A,B是空串或W型串.例如()、((()))、(())()等是W型串,而()()()、(()(())())等不是W型串. 给出n个由括号构成的非空字符串,判断每个串是否为W型串.输入第一行为一个正整数n,表示需判断的字符串个数. 接下来n行,每行一个仅由左右括号(A...

2019-01-04 10:01:38 641

原创 Leetcode 765 情侣牵手

题目描述N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手。 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起。 一次交换可选择任意两人,让他们站起来交换座位。人和座位用 0 到 2N-1 的整数表示,情侣们按顺序编号,第一对是 (0, 1),第二对是 (2, 3),以此类推,最后一对是 (2N-2, 2N-1)。这些情侣的初始座位 row[i] 是由最初始坐在第 i 个座位上...

2019-01-03 21:41:32 586

原创 Leetcode 873 最长的斐波那契子序列的长度

题目描述如果序列 X_1, X_2, …, X_n 满足下列条件,就说它是 斐波那契式 的:$n&amp;gt;2对于所有 i + 2 &amp;lt;= n,都有 X_i + X_{i+1} = X_{i+2}给定一个严格递增的正整数数组形成序列,找到 A 中最长的斐波那契式的子序列的长度。如果一个不存在,返回 0 。(回想一下,子序列是从原序列 A 中派生出来的,它从 A 中删掉任意数量的元素...

2019-01-03 20:02:56 435 1

原创 Leetcode 673 最长递增子序列的个数

Leetcode 673. 最长递增子序列的个数前言要开始认真写题解了,不然做一道忘一道题目描述给定一个未排序的整数数组,找到最长递增子序列的个数。示例1输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例2输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是...

2019-01-03 17:00:07 1012

原创 期末上机之多重背包模板题

题目描述给出n部番剧,每部番剧的集数和长度都不同,观众看每部番剧所得到的愉悦度也不同,现在观众可以看T分钟番剧,问观众可以获得的最大愉悦度是多少(若所给的集数为2333,则认为集数无限)解题思路很明显这是一个多重背包问题,和第四次上机SkyLee的补番计划基本一致,但是不同的地方在于,这个题目当集数给2333的时候认为集数是无限的,如果直接套上次的模板很可能就WA了,当集数为2333的...

2018-12-30 19:39:32 180

原创 期末上机之维护偏序关系系列问题

-题意给定一个长度为n的序列,让你求满足:i&amp;amp;amp;lt;ji&amp;amp;amp;lt;ji&amp;amp;lt;ja[i]∗2+1≤a[j]a[i]*2+1 \leq a[j]a[i]∗2+1≤a[j]的(i,j)(i,j)(i,j)的个数-做法题目所给的条件显然是一个维护一维偏序关系的题目,类似于逆序数对的求法,我们可以用类似于归并排序的做法来维护它。归并排序的过程中,可以考虑一个数组左半部分对右半部分...

2018-12-27 15:25:12 266

原创 2017级算法第一次上机之序列优美差值

2017级算法第一次上机之序列优美差值题目描述给定一个序列a,询问满足i&amp;lt;j且 L≤a[j]−a[i]≤R的点对(i,j)数量输入第一个数为数据组数T,每组数据两行。第一行为整数n, L, R,表示序列长度,L,R;接下来一行为空格分隔的n个整数。输出对于每组数据,输出一行,点对的数量题目链接https://buaacoding.cn/problem/1414/index...

2018-10-01 18:45:38 778 1

原创 2017算法第一次上机之SkyLee在GameStop

2018级算法第一次上机之SkyLee在GameStop题目描述SkyLee有一天逛街的时候看到一家新开业的GameStop,里面卖各种各样的游戏。商店里所有的游戏都按游戏名的字典序从小到大排列好了,小的在里面,大的在外面。SkyLee想要把所有的游戏都试玩(买不起游戏只能看看),但是有些问题:1.游戏只能从展示架的一侧拿出来2.SkyLee只能拿1个游戏试玩3.为了不被商店老板...

2018-10-01 14:19:14 459

空空如也

空空如也

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

TA关注的人

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