排序
文章平均质量分 76
Joyyiwei
这个作者很懒,什么都没留下…
展开
-
uva 755
题意:统计电话号码个数,并按字典序输出,map 完美的解决#include #include #include #include #include using namespace std;const int MAXN = 201;int nCases;char num[] = "22233344455566677778889999"; maptel;int main(原创 2013-08-04 16:23:34 · 777 阅读 · 0 评论 -
UVA - 11039 Building designing
题意:有n个绝对值各不相同的非0整数,选出尽量多的数,排成一个序列,使得正负交替且绝对值递增思路:两种方法,第一种模拟过程,第二种:先按绝对值排序后,只有满足前后符号不相同的话才满足,但这样不好统计,反过来,如果相邻的两个值符号相同的话,那么答案就-1,初始化是n#include #include #include #include using namespace std;c原创 2013-12-14 23:54:49 · 832 阅读 · 0 评论 -
UVA - 11389 The Bus Driver Problem
题意:有n个司机,n个下午路线n夜间路线,给司机安排一个下午路线和夜间路线,如果工作时间超过d,就要按每小时r的加班费,求最少的加班费#include #include #include using namespace std;const int MAXN = 120;int arr[MAXN],brr[MAXN];int n,d,r;int main(){ whil原创 2013-12-18 13:41:44 · 794 阅读 · 0 评论 -
UVALive - 3303 Songs
题意:一张CD上有n首频率为f[i],长度为了l[i]的曲子,因为CD不能随机播放曲子,想播放第i首时,必须依次播放前i-1,b[i]=f[i]*(a[1]+...+a[i]),sum=b[1]+..+b[n],求使sum最小的歌曲排列方式。 思路:那么b[i]+b[i+1] = (f[i] + f[i+1]) * (a[1]+ ... +a[i-1]) + f[i+1]*a[i+1]原创 2014-01-04 22:18:22 · 1158 阅读 · 0 评论 -
POJ - 2299 Ultra-QuickSort (归并排序)
题意:给你一个序列,让你求出这个序列的逆序数思路:归并排序的应用,将一个序列分成左右两个部分,当右边退出的话,那么此时左边还有几个,就代表这个数有几个逆序数#include #include #include #include using namespace std;const int MAXN = 1000010;int a[MAXN],t[MAXN],n;long lo原创 2014-03-04 22:11:30 · 1021 阅读 · 0 评论 -
计数排序
计数排序:它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法实现原理: 首先将k范围内的数都C[]数组设0,然后遍历一边数组A[],对应的C[A[i]]++,然后再将A[]数组向高位递加,观察发现每个不同的数字对应的C[]值都是该数字在排序后数组的位置,然后填充重复的数字代码:#include #include原创 2014-05-05 22:36:55 · 733 阅读 · 0 评论 -
POJ - 1731 Orders
题意:排序后字符串全排列思路:好久没水一题了#include #include #include #include using namespace std;const int MAXN = 220;char str[MAXN];int main() { while (scanf("%s", str) != EOF) { int n = strlen(str);原创 2014-07-01 09:30:21 · 847 阅读 · 0 评论 -
HDU - 4544 湫湫系列故事――消灭兔子 2013腾讯编程马拉松复赛第三场
Description 湫湫减肥 越减越肥! 最近,减肥失败的湫湫为发泄心中郁闷,在玩一个消灭免子的游戏。 游戏规则很简单,用箭杀死免子即可。 箭是一种消耗品,已知有M种不同类型的箭可以选择,并且每种箭都会对兔子造成伤害,对应的伤害值分别为Di(1 假设每种箭只能使用一次,每只免子也只能被射一次,请计算要消灭地图上的所有兔子最少需要的QQ币。原创 2014-07-01 18:51:23 · 1024 阅读 · 0 评论 -
HDU - 4550 卡片游戏
Description 小明最近宅在家里无聊,于是他发明了一种有趣的游戏,游戏道具是N张叠在一起的卡片,每张卡片上都有一个数字,数字的范围是0~9,游戏规则如下: 首先取最上方的卡片放到桌子上,然后每次取最上方的卡片,放到桌子上已有卡片序列的最右边或者最左边。当N张卡片全部都放到桌子上后,桌子上的N张卡片构成了一个数。这个数不能有前导0,也就是说最左边的卡片上的数字不能是0。游戏的原创 2014-07-04 17:07:42 · 1123 阅读 · 0 评论 -
HDU - 4911 Inversion
Problem Descriptionbobo has a sequence a1,a2,…,an. He is allowed to swap twoadjacent numbers for no more than k times.Find the minimum number of inversions after his swaps.Note: The number原创 2014-08-05 20:16:11 · 868 阅读 · 0 评论 -
CodeForces - 61E Enemy is weak
DescriptionThe Romans have attacked again. This time they are much more than the Persians but Shapur is ready to defeat them. He says: "A lion is never afraid of a hundred sheep".Nevertheless原创 2014-08-07 11:09:27 · 1354 阅读 · 0 评论 -
FZU - 2088 最长队名 (字符串排序)
DescriptionJack所在的班级决定组团报名参加FZU校赛。为了体现班级的团结和睦,班长决定用班级所有人的名字连起来组成一个史上最长最醒目的队名。因为听说在分数相同的情况下,队名字典序小的会排在更前面,班长还希望连成的史上最长队名拥有最小的字典序。Input输入数据第一行包含一个整数T,表示测试数据的组数。对于每组测试数据:第一行为一个整数n(0原创 2013-12-12 19:31:35 · 1030 阅读 · 0 评论 -
FZU - 1891 升降序列
Description升降序列的定义如下:给定N个不同的整数a1,a2,…,aN组成的集合,其中N为奇数,在这N个整数集合的一个排列中,如果对于所有1i-1 i > ai+1,那么称该序列为升降序列。给定N个不同的整数组成的集合,请你构造出一个升降序列,使得该升降序列的字典序最小。对于有N个元素的两个整数序列A和B,如果存在下标k,使得AkBk,并且对于所有1≤iInp原创 2013-12-03 23:32:18 · 1173 阅读 · 0 评论 -
UVA - 11462 Age Sort
题意:计数排序#include #include #include #include using namespace std;int main(){ int n,x,c[101]; while (scanf("%d",&n) != EOF && n){ memset(c,0,sizeof(c)); for (int i = 0; i <原创 2013-11-30 18:35:13 · 752 阅读 · 0 评论 -
uva 156
题目大意:把每个单词全部转化成小写字母,对每个单词,看它的字母重排后得到的单词在所有输入的单词中是否出现过,若没有出现,就输出原单词。所有要输出的单词按字典序排列输出。#include #include #include #include using namespace std;struct _s{ char a[25]; char b[25]; bool flag原创 2013-08-04 09:25:35 · 780 阅读 · 0 评论 -
uva 120
方法:按照题意便是不断的将最大的数翻到第一个,然后在翻到最后一个,求翻煎饼的次数,如果最大值已经在它该有的位置就不进行操作原创 2013-08-04 09:29:41 · 750 阅读 · 0 评论 -
uva 123
题目很简单:给出一系列要忽略的单词,这些单词以外的单词都看作关键字。然后给出一些标题,找出标题中所有的关键字,然后按这些关键字的字典序给标题排序。注意两点:相同关键字出现在不同标题中,出现在输入较前位置的标题排在前面(从样例数据可以看出,而且multimap也正是这么做的);同一个关键字在一个标题中出现多次,关键字位于较前位置的排在前面(从左向右扫描的话就没有问题)。STL中、神器!用起来很方转载 2013-08-04 10:45:56 · 975 阅读 · 0 评论 -
uva 10194
题意:读取比赛结果,按积分,净胜球,进球数等的积分排名输出。。。#include #include #include #include using namespace std;struct Team{ char name[50]; int b,c,d,e,f,g,h,i;}team[50];int n,t,g;int find(char *str){原创 2013-08-04 15:40:59 · 901 阅读 · 0 评论 -
uva 10785
题意:这个名字有一个固定的长度N ,先保证元音字母的价值和辅音字母的价值要最小,再保证名字要在字典序里面最小,那我们就一直装最小的,直到不能再装了(第一个字符表示为1,元音字母在奇数位置,辅音在偶数位置,同一辅音最多出现5次,元音21次)#include #include #include #include using namespace std;char yuan[] = "AU原创 2013-08-04 17:20:15 · 799 阅读 · 1 评论 -
uva 299
题意:求冒泡排序的交换次数,每次选出最小的数往前放#include #include #include using namespace std;int main(){ int a[51],n,i,j,w,min,t,num; scanf("%d",&t); while(t--) { num = 0 ; scanf("%d",&n); for ( i = 1 ;原创 2013-08-04 08:29:14 · 699 阅读 · 0 评论 -
uva 400
题意:输出挺麻烦的,注意确定行,和列,还有不足的要输出空格,除了最后一列长度是最大的长度加2,其他的多是最大的长度#include #include #include #include using namespace std;int n;char s[200][200];int cmp(const void *_a,const void *_b){ char *a原创 2013-08-04 10:32:51 · 879 阅读 · 0 评论 -
CF World Football Cup
题意:求出晋级的队伍,并按字典序输出,排序要求是:1.按得分降序,2.按赢球和输球的差的降序,3,按赢的降序,麻烦的是储存数据#include #include #include #include #include using namespace std;const int MAXN = 200;char Map[MAXN][MAXN];struct node{ in原创 2013-10-21 15:54:31 · 815 阅读 · 0 评论 -
UVA - 12554 A Special "Happy Birthday" Song!!!
题意:注意至少每个人都要唱一次就行了#include #include #include using namespace std;const int MAXN = 105;const char s[MAXN][MAXN] = {"Happy","birthday","to","you","Happy","birthday","to", "you", "Happy", "birt原创 2013-11-19 19:19:35 · 1063 阅读 · 0 评论 -
UVA - 11292 Dragon of Loowater
题意:有N条龙,M个骑士,一个能力值为X的骑士只能砍掉直径步超过X的龙,且要支付X个金币,求将所有龙杀死的最小金币,一个骑士只能杀死一个龙,分别排序#include #include #include #include using namespace std;const int MAXN = 20005;int n,m;int dra[MAXN],cost[MAXN];int原创 2013-11-22 19:13:18 · 894 阅读 · 0 评论 -
Codeforces Round #269 (Div. 2) B. MUH and Important Things
It's time polar bears Menshykov and Uslada from the zoo of St. Petersburg and elephant Horace from the zoo of Kiev got down to business. In total, there are n tasks for the day and each animal shoul原创 2014-10-03 00:05:03 · 1359 阅读 · 0 评论