ACM/数据结构与算法
文章平均质量分 67
番茄007
这个作者很懒,什么都没留下…
展开
-
USACO解析Milking Cows篇
题目翻译网站:http://www.nocow.cn/index.php/USACO_Training这道题的解题思想应该从这一节的主题穷举算法上入手顾名思义,就是判断每一秒是否有人在挤奶。既然是穷举,所以就不用担心挨个扫一遍会超时的问题。写到这里都知道怎么做了吧。初学者一定要按着每一节的主题来思考算法,否则会走很多弯路#include#includ原创 2012-05-02 17:26:02 · 541 阅读 · 0 评论 -
HDU1556 color the ball【树状数组】解题报告
转载请注明原文地址:http://blog.csdn.net/huang8579/article/details/8770743关于树状数组是什么?请参照百度百科:http://baike.baidu.com/view/1420784.htm时间复杂度为什么是log(n)?首先树状数组的思想本身就是一个树,所以在操作的时间复杂度上面和树相似还可以通过计算来论证:假设原创 2013-04-08 10:56:56 · 5930 阅读 · 2 评论 -
USACO解析Mixing Milk篇(使用STL优先队列解决)
翻译:由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要。帮助Marry乳业找到最优的牛奶采购方案。Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是不同的。此外,就像每头奶牛每天只能挤出固定数量的奶,每位奶农每天能提供的牛奶数量是一定的。每天Marry乳业可以从奶农手中采购到小于或者等于奶农最大产量的整数数量的牛奶。给出Marry乳业每天对牛奶的需原创 2012-09-14 20:32:53 · 1268 阅读 · 0 评论 -
归并排序(C语言)
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。算法描述 归并操作的工作原理如下: 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 设定两个原创 2012-08-22 10:26:01 · 1357 阅读 · 0 评论 -
USACO_Broken Necklace解题报告
Broken NecklaceYou have a necklace of N red, white, or blue beads (31 2 1 2 r b b r b r r b r b b b r r b r r r w r b r w w b b r r b b b b b b r b r r b r b r r r b r r r r r r b r b r r r w原创 2012-05-02 17:19:45 · 629 阅读 · 0 评论 -
usaco解析Dual Palindromes 篇(双重回文数)
题目大意:双重回文数问题,就是一个10进制数转换成2~16进制(或者更多进制)之中至少有两种进制的转换结果是回文数。要求输入两个整数,第二个表示要转换的数字,第一个代表输出前N个比输入数字大的双重回文数代码如下:/*ID: huangxi16LANG: C++TASK: dualpal*/#include #include using namespace std;c原创 2012-07-22 21:17:42 · 1495 阅读 · 0 评论 -
USACO解析Palindromic Squares篇
题目: 输入数字n-->将n及n*n转化成B进制数-->判断n*n是否是回文数-->输出 重点是学会将十进制转化成B进制数(while(n) a[l++]=n%B,n/=B;)PS:进制转换的方法 while(0!=m) { num[i]=bit[m%b]; m/=b; i++; }完整代原创 2012-07-20 13:30:18 · 620 阅读 · 0 评论 -
USACO解析name that number篇
题目大意:常规的手机键盘上,拨号键上面的每一个数字都代表了3个字母,所以输入一组数字之后会产生很多个字母组合,现在给你一个字典,字典里面的名字都按照字母顺序排好了,要求你输入1~12个数字,然后输出与字典里面相同的字母组合,如果没有在字典里查找到相同的字母组合,就输出“NONE”解题思路:常规的解法是,先生成这些数字能够生成的字母组合,然后再逐一到字典里面比对,这样做不会超时。另一种算原创 2012-07-13 15:37:07 · 1174 阅读 · 0 评论 -
USACO解析Transform篇
这个更简单,就是转换,转换完以后,和原来的一个一个比较,就行#include #include #define maxn 11using namespace std;typedef struct pattern{ int n; char b[maxn][maxn];}p;p Rotation(p b){ p nb; nb=b;原创 2012-05-02 17:28:18 · 541 阅读 · 0 评论 -
POJ 2352 stars【树状数组】解题报告
关于树状数组,请点这里:http://blog.csdn.net/huang8579/article/details/8770743题目大意:给你星星的坐标(y递增,若y相等,x递增),每个星星都有一个等级,规定它的等级就是在它左下方的星星的个数。输入所有星星后,依次输出等级为0到n-1的星星的个数。输入的每一个星星的y坐标都是递增的,如果y相同则按x递增排序。解题思路原创 2013-04-12 13:44:14 · 1081 阅读 · 0 评论