贪心
vufw_795
Mood decides everything.
展开
-
sicily 1140(搜索)
题目链接:sicily 1140解题思路:贪心+深搜 相当考编程能力的一道题,一个手贱就卡了好几天,不过的确是一到好题。考察的是对贪心法的运用,还有编程能力——深搜。贪心原则是从最小结点开始搜索(这样最小结点就是根结点),然后对于每一个结点,搜索返回结点数和最小结点,根据题意比较结果,每次贪心搜索之后删除那条边,并标记整个子图,再继续搜索,直到所有的人都分到遗产。代码:(有可能冗余很多,但都是测试原创 2015-04-03 19:48:43 · 692 阅读 · 0 评论 -
UVALIVE 2678
题目链接:UVALIVE 2678解题思路: 这题一共有两种做法,一种是二分法,时间复杂度为O( n*log(n) );一种是直接遍历,时间复杂度为O( n )。 二分: 维护一个sum数组,保存数列前 i 项和,之后对每一个大于m的sum[i],使用二分查找找到sum[i]-m的lowerbound。 遍历: 同样维护sum数组,并且维护两个指针,表示满足条件的区间,之后在遍历数组的过程原创 2016-03-03 10:13:53 · 647 阅读 · 0 评论 -
CSU_1216(异或最大值)
题目链接:CSU_1216题目简述: 经典题目,求一个数组中两个数异或运算的最大值。题目极其简单,但是要求的复杂度需要达到O(N * log(N)),还是比较难的。解题思路: 总的思路就是构建一棵0-1字典树,然后一个数让查找一个与其异或结果最大的数的效率达到O(log(N)),这里因为异或的特殊性质,可以使用贪心法则来实现。 1、0-1字典树: 这里其实是就是二叉树,之所以叫做字典树是因为原创 2015-12-20 23:19:56 · 9223 阅读 · 0 评论 -
sicily 4424
题目链接:sicily 4424解题思路: 先找到符合lucky number位数要求最小的数,然后枚举所有可能性,最小的符合要求的数即为答案。枚举方法使用全排列的next_permutation算法思想,生成全排列中下一个数。代码:// Problem#: 4424 // Submission#: 4734859 // The source code is licensed under Crea原创 2016-05-28 16:07:18 · 694 阅读 · 0 评论