随笔分类 - 数据结构
摘要:题目链接:HDU 6015 一开始读题有点懵,不知道是什么意思,不过后来想到既然是 BestCoder 的题,那么就用它的思维去理解,大胆 yy 题意即可。 题意大概就是说有 n 们课程,Luras 每逃一门都能得到相应的 value,但同一们课程(前面的字符串完全相同)最多只能逃两次,逃两次后就必
阅读全文
摘要:vjudge 上题目链接:UVA 11235 *******************************************************大白书上解释************************************************************ 题目大意:
阅读全文
摘要:vjudge 上题目链接:UVA 11997 题意很简单,就是从 k 个数组(每个数组均包含 k 个正整数)中各取出一个整数相加(所以可以得到 kk 个结果),输出前 k 小的和。 这时训练指南上的一道题,这道题的简化版其实在 15 年的广东省省赛出现过,当时是以送分题的形式出现的,可我还是没能做出
阅读全文
摘要:题目链接:hdu 5542 首届CCPC的C题,比赛时一起搞了好久,最后是队友A出的,当时有试过用树状数组来优化 dp,然后今天下午也用树状数组搞了一下午,结果还是踩了和当时一样的坑:我总是把用来记录状态的 dp 数组和树状数组里的内置数组混在一起使用了,而且两重循环的顺序也反了,以至于两组数...
阅读全文
摘要:题目链接:hdu 4521 本是 dp 的变形,却能用线段树,感觉好强大。 由于 n 有 10^5,用普通的 dp,算法时间复杂度为 O(n2),肯定会超时。所以用线段树进行优化。线段树维护的是区间内包含某点的最大满足条件的长度,叶子节点以该元素结尾,最长长度。至于相邻两项隔 d 个位置,求...
阅读全文
摘要:vjudge 上题目链接:Glass Carving 题目大意: 一块 w * h 的玻璃,对其进行 n 次切割,每次切割都是垂直或者水平的,输出每次切割后最大单块玻璃的面积: 用两个 set 存储每次切割的位置,就可以比较方便的把每次切割产生和消失的长宽存下来(用个 hash 映射数组...
阅读全文
摘要:求出 bcc 后再……根据大白书上的思路即可。 然后我用的是自定义的stack类模板: 1 #include 2 #include 3 #include 4 //#include 5 #include 6 #include 7 using namespace std; 8 ty...
阅读全文
摘要:线段树好题,和 15 年的广东省省赛 C 题有相似之处,一开始我的思路有偏差,看了别人的博客后感觉处处技巧都是精华,主要是区间合并的技巧一时很难想到,先附上代码: 1 #include 2 #include 3 #include 4 using namespace std; 5 #define ...
阅读全文
摘要:题目链接:hdu 5317 这题看数据量就知道需要先预处理,然后对每个询问都需要在 O(logn) 以下的复杂度求出,由数学规律可以推出 1 2 #include 3 #include 4 using namespace std; 5 const int N = 1000006; 6 7 ...
阅读全文
摘要:题意很明确,统计各个字符串所占总串数的百分比,暴力的话肯定超时,看了书上的题解后发现这题主要是用二叉排序树来做,下面附上n种树的代码。 简单的二叉排序树,不作任何优化(C语言版的): 1 #include 2 #include 3 #include 4 5 typedef struct n...
阅读全文
摘要:之前说过这是线段树的裸题,但是当看了http://kenby.iteye.com/blog/962159这篇题解后我简直震惊了,竟然能如此巧妙地转化为用树状数组来处理,附上部分截图(最好还是进入原网址细细品味):依照他的思路附上我的代码: 1 #include 2 #include 3 #def...
阅读全文
摘要:这些天一直在看线段树,因为临近期末,所以看得断断续续,弄得有些知识点没能理解得很透切,但我也知道不能钻牛角尖,所以配合着刷题来加深理解。 然后,这是线段树裸题,而且是最简单的区间增加与查询,我参考了ACdreamer的模板,在此基础上自己用宏定义来精简了一下代码: 1 #include 2 t...
阅读全文
摘要:这题是我看了大白书树状数组后刷的第一道题,确实难度不小,所以只好上网找题解了,网上的做法确实精彩。这题的题意主要是有N头牛,每两头牛之间交流的费用为它们的距离乘上两者音量的最大值(即max(v(i),v(j))),然后统计所有牛两两交流的总费用。一开始能想到的做法便是O(n2)的暴力枚举了,当时...
阅读全文
摘要:前几天开始看树状数组了,然后开始找题来刷。 首先是 POJ 2299Ultra-QuickSort:http://poj.org/problem?id=2299 这题是指给你一个无序序列,只能交换相邻的两数使它有序,要你求出交换的次数。实质上就是求逆序对,网上有很多人说它的原理是冒泡排序,可...
阅读全文