2013年9月17日

uva 11384

摘要: 分类: 中位数与递归题意: 给定n表示整数序列1...n,每次操作可以同时选择一个或者多个整数,同时减去一个整数,求次数最少输入: 整数n输出: 最小次数解法: 化为n/2的子问题,f(n) = f(n / 2) + 1, 起始点f(1) = 1, 解之f(n) = log(n) + 1 关键问题是,为什么这样次数就是最优的? 书上和许多其它报告多提的是多次尝试,权且如此吧 #include #include #include #include #include #include #include #include #include #include #include ... 阅读全文

posted @ 2013-09-17 21:14 小书包_Ray 阅读(177) 评论(0) 推荐(0) 编辑

uva 11464

摘要: 分类: 枚举 和 剪枝题意: 给定矩阵由0,1组成,使用最少的改变(使0变成1),使得任何元素的上下左右元素(如果存在)和为偶数输入: 测试组数, 矩阵大小n ,矩阵每一个数输出: 最小翻转次数,无法实现则输出-1解法: 类似关灯问题,枚举第一行的状态(2^n)种情况,依题意,所有的后续方格可以由上面确定,检查翻转次数与是否满足 关键在于如何编写,即按照顺序确定每一个方格的状态 在代码中体现为 check函数,注意实现过程中适当剪枝,提高速度#include #include #include #include #include #include #include #incl... 阅读全文

posted @ 2013-09-17 20:35 小书包_Ray 阅读(129) 评论(0) 推荐(0) 编辑

uva 10881

摘要: 分类:排序与坐标映射题意:给定木棒上蚂蚁的位置,木棒的长度,运动方向和速度,以及时间,确定之后蚂蚁的状态。蚂蚁碰撞同时改变方向,速度不变输入:组数, 木棒长度, 时间T, 蚂蚁个数n, 以下n行是蚂蚁的位置(距离左端),以及运动方向输出:按照输入顺序,每只蚂蚁的状态,掉下则为“Fell off”,正在碰撞为“Turning”, 其余为位置和方向解法: 核心:关注最终结果,“对穿”,见《训练指南》 关键:如何“按照输入顺序”输出“最终结果” 对每只蚂蚁记录其inputOrder为输入顺序,再按照初始位置排序,注意这个排序的下标即为最终终态的蚂蚁下标,记录为finalPo... 阅读全文

posted @ 2013-09-17 16:39 小书包_Ray 阅读(174) 评论(0) 推荐(0) 编辑

导航