随笔分类 - 算法练习C++
做过的一些题目,使用C++的写程序
摘要:Description Once upon a time there was a greedy King who ordered his chief Architect to build a field for royal cricket inside his park. The King was
阅读全文
摘要:一条街道上都是买酒与卖酒的人家,每个住户都有一个需求量,正数代表售卖这个数目的酒,负数代表需要买这个数目的酒,每次两个住户进行交易都有一个路费 等于交易量乘以两个住户相隔的距离,要求你设计一个方法使得总的路费最小且每个住户的需要都被满足(题目保证总需求与总售卖相等) 联系生活很容易想到这样的请况,在
阅读全文
摘要:poj 2549 给出一个集合S,其中包含n个数字,请你选择四个数字a,b,c,d满足d=a+b+c,d要尽可能地大。 请注意选择的数字不能是同一个元素,(大小可以相同) 可以先固定d,把数字从大到小排一遍,然后先选d,在从1到n个元素中选一个a,(请注意a可以大于d,因为有可能d-a<0而且c+b
阅读全文
摘要:Uva 1326 Sample Input 1 ABC 6 ABD EG GE ABE AC BCD Sample Output 0 5 1 2 3 5 6 给出n个字符串,每个字符串都是由大写字母组成,要求你选择尽可能多的字符串结合成一个字符串,而且这个字符串的每个字母出现的次数都为偶数 这道题可
阅读全文
摘要:Uva 10755 给出一个立体图,要求求出其中的最大子立方体。 如果给出的是一个二维图,那么可以使用前缀矩形来做,用a[i][j]代表以(1~i)为长,以(1~j)为宽的矩形,那么a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+cube[i][j]; 之后就可以通过
阅读全文
摘要:LA 3695 一张二维图上提供N个点,要求画出一个矩形,这个矩形边上的点要最多 使用暴力法解题,先枚举上下两条边,之后就不能使用两条线进行枚举了,其一是不好统计,其二时间上也耗费大。 可以使用left[i]记录i以前的上下两条边的点数之和,on[i]代表i这条线上的点数,不包括与上下相交的点,on
阅读全文
摘要:LA 3029 求最大子矩阵问题,主要考虑枚举方法,直接枚举肯定是不行的,因为一个大矩阵的子矩阵个数是指数级的,因此应该考虑先进行枚举前的扫描工作。 使用left,right,up数组分别记录从i,j位置可以向左,右,上扩展的最大距离,那么最终只需要枚举每一个方块即可使用(right-left)*u
阅读全文
摘要:LA 3029 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are gi
阅读全文
摘要:LA 3905 题意:有一个照相机相框,只有在相框内的点才可以被拍到,每一个点都有起始位置(x,y)和速度(a,b),问这个相框最多可以拍摄到多少个点 思路:拍摄肯定是一个瞬时性的动作,那么最终拍摄到点的多少肯定与时间的选取有关,因此可以吧所有的点在相框内出现的时间转化为一个区间。 最后进行遍历,遇
阅读全文
摘要:uva 11549 题意:你拥有一个老式计算机,它只能显示n为数字,有一天你输入数字k,接着一直平方下去,在这个过程中如果数字长度大于n,那么截取前n个数形成一个新的数k,再用这个新的数k一直平方下去,那么这个过程中能显示的最大数字是多少。 思路:在这个过程如果出现了以前出现过的数,那么从第一个开始
阅读全文
摘要:uva 1444 Description You are in a library equipped with bookracks that move on rails. There are many parallel rails, i.e., the bookracks are organized
阅读全文
摘要:最近做了几个蚂蚁问题,还蛮有趣的。。。。。 蚂蚁问题第一弹:poj 1852 Ants: Ants Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12214 Accepted: 5366 Description An army
阅读全文
摘要:原题:poj3061 题意:给你一个数s,再给出一个数组,要求你从中选出m个连续的数,m越小越好,且这m个数之和不小于s 这是一个二分查找优化题,那么区间是什么呢?当然是从1到数组长度了。比如数组长度为10,你先找5,去枚举每一个区间为5的连续的数,发现存在这样的数,那么就可以继续往左找,反之则往右
阅读全文
摘要:原题:UVA11078 题意:给你一个数组,设a[],求一个m=a[i]-a[j],m越大越好,而且i必须小于j 怎么求?排序?要求i小于j呢。枚举?只能说超时无上限。所以遍历一遍数组,设第一个被减数为a【0】,之后遇到比a【0】大的数就更新它,再拿这个被减数去减数组中的每一个元素,同时也要不断地更
阅读全文
摘要:Description John Doe is a famous DJ and, therefore, has the problem of optimizing the placement of songs on his tapes. For a given tape and for each s
阅读全文
摘要:UVA 11572 唯一的雪花 题意:给你从1到n的数组,要求求得其中的最长连续不重复子序列,经典的滑窗问题,方法是维护一个窗口,设置左框和右框,然后不断的进行维护和更新 方法一: #include"iostream" #include"set" #include"cstring" #include
阅读全文
摘要:Description The SUM problem can be formulated as follows: given four lists A, B, C, D<tex2html_verbatim_mark> of integer values, compute how many quad
阅读全文
摘要:Description Shaass has n books. He wants to make a bookshelf for all his books. He wants the bookshelf's dimensions to be as small as possible. The th
阅读全文
摘要:Description Most financial institutions had become insolvent during financial crisis and went bankrupt or were bought by larger institutions, usually
阅读全文
摘要:G - 贪心 Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status G - 贪心 Submit Status Description Simon and Garfunkel Corporation (
阅读全文