感谢CJ同学监督╭(╯^╰)╮。从放假到现在都木有更新博客了~噶呜~小娘谨记教诲,每天会更新博客==!!

看了一下POJ训练计划,虽然已经零零散散做了40多道题了,还是从头开始整理一下漏掉的知识点。Today is 枚举~!

很多人认为枚举是笨笨的,但是枚举却又总是我们面对算法问题时的第一反应,也比较容易想到,只要用得好,就不会笨。

在任何情况下,选准最合适的对象,无论是枚举还是其他算法思想,都是最最关键的。选准(枚举)对象的根本原因还是在于优化,具体表现为减少求解步骤,缩小求解的解空间,或者是使程序更具有可读性和易于编写

枚举算法因为要列举问题的所有可能的答案,所有它具备以下几个特点:

1、得到的结果肯定是正确的;

2、可能做了很多的无用功,浪费了宝贵的时间,效率低下。

3、通常会涉及到求极值(如最大,最小,最重等)。

枚举算法的解题过程分为两步:

1,逐一列举可能的解的范围,用循环结构实现。

2,对每一个枚举的可能进行检验,判断是否为真正的解,用选择结构实现。

分析出以上二个核心问题后,再合成: 
    要注意循环变量与判断对象是否是同一个变量。

知识点不多,具体到题目中再涉及,明天会写枚举的解题报告。嘿嘿~晚安~~!

随机推荐

  1. Inter IPP 跟 Microsoft V100编译器区别

    最近做项目用了两个编译器,由于是一种精度的算法计算,对计算的精度要求非常高,同时都用的float型,发现inter的结果比vs的结果好许多.但是不知道是什么原因,最后测试发现,是两个编译器的问题.   ...

  2. c# 课堂总结6 --集合与结构体

    一.集合 使用时必须添加 System.Collections 集合与数组的区别: 1:数组声明了它容纳的元素的类型,而集合不声明.这是由于集合以object形式来存储它们的元素.初始化时集合无需定义 ...

  3. 幻世(OurDream)2D图形引擎使用教程11——播放媒体文件(1)

    声明:本教程版权归Lizcst Software Lab所有,欢迎转载,但是转载必须保留本段声明文字,并注明文章来源:http://blog.csdn.net/kflizcst 谢谢合作! 播放媒体是 ...

  4. Hibernate 多对多映射

    package com.entity.manytomany; import java.util.List; import javax.persistence.Entity; import javax. ...

  5. 17-UIKit(UIView的动画)

    2. UIView的动画 UIView类本身具有动画的功能 2.1 概念 由UI对底层Core Animation框架的封装 可以轻松简单的实现动画效果 2.2 两种使用方式 1> Block ...

  6. char s[]字串和char *s字串有什麼区别?

    C語言有兩種字串宣告方式char s[]和char *s,兩者有什麼差異呢? Introduction char s[] = "Hello World"; (只是用字符串常量初始化 ...

  7. C++ 檔案、資料夾、路徑處理函式庫:boost::filesystem

    原帖:https://tokyo.zxproxy.com/browse.php?u=uG7kXsFlW1ZmaxKEvCzu8HrCJ0bXIAddA1s5dtIUZ%2FYzM1u9JI7jjKLT ...

  8. vi 快捷键积累

    依据自己用到的.或者还没记住的.或者用的时候忘了的,慢慢积累. 一.全选复制粘贴. 全选: ggVG // 凝视: gg 光标移到首行 V 进入Visual(可视)模式 G 光标移到最后一行全选 选中 ...

  9. C++ 中使用boost::property_tree读取解析ini文件

    boost 官网 http://www.boost.org/ 下载页面 http://sourceforge.net/projects/boost/files/boost/1.53.0/ 我下载的是  ...

  10. Android Branch and master source code merge(patch)

    Environment : Android 4.4.2 merge with Android 4.4.3(with other vendors source code) 1.确定你要merge 到 其 ...