随笔分类 -  数据结构/算法

摘要:题意:一个大学准备举办80周年校庆活动。该校的人事关系是一棵树形结构,父结点是上司,子结点是下属。每个结点都有一个值,限制条件是父子结点不能同时参加校庆活动(即如果父结点参加了那么他的孩子结点就不能参加,如果有一个孩子结点参加,那么父结点就不能参加)。最后求满足限制的情况下,值的和最大的值是多少。f... 阅读全文
posted @ 2015-08-19 20:17 marchlyp 阅读(201) 评论(0) 推荐(0)
摘要:题意:假设货架上从左到右摆放了N种商品,并且依次标号为1到N,其中标号为i的商品的价格为Pi。小Hi的每次操作分为两种可能,第一种是修改价格——小Hi给出一段区间[L, R]和一个新的价格NewP,所有标号在这段区间中的商品的价格都变成NewP。第二种操作是询问——小Hi给出一段区间[L, R]... 阅读全文
posted @ 2015-08-19 19:54 marchlyp 阅读(231) 评论(0) 推荐(0)
摘要:题意:给定一串包含数字和运算符的字符串,可以在表达式中合理地加上括号,运算符只有:+,-,*。返回所有可能的结果。比如:输入:“2-1-1”可能的情况有:1.((2-1)-1) = 0;2.(2-(1-1))=2 仔细观察可以看出,这个问题可以分成子问题的:对于一个运算符,可以在这个符号两边把字符... 阅读全文
posted @ 2015-08-18 19:21 marchlyp 阅读(171) 评论(0) 推荐(0)
摘要:题意:假设整个货架上从左到右摆放了N种商品,并且依次标号为1到N,每次给出一段区间[L, R],要做的是选出标号在这个区间内的所有商品重量最轻的一种,并且告诉这个商品的重量。但是在这个过程中,可能会因为其他人的各种行为,对某些位置上的商品的重量产生改变(如更换了其他种类的商品)。 线段树求区间... 阅读全文
posted @ 2015-08-18 19:02 marchlyp 阅读(107) 评论(0) 推荐(0)
摘要:堆是一棵完全二叉树,对于最大堆来说,任何一个非叶子节点满足:结点的值大于其孩子结点的值。使用数组可以实现完全二叉树的结构。下标从1开始,一个结点i的左孩子下标为2*i,有孩子下标为2*i+1。下面是实现一个简单的最大堆。const int maxn = 100000;class MaxHeap{... 阅读全文
posted @ 2015-08-18 18:45 marchlyp 阅读(183) 评论(0) 推荐(0)