随笔分类 -  题解

摘要:虽说是模板题,但是竟然中间有dp的部分...先tarjan缩点,重新建图.然后记忆化搜索,搜索dag中的最小环. 题干: 代码: 阅读全文
posted @ 2018-09-07 15:50 DukeLv 阅读(274) 评论(0) 推荐(0)
摘要:这个题主要是预处理比较复杂,先枚举打每只鸟用的抛物线,然后找是否有一个抛物线经过两只鸟,然后就没了。 题干: 代码: 阅读全文
posted @ 2018-09-07 12:44 DukeLv 阅读(297) 评论(0) 推荐(0)
摘要:两遍dfs,第一遍有点像找重链,第二遍维护答案,每个点维护一个当前深度,然后就没啥了。 ps:memset(lst,-1,sizeof(lst));这一句多余的话让我debug半天。。。 题干: 代码: 阅读全文
posted @ 2018-09-05 23:05 DukeLv 阅读(186) 评论(0) 推荐(0)
摘要:其实说是概率dp,本质上和dp没什么区别,就是把所有可能转移的情况全枚举一下就行了,不过dp方程确实有点长。。。 ps:这个题的floyed我竟然之前写跪了。。。 题目: 题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。 在可以选择的课程中,有 2n2n2n 节 阅读全文
posted @ 2018-09-05 22:59 DukeLv 阅读(154) 评论(0) 推荐(0)
摘要:deque真的秀,queue和stack。。。没啥用了啊。操作差不多,就是在前面加一个front||back_就行了。 题干: 题目描述 题目描述 约翰的N只奶牛(编为1到N号)正在直线上排队.直线上开始的时候一只牛也没有.接下来发生了S(1≤S≤100000)次事件,一次事件可能是以下四种情况之一 阅读全文
posted @ 2018-09-01 14:57 DukeLv 阅读(205) 评论(0) 推荐(0)
摘要:直接最短路板子,dij堆优化。 题干: 代码: 阅读全文
posted @ 2018-09-01 13:42 DukeLv 阅读(235) 评论(0) 推荐(0)
摘要:这个题当时划水,得了二十分,现在来整一整。 这个题用状压来压缩边界线,然后通过记忆化搜索进行dp。我们可以观察到,其实每次转移,就是把一个1向左移一位。最后的状态设为0。 这其中还要有一个变量来记录谁下棋,用maxmin算法,其实就是一步取max,下一步取min,然后就木有了。 ps:a-b剪枝没学 阅读全文
posted @ 2018-08-31 23:04 DukeLv 阅读(235) 评论(1) 推荐(0)
摘要:这个题其实打眼一看就知道差不多是dp,而且基本确定是前缀和。然后硬钢就行了。。。直接暴力预处理前缀和,然后直接dp就行。 题干: 代码: 阅读全文
posted @ 2018-08-31 21:32 DukeLv 阅读(244) 评论(0) 推荐(0)
摘要:这个题是一道splay裸题,但是我不太会写,所以用set直接水过去!!!哈哈哈哈,美滋滋。 set总结: set是一个集合,然后里面没用重复的元素。里面有一些函数: begin() ,返回set容器的第一个元素 end() ,返回set容器的最后一个元素 clear() ,删除set容器中的所有的元 阅读全文
posted @ 2018-08-31 20:19 DukeLv 阅读(218) 评论(0) 推荐(0)
摘要:这个题正解是莫队+树状数组,但是我个人非常不喜欢树状数组这种东西,所以决定用分块来水这个题。直接在莫队维护信息的时候,维护单点同时维护块内信息就行了。 莫队就是这几行核心代码: 剩下就是暴力了,说真的,这个作法真的暴力,但是就是能过。哈哈哈。 题干: 代码: 代码: 阅读全文
posted @ 2018-08-30 22:20 DukeLv 阅读(190) 评论(0) 推荐(0)
摘要:这个题的规律很好找,就是奇数直接除二,偶数除二加n/2.把这个规律整理一下就是(x * 2) % (n + 1),然后就直接求逆元就行了。一直30分的原因是qpow函数传参的时候用的int,然而变量是long long,然后就gg了。 题干: Description 为了表彰小联为Samuel星球的 阅读全文
posted @ 2018-08-29 21:01 DukeLv 阅读(312) 评论(0) 推荐(0)
摘要:小詹从哪整出来这么多水题?%%%这个题用栈模拟一下,然后直接暴力就行了。。。一开始还没想到,用的dfs,我太菜了。。。 题干: Description 依次对每份进行编码,得S1,S2,S3,S4。该矿藏区的编码S为2S1S2S3S4。 例如上图中,矿藏区的编码为:2021010210001。 小联 阅读全文
posted @ 2018-08-29 19:39 DukeLv 阅读(192) 评论(0) 推荐(0)
摘要:大水题,一分钟就做完了。。。直接枚举1~n就行了,然后在n中判断出现多少次。 题干: Description Input 只有一行一个整数 N(0 < N < 1000000)。 Output 只有一行输出,为整数M,即f(1)到f(N)的累加和。 Sample Input 3 Sample Out 阅读全文
posted @ 2018-08-29 19:03 DukeLv 阅读(136) 评论(0) 推荐(0)
摘要:水题,20分钟AC,最大值最小,一看就是二分答案。。。 代码: 代码: 阅读全文
posted @ 2018-08-27 20:19 DukeLv 阅读(178) 评论(0) 推荐(0)
摘要:这个题有毒,卡最大值。。。我开1 << 30爆零让我以为我分块错了。。。gg,然后去写RMQ,但是这个题st表是真简单啊。后来刘胜与巨佬一眼看出来我最大值不够大。。。然后1LL<<60也爆零,然而1 << 60 AC,(60LL)AC,1e8爆零。。。无良数据。。。 题目: 分块代码: RMQ代码: 阅读全文
posted @ 2018-08-27 19:49 DukeLv 阅读(189) 评论(0) 推荐(0)
摘要:一开始以为是dp,后来看了一下标签。。。二分答案?之前也想过,但是没往下想,然后之后的算法就顺理成章,先求出第一个地图的所有子矩阵的hash值,然后求第二个,在上一个地图例二分查找,然后就没了。 算法很好想,也很好写,但是一开始我想的和最长公共子序列差不多的dp却不行(子矩阵是子串啊)。。。总的来说 阅读全文
posted @ 2018-08-26 20:26 DukeLv 阅读(181) 评论(0) 推荐(0)
摘要:这个题和我一开始想的区别不是很大,但是要我独自做出来还是有一些难度。 每一次涂色 只有这两种可能: 1) 把一段未被 覆盖过的区间 涂成 * 色 2) 把一段被一种颜色覆盖的区间涂成 * 色 (并且 涂色区间 的两端 同为 被覆盖区间的颜色, 不然就是第一种了) 这种 dp 都要 存一个 f[i][ 阅读全文
posted @ 2018-08-26 18:56 DukeLv 阅读(186) 评论(0) 推荐(0)
摘要:这个题的dp真的恶心。首先,一开始我以为是一道数论题,但是组合数和这个题没啥关系。dp方程巨麻烦,状态是dp[i][j][0/1],代表i位连了j个,上一位是否连着。然后开始转移,证明如下: 我们先来分析i-1,i相邻,也就是f[i][j][1]怎么推。 对于i,i-1,i-2,有这几种关系, 本来 阅读全文
posted @ 2018-08-25 23:14 DukeLv 阅读(383) 评论(0) 推荐(0)
摘要:今天净做水题了,这个题还不到十五分钟就搞定了,思路特别简单,就是直接按照线性求因子个数的思路就行了。 题干: 代码: 阅读全文
posted @ 2018-08-25 22:28 DukeLv 阅读(232) 评论(0) 推荐(0)
摘要:就是线段树维护异或和。之前我线段树区间修改down都是修改当前区间,结果debug出不来,改成每次向下了。 题干: 代码: 阅读全文
posted @ 2018-08-25 21:56 DukeLv 阅读(226) 评论(0) 推荐(0)