UVA 1086 - The Ministers' Major Mess
题目链接
题意:有n个方案,每个人投票,一个人最多投4张票,现在要有一个方案,使得满足所有人投票方案中有超过一半被满足,输出方案的对错,如果一个方案对错都可以,就输出?
思路:明显是二分图,一开始想错了,想从正着去把条件式化简,根本不可行
正确的做法是,反过来想,因为最多4张票并且超过1半,如果反过来...
分类:
其他好文 时间:
2014-09-01 19:37:33
阅读次数:
231
题目链接:Codeforces 461C Appleman and a Sheet of Paper
题目大意:就是一个叠被子的过程,穿插着询问一段区间上被子的单位厚度。
解题思路:用前缀和数组模拟即可。因为对于折超过一半的处理为将令一半叠上来,所以需要变量记录当前被子的正反状态。处理好下标关系即可。
#include
#include
#include
using name...
分类:
移动开发 时间:
2014-08-31 13:17:51
阅读次数:
219
【问题】
题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。
【分析】
解法1:
先排序,排序后数组中间的那个元素就是要找的那个数字。时间复杂度O(n*logn)。
解法2:
既要缩小总的时间复杂度,那么可以用查找时间复杂度为O(1)的hash表,即以空间换时间。哈希表的键值(Key)为数组中的数字,值(Value)为该数字对应的次数。然后直接遍历整个hash表,...
分类:
其他好文 时间:
2014-08-22 21:13:09
阅读次数:
265
最近的一项研究表明,中国800强企业当中超过一半的企业仍然使用过去的经验和直觉进行决策。只有11%的企业用数据来支持这些决定,而“数据”在这些企业中仍是不重要的资源。
分类:
其他好文 时间:
2014-08-20 14:02:12
阅读次数:
156
UVA 11107 - Life Forms
题目链接
题意:给定一些字符串,求最长并且在所有字符串的连续子串中出现超过一半次数的字符串,输出这些字符串
思路:把这些字符串接起来,拼接部分用一个不会出现的不重复的字符,然后求这个长串的后缀数组,利用height数组去进行二分求解,二分的判断里面如果有一个连续height段超过了一半次数,那么就是可行的,如果所有连续段都没有出现超过...
分类:
其他好文 时间:
2014-08-18 18:44:22
阅读次数:
273
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字,例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2},输出2。
代码:
/*
数组中出现次数超过一半的数字
by Rowandjj
2014/8/9
*/
#include
using namespace std;
bool isValid = false;
//检查数组是否合法
b...
分类:
其他好文 时间:
2014-08-10 10:24:40
阅读次数:
195
74.数组中超过出现次数超过一半的数字(数组)题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字。思路:分治算法 两两一对 相同留下一个 不同扔掉 多出来的数字单独对比/*74.数组中超过出现次数超过一半的数字(数组)题目:数组中有一个数字出现的次数超过了数组长度的一半,找出这个数字...
分类:
其他好文 时间:
2014-08-08 15:16:26
阅读次数:
231
题目链接: uva 1482 - Playing With Stones
题目大意:n堆石子,给定每堆石子的个数,两个人分别从操作,每次可以从一堆中取走至少一个石子,但是不能超过一半。如果不能操作则视为失败。
解题思路:对于每一堆式子来说,可以看作一个Nim游戏,但是SG(x)并不等于x,因为每次取石子不能超过一半,所以对于偶数SG(x)=x/2,对于奇数SG(x)=SG(x/2).
...
分类:
其他好文 时间:
2014-08-06 01:59:40
阅读次数:
251
题目:找出数组中出现次数超过一半的元素解法:每次删除数组中两个不同的元素,删除后,要查找的那个元素的个数仍然超过删除后的元素总数的一半#include int half_number(int a[], int n){ if( a == NULL || n void find(int a[], ...
分类:
其他好文 时间:
2014-07-27 23:09:29
阅读次数:
169
//方案一: O(N)? 不适合海量数据int* maxK(int A[] , const int& n, const int& k){ if(np) --end; if(begin>=end) return begin; swap(A[begin],A[end]); ...
分类:
其他好文 时间:
2014-07-22 22:34:53
阅读次数:
140