随笔分类 -  数据结构

摘要:今天偶然遇到了一个有点意思的问题,将它转化成了题目,有点令人怀念: 有一张活动排期表,表上有n组活动的排期。其中,每组活动都会开启若干次,每个活动都有一个唯一id和一个开启时间a,关闭时间b。同组活动不能在相同时间内开启两个及以上。如果同组活动同时开启,则会产生冲突,活动开启失败。问:当前活动表内是 阅读全文
posted @ 2020-06-22 23:42 mypride 阅读(544) 评论(0) 推荐(0)
摘要:这是2014年上海区域赛的一道水题。请原谅我现在才发出来,因为我是在太懒了。当然,主要原因是我刚刚做出来。 其实去年我就已经看到这道题了,因为我参加的就是那一场。但是当时我们爆零,伤心的我就再也没有看过那一场的题了。昨天我的队友的高中同学建议我们一起来打一打这场比赛吧,然后我才再次回顾这场比赛。结果 阅读全文
posted @ 2015-12-06 22:04 mypride 阅读(924) 评论(0) 推荐(0)
摘要:题意:输入一行数字,查询第i个数到第j个数之间的最大值。可以修改其中的某个数的值。输入:包含多组输入数据。每组输入首行两个整数n,m。表示共有n个数,m次操作。接下来一行包含n个整数。接下来m行,每行包含一个字母s,两个整数a,b。当s为’Q’,表示查询第a个数到第b个数之间的最大值。当s为’U’,... 阅读全文
posted @ 2015-11-28 13:40 mypride 阅读(311) 评论(0) 推荐(0)
摘要:上一篇讲的是区间求和,这一篇讲区间求最值。首先,a[]数组仍然是保存原始数据。但是c[]数组变了,c[i]将会保存从a[1]到a[i]的最值。初始化c[]:当我们输入a[i]时,c[i]需要需要向前依次枚举被c[i]所包含的c[]数组。比如,当i==8时,需要向前依次枚举c[7],c[6],c[4]... 阅读全文
posted @ 2015-11-28 13:28 mypride 阅读(5528) 评论(3) 推荐(2)
摘要:题意:给出一行数字,然后可以修改其中第i个数字,并且可以询问第i至第j个数字的和(i 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int N = 50005; 8 9 int t, n;10 int a... 阅读全文
posted @ 2015-11-27 22:08 mypride 阅读(240) 评论(0) 推荐(0)
摘要:说树状数组其实是一个索引表,但是是一个特殊的,树状的索引表,它利用了二进制的一些特性。就区间求和的要求来说:首先我们用a[]数组来存储原始数据。然后在a[]之上构造c[]数组来作为树状数组。如图这个图表示,当i为奇数时,c[i]中保存的都是a[i]本身。然后,c[2]中保存了a[1],a[2],共2... 阅读全文
posted @ 2015-11-27 22:05 mypride 阅读(2160) 评论(7) 推荐(1)
摘要:很坑的一道题,读了半天才读懂题,手忙脚乱的写完(套上模板+修改模板),然后RE到死……题意:题面上告诉了我们这是一棵二叉树,然后告诉了我们它的先序遍历,然后,没了……没了!反复读题,终于在偶然间注意到了这一句——"Not only that, when numbering the rooms, th... 阅读全文
posted @ 2015-09-16 22:17 mypride 阅读(294) 评论(0) 推荐(0)