【HDOJ】1800 Flying to the Mars】的更多相关文章

1. 题目描述挺简单的一道题,给定$n$个大整数,求出现最多的次数. 2. 基本思路这题是可以使用哈希做,ELFHash等哈希都可以过. 3. 代码 /* 1800 */ #include <iostream> #include <sstream> #include <string> #include <map> #include <queue> #include <set> #include <stack> #inclu…
http://acm.hdu.edu.cn/showproblem.php?pid=1800 Flying to the Mars Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10798    Accepted Submission(s): 3461 Problem Description In the year 8888, the…
Flying to the Mars Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16049    Accepted Submission(s): 5154 Problem Description In the year 8888, the Earth is ruled by the PPF Empire . As the popul…
Flying to the Mars 点我挑战题目 题意分析 有n个人,每个人都有一定的等级,高等级的人可以教低等级的人骑扫帚,并且他们可以共用一个扫帚,问至少需要几个扫帚. 这道题与最少拦截系统有异曲同工之妙.不同在于这道题可以排序,而最少拦截系统不能排序.我们想一下,把这些人排好序,并统计每个等级的人的个数.一次从最高等级到最低等级划掉一个人(可以理解为这些人互相教并且骑一个扫帚),一直划,直到最后一个人.这样可以看出来,扫帚的数量肯定是由某个等级的人数确定的.并且那个等级的人数最多.因此,…
Flying to the Mars 题意:找出题给的最少的递增序列(严格递增)的个数,其中序列中每个数字不多于30位:序列长度不长于3000: input: 4 (n) 10 20 30 04 output 1 思路:将节目转化为相同数的最多个数即可~~ 这时就随便怎么搞了.我是直接用了map(开始不会hash啊…)来找mx; 但是和字符串hash相比,时间性能不好. 之后看了ACdreamers,学习了ELFhash之后发现挺好用的~~下面将讲解一下我对ELFhash的理解. // 702m…
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1800 题意 给出N个人的 level 然后 高的level 的 人 是可以携带 比他低level 的人 一起坐一把 魔法扫帚 要求所有人都有扫帚坐 求最少需要几把扫帚 思路 假如我们将数据大到小排序 第一次 将第一个人推入队列 然后后面的每一个人 只需要判断 先前有的队列 是否有队列可以让他入队 如果有 那么就让它入队 如果没有 就需要一个新的队列 但是这个算法 时间复杂度 比较高 其实 我们最后可…
check the original problem here:http://acm.hdu.edu.cn/showproblem.php?pid=1800 the AC code: #include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<map> #include<cstdio> using namespace std; in…
其实是求树上的路径间的数据第K大的题目.果断主席树 + LCA.初始流量是这条路径上的最小值.若a<=b,显然直接为s->t建立pipe可以使流量最优:否则,对[0, 10**4]二分得到boundry,使得boundry * n_edge - sum_edge <= k/b, 或者建立s->t,然后不断extend s->t. /* 4729 */ #include <iostream> #include <sstream> #include <…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1800 Ac code: #include<stdio.h> #include<stdlib.h> int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main(void) { int n,i,ma,t; int a[3005]; while(scanf("%d",&…
DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorithm> #define rep(i,n) for(int i=0;i<n;++i) #define…