随笔分类 -  数据结构

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

点击右上角即可分享
微信分享提示