
针对2019年企业安全威胁统一应对指南,采用贪心算法进行分析。该指南包含详细目录标签。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
第八章 贪心算法题 本章的题目主要集中于贪心算法的应用。解决这些问题需要运用贪心算法,以满足题目的具体要求。1. ZJU 1171G Sorting the Photos ①【题目大意】假设您拥有 n (1 ≤ n ≤ 10⁵) 张照片,其中一些正面朝上,另一些则反面朝上。您的任务是进行排序,使所有照片都呈现一致的朝向。您唯一能够执行的操作是,从一堆照片的上方选取需要翻转的照片,将其堆叠在一起并翻转,然后将这堆照片放回原位置。编写程序:通过采用这种操作策略来完成排序,并计算最少的操作次数。本题包含多组测试案例!多组测试案例的第一行是一个整数 N,紧接着是一个空行,随后是 N 个输入数据块。每个数据块的格式在问题描述中已明确说明。每个数据块之间用一个空行分隔。输出格式包括 N 个输出数据块,每个输出数据块之间用一个空行分隔。输入的第一行仅包含一个数字,然后跟随一组字符,这些字符可能分布在不同的行或由空格分隔,字符 D 表示“正面向下”,字符 U 表示“正面朝上”。输出一个整数——表示对照片进行排序所需的最小翻转操作次数。样例输入: 15 UUDUU
样例输出: 2 【算法分析】由于照片数量高达 10⁵ 张,回溯算法必然会变得过于缓慢且不可行。因此,必须找到一种高效的翻转照片的方法,并且该方法本身就应具有最优性。在此过程中存在一个关键技巧:从一堆照片的上方取出一张照片不被计入操作次数;只有在翻转时才进行操作次数的计算。因此,我们逐张照片进行比较分析。当遇到不同朝向的照片时就进行一次翻转操作后继续比较.例如, 对于提供的样例数据 UUDUU, 操作步骤如下:(1)首先将 UU 放在一边, 当遇到 D 时, 将 UU 翻转并放到原来的堆上面, 使其变为 DDDUU;(2)然后将 DDD 放在一边, 当遇到 U 时, 将 DDD 翻转并放到原来的堆上面, 使其变为 UUUUU. 002① http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1171
全部评论 (0)


