CF373C-Counting Kangaroos is Fun】的更多相关文章

Problem 计算袋鼠是愉快的 题目大意 有n只袋鼠,如果一个袋鼠体积是另一个袋鼠的两倍或以上,则小袋鼠能被大袋鼠装进袋子里,装进去后就看不到袋子里的袋鼠了,问这群袋鼠如何行动才能使得它们看着数量最少,请输出该数量.(注意,如果一个小袋鼠被装在袋子里,则小袋鼠袋子里不能再嵌套袋鼠了) 也就是给出一个数组,求这个数组中最多的u,v使得u>=2v,每个数组中的数只能作为一次u,v (具体还是直接看题吧) Solution 首先我们考虑最优情况,一定有:最小ans≥n/2,这是题目限制条件可得的.…
Description There are n kangaroos with pockets. Each kangaroo has a size (integer number). A kangaroo can go into another kangaroo's pocket if and only if the size of kangaroo who hold the kangaroo is at least twice as large as the size of kangaroo w…
#include<stdio.h> #include<algorithm> using namespace std; ]; int main() { int i,n,high; while(scanf("%d",&n)!=EOF) { ;i<n;i++) scanf("%d",&a[i]); sort(a,a+n); int ans=n; high=n-; -;i>=;i--)//i=n/2-1容易出错 { <…
http://codeforces.com/contest/373/problem/C 贪心,先排序,然后从n/2位置倒着找每一个可不可以放到别的袋鼠内. #include <cstdio> #include <cstring> #include <algorithm> #define maxn 5000001 using namespace std; int a[maxn]; bool vis[maxn]; int n; int main() { while(scan…
题目链接:http://codeforces.com/problemset/problem/372/A 二分思想 AC代码: #include <cstdio> #include <algorithm> using namespace std; int arr[500005]; int main() { int n; while(scanf("%d",&n) != EOF) { for(int i = 0;i < n;i++) { scanf(&q…
[链接] 我是链接,点我呀:) [题意] 如果a[i]*2<=a[j]那么i袋鼠可以装进j袋鼠里面 每只袋鼠都只能装一只袋鼠 [题解] 假设最后的方案是(ai,bi) 这里(ai,bi)表示下标为ai的袋鼠可以装进下标为bi的袋鼠里面 (这里袋鼠已经按照大小从小到大排序了) 则我们会发现,如果有(a1,b1),(a2,b2)...(ak,bk)这些方案的话(且这些方案合法) 我们总能让这个方案变成 a1~ak=1,2,3...k b1~bk=n-k+1,n-k+2,n-k+3...n 因为对于每…
题意,有n只袋鼠,没每只袋鼠有个袋子,大小为si,一个袋鼠可以进入另外一个袋鼠的袋子里面,当且仅当另一个袋鼠的袋子是他的二倍或二倍一上,然后中国袋鼠就是不可见的,不能出现多个袋鼠嵌套的情况.让你求最少可见袋鼠的数量. 解题方法是先排序再贪心,贪心策略是从中间开始贪心. #include <stdio.h> #include <algorithm> const int maxn = 500005; using namespace std; int s[maxn]; int n; in…
在上篇,我了解了基数的基本概念,现在进入Linear Counting算法的学习. 理解颇浅,还请大神指点! http://blog.codinglabs.org/articles/algorithms-for-cardinality-estimation-part-ii.html 它的基本处理方法和上篇中用bitmap统计的方法类似,但是最后要用到一个公式: 说明:m为bitmap总位数,u为0的个数,最后的结果为n的一个估计,且为最大似然估计(MLE). 那么问题来了,最大似然估计是什么东东…
来之不易的2017第一发ac http://poj.org/problem?id=2386 Lake Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 31474   Accepted: 15724 Description Due to recent rains, water has pooled in various places in Farmer John's field, which is repr…
ZOJ3944 People Counting ZOJ3939 The Lucky Week 1.PeopleConting 题意:照片上有很多个人,用矩阵里的字符表示.一个人如下: .O. /|\ (.) 占3*3格子,句号“.”为背景.没有两个人完全重合.有的人被挡住了一部分.问照片上有几个人. 题解: 先弄个常量把3*3人形存起来,然后6个部位依次找,比如现在找头,找到一个头,就把这个人删掉(找这个人的各个部位,如果在该部位位置的不是这个人的身体,就不删),删成句号,疯狂找就行了. 代码:…