2013年8月14日

HDU4666 Hyperspace(数学推理+数据结构)

摘要: 问题领悟:1)求两点的曼哈顿距离2)求n个点中最大的曼哈顿距离(朴素算法:O(n^2))[在不考虑删除操作的情况下]3)加入删除操作,如果前面已求得的最大距离若有一个被删去,则需要重新计算最大曼哈顿距离,最坏情况时间复杂度可达O(n^3);远远超出。问题思考:1)首先能不能找到问题的一种朴素算法,使复杂度为O(n^2)的,在10s时间下可以试试;2)期待这类O(n^2)问题的更高效的算法!A.思考方向1:可能要用数据结构优化到O(nlg(n));3)不存在,那就考虑问题本身具有的特殊性,或挖掘出问题本身的性质和规律:曼哈顿距离:|x1-x2|+|y1-y2|求最大值。怎么考察此式的性质?将式拆 阅读全文

posted @ 2013-08-14 20:43 Gddxz 阅读(200) 评论(0) 推荐(0) 编辑

HDU4671 Backup Plan(构造序列-多校七)

摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4671解题回顾: 以m为列数,n为行数: 1)当n=m时:先考虑第一位:先给每个服务器分配n/m个数据库,再给前n%m个服务器各分配一个;再考虑第二位:对于首位相同服务器的数据库,从余数位的下一位开始,依次赋值赋值第二位,第三位至最后位随便排,只要不和前面相同就行了。3)程序实现:小小的序列编排中,隐含着许多特殊的地方。1)实现起来较为顺利,在实现2)时,有个特殊情况:余数位的下一位在当前i位处和从在i位下一位处,得到的序列是一样的(一直没找到这个特殊情况),还是无奈之下敲了一组特殊的测试数据发现. 阅读全文

posted @ 2013-08-14 15:13 Gddxz 阅读(160) 评论(0) 推荐(0) 编辑

导航