2013年8月6日
摘要: 描述:在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。 开始以为通过贪心算法可能很快解决问题,可是是行不通的。 首先我们可以把这么堆石子看成一列 我们假如5堆的石子,其中石子数分别为7,6,5,7,100 •按照贪心法,合并的过程如下: 每次合并得分 第一次合并 7 6 5 7 100 =11 第二次合并 7 11 7 100=18 第三次合并 18 7 100 =25 第四次合并 25 100 =125 总得... 阅读全文
posted @ 2013-08-06 17:38 细雨微光 阅读(884) 评论(0) 推荐(0)
摘要: FatMouse's SpeedTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7213Accepted Submission(s): 3181Special JudgeProblem DescriptionFatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a c 阅读全文
posted @ 2013-08-06 13:17 细雨微光 阅读(341) 评论(0) 推荐(0)
摘要: 单调递增子序列(二)时间限制:1000 ms | 内存限制:65535 KB难度:4描述给定一整型数列{a1,a2...,an}(0#includeint main(){ int b[100010],a[100010]; int i,j,n,t,max; while(scanf("%d",&t)!=EOF) { max=0; memset(b,0,sizeof(b)); for(i=0;i b[j-1])//判断如果出现后面的有大于前面的数就保存起来; b[j++] = a[i];//保存的同时,j的值也在... 阅读全文
posted @ 2013-08-06 12:41 细雨微光 阅读(288) 评论(0) 推荐(0)
摘要: Piggy-BankTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8419Accepted Submission(s): 4245Problem DescriptionBefore ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes f 阅读全文
posted @ 2013-08-06 09:45 细雨微光 阅读(288) 评论(0) 推荐(0)
  2013年8月5日
摘要: 完全背包时间限制:3000 ms | 内存限制:65535 KB难度:4描述直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO输入第一行: N 表示有多少组测试数据(N#include#includeusing namespace std;#define maxx -0X7ffffint main(){ int t,i,j,k,m,v; int price,wei... 阅读全文
posted @ 2013-08-05 21:34 细雨微光 阅读(620) 评论(0) 推荐(0)
摘要: 统计难题Time Limit: 4000/2000 MS (Java/Others)Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 13601Accepted Submission(s): 5820Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀).Input输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过10,它们代表的是老师交给Ignatius统 阅读全文
posted @ 2013-08-05 16:33 细雨微光 阅读(368) 评论(0) 推荐(0)
摘要: Sort时间限制:1000 ms | 内存限制:65535 KB难度:4描述You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it need.For example, 1 2 3 5 4, we only need one operation : swap 5 and 4.输入The input consists 阅读全文
posted @ 2013-08-05 14:13 细雨微光 阅读(341) 评论(0) 推荐(0)
  2013年8月3日
摘要: 原文地址:http://blog.chinaunix.net/uid-21712186-id-1818266.html优先队列:顾名思义,首先它是一个队列,但是它强调了“优先”二字,所以,已经不能算是一般意义上的队列了,它的“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队~百度百科上这样描述的: 优先级队列 是不同于先进先出队列的另一种队列。每次从队列中取出的是具有最高优先权的元素 优先队列的类定义 优先队列是0个或多个元素的集合,每个元素都有一个优先权或值,对优先队列执行的操作有1) 查找;2) 插入一个新元素;3) 删除.在最小优先队列(min ... 阅读全文
posted @ 2013-08-03 21:56 细雨微光 阅读(653) 评论(0) 推荐(0)
摘要: 原文地址:字典树(讲解+模版)又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在,说明字典树里没有该单词,如果在 就在该字母的孩子节点里找是不是有单词的第二个字母,没有说明没有该单词,有的话用同样的方法继续查找.字典树不仅可以用来储存字母,也可以储存数字等其 它数据。Trie 阅读全文
posted @ 2013-08-03 18:36 细雨微光 阅读(340) 评论(0) 推荐(0)
摘要: Monkey and BananaTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5829Accepted Submission(s): 2961Problem DescriptionA group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, an 阅读全文
posted @ 2013-08-03 13:25 细雨微光 阅读(386) 评论(0) 推荐(0)