ACM算法详解
文章平均质量分 76
6个小石头
这个作者很懒,什么都没留下…
展开
-
《ACM算法详解》— 贪心算法
贪心算法详解贪心算法思想:顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短...原创 2016-08-07 21:43:20 · 4150 阅读 · 0 评论 -
《ACM算法详解》— string基本字符系列容器
C语言只提供了一个char类型用来处理字符,而对于字符串,只能通过字符串数组来处理,显得十分方便。C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,它提供了增加、删除、替换、查找和比较等丰富的方法。1.创建string对象下面这条语句创建了字符串对象s,s是一个空字符串,其长度为0#include <strin...原创 2017-07-30 20:19:52 · 549 阅读 · 0 评论 -
《ACM算法详解》— 求素数(质数)算法
(不想做题了。。。。。整理一些资料吧)求素数(质数)算法如果一个正整数只有两个因子,1和p,则p为素数1、根据概念判断bool isPrime(int n){ if(n < 2) return false; for(int i = 2; i < n; ++i) if(n%i == 0) return false; r...原创 2017-05-02 20:43:26 · 1823 阅读 · 1 评论 -
《ACM算法详解》— ACM 头文件大全 常用函数
ACM 头文件大全 常用函数#include<assert.h>//设定插入点 #include <ctype.h>//字符处理#include<errno.h>//定义错误码 #include <float.h>//浮点数处理#include<fstream.h>//文件输入/输出#inc...原创 2017-04-09 21:45:42 · 2088 阅读 · 0 评论 -
《ACM算法详解》— 动态规划知识点(二)
§ 1多阶段决策问题 1.1 多阶段决策问题 在研究社会经济、经营管理和工程技术领域内的有关问题中,有一类特殊形式的动态决策问题—多阶段决策问题。在多阶段决策过程中,系统的动态过程可以按照时间进程分为相互联系而又相互区别的各个阶段,在每个阶段都要进行决策。系统在每个阶段存在许多不同的状态,在某个时点的状态往往要依某种形式受到过去某些决策的影响,而...原创 2016-08-19 09:05:43 · 2546 阅读 · 0 评论 -
《ACM算法详解》— 搜索算法 知识点总结 (一)
搜索有以下几种算法:枚举算法: 也即列举问题的所有状态从而寻找符合问题的解的方法。 适合用于状态较少,比较简单的问题上。 广度优先搜索: 从初始点开始,根据规则展开第一层节点,并检查目标节点是否在这些节点上,若没有,再将所有的第一层的节点逐一展开,得到第二层节点,如没有,则扩展下去,直到发现目标节点为止。 比较适合求最少步骤或最短解序列的题目。 一般设置一个队列queue...原创 2016-08-14 20:05:15 · 896 阅读 · 0 评论 -
《ACM算法详解》— 大数问题的知识点与算法
本文总结ACM大数问题的概念与常用算法大数是指计算的数值非常大或者对运算的精度要求非常高,用已知的数据类型无法表示的数值。1、整型Short : 16位整数,占两个字节,-2^15——2^15-1 (-32768 —— 32768)Unsigned short : 占2个字节, 0——2^16 (0——65535)Int : 32位整数,占4个字节,-2^31——...原创 2016-08-11 21:20:52 · 2341 阅读 · 0 评论 -
《ACM算法详解》— 大数问题——java中的BigInteger类
大数问题——java中的BigInteger类import java.util.*; import java.math.*; public class Test { public static void main(String[] args) { Scanner cin = new Scanner(System.in); ...原创 2017-04-10 09:31:34 · 635 阅读 · 0 评论 -
《ACM算法详解》— 大数问题——Java中的BigDecimal类
大数问题——Java中的BigDecimal类import java.util.*; import java.math.*; public class Test { public static void main(String[] args) { Scanner cin = new Scanner(System.in); ...原创 2017-04-10 09:41:59 · 553 阅读 · 0 评论 -
《ACM算法详解》— ACM 大数问题函数及应用
大数问题在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。这两个类都在java.math.*包中,因此每次必须在开头处引用该包。一、基本函数:1.valueOf(parament); 将参数转换为制定的类型 ...原创 2017-04-10 20:36:18 · 889 阅读 · 1 评论 -
《ACM算法详解》— ACM 计算几何知识点总结
计算几何知识点总结 来源于网络整理一、引言 计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的...原创 2017-04-04 10:42:36 · 1956 阅读 · 0 评论 -
《ACM算法详解》— 计算几何知识点总结 详解
一、目录本文整理的计算几何基本概念和常用算法包括如下内容:1. 矢量的概念2. 矢量加减法3. 矢量叉积4. 折线段的拐向判断5. 判断点是否在线段上6. 判断两线段是否相交7. 判断线段和直线是否相交8. 判断矩形是否包含点9. 判断线段、折线、多边形是否在矩形中10. 判断矩形是否在矩形中11. 判断圆是否在矩形中12. 判断点是否在多边形中13. 判断线段是否在...原创 2016-08-11 20:41:59 · 4242 阅读 · 0 评论 -
《ACM算法详解》— 贪心算法精讲
贪心算法精讲一.贪心算法的基本概念当一个问题具有最优子结构性质时,我们会想到用动态规划法去解它。但有时会有更简单有效的算法。我们来看一个找硬币的例子。假设有四种硬币,它们的面值分别为二角五分、一角、五分和一分。现在要找给某顾客六角三分钱。 这时,我们会不假思索地拿出2 个二角五分的硬币,1个一角的硬币和 3个一分的硬币交给顾客。这种找硬币方法与其他的找法相比,所拿出的硬币个数是最少的。这里...原创 2017-04-08 20:48:28 · 1612 阅读 · 2 评论 -
《ACM算法详解》— 贪心算法详解
贪心算法一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必...原创 2017-01-20 16:32:09 · 1692 阅读 · 0 评论