
算法笔记
FZH_SYU
在这个时代,每个人怀揣着梦想,坚持地迈着步子走。这个时代,正因如此,才会愈发精彩。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序总结
排序的概念: 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。当待排序记录的关键字都不相同时,排序结果是惟一的,否则排序结果不惟一。稳定性: 在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生改变,则称这种排序方法是不稳定的。要注意的是,排序算法的稳定性是针原创 2016-11-09 00:32:03 · 949 阅读 · 0 评论 -
关于连续自然数和问题的探讨
题目描述: 对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。分析: (1)常见的方法是暴力去寻找,或者是打表记录下来,不过很可惜,这样做的时间复杂度是O(n^2)(2)利用求和公式和求根公式:设存在连续自然数,首项为A1,项数为m,即A1+A2+...+Am=M得到求和公式A1*m+m*(m-1)/2=M整理得到m^2+(2*A1-1)*m-2M=0很原创 2017-04-10 22:53:38 · 2002 阅读 · 0 评论 -
图论500题
=============================以下是最小生成树+并查集====================================== 【HDU】 1213 How Many Tables 基础并查集★ 1272 小希的迷宫 基础并查集★ 1325&&poj1308转载 2017-03-29 11:31:42 · 538 阅读 · 0 评论 -
浅谈动态规划(三)
背包问题一、01背包问题描述: 给定n种物品和一个背包。物品i的价值是Wi,其体积为Vi,背包的容量为C。可以选择任意装入背包中的物品,求装入背包中物品的最大总价值。对于一种物品,要么装入背包,要么不装。所以对于一种物品的装入状态可以取0和1。我们设物品i的装入状态为xi,xi∈ (0,1),此问题称为0-1背包问题。设dp[i][j]表示把前i个物品装入容量为j的背包的最大总价值,则状态原创 2017-03-10 15:29:03 · 701 阅读 · 0 评论 -
浅谈动态规划(二)
在算法竞赛中,动态规划的重要性不言而喻。它是所有算法中可以说是最难理解的,也是最难提高的。它范围甚广,变换万千。所有的关于动态规划的讲解都只是其中的冰山一角,当然,这篇以及后面我要更新的也是。不过在动态规划的世界里,很多人为此沉迷了很多时间,同时也得到了很多理解和感悟。除了最基础的数塔问题,我们进一步需要学习的分别是DAG、LIS、LCS、LCIS。下面分别进行讲解DAG 也叫有向无环图,原创 2017-03-05 20:22:19 · 625 阅读 · 0 评论 -
浅谈动态规划(一)
前言:猿爸爸把 1+1+1+1+1+1+1+1 = 写在纸上,问小猿(咦): 「它们加起来是多少哇?」(数了一会…)「8 !」猿爸爸在左边又加了个 1+,再问一次小猿: 「现在呢?」(迅速地)「9 !」「为什么小猿这么快就知道了呢?」「因为你刚刚加了 1 啊~」「所以只要记得之前的结果,就不用再计一次数啦。」嗯,动态规划就是一种「先记住些事,方便后面节约时间」的...原创 2016-12-24 15:02:50 · 4611 阅读 · 2 评论 -
浅谈动态规划(四)
这一次,我们来谈谈区间dp和概率dp。区间dp首先,状态表示很容易想到,就是[i,j]之间的达到题目条件的要求个数值。但是初学起来,区间dp需要理解一个问题:区间长度是从1慢慢循环到n-1的,一定是等到所有区间长度为1的值都赋好之后,才会开始区间长度为2的赋值。而赋值过程,实际上就是递推过程。每次的赋值,进行一次状态的决策。这就是区间dp不妨先来看看几个题目。题目描述: 现在有n堆石子,第i堆有原创 2017-03-17 18:43:17 · 707 阅读 · 0 评论 -
博弈题目集锦
首先当然要献上一些非常好的学习资料:基础博弈的小结:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854530经典翻硬币游戏小结:http://blog.youkuaiyun.com/acm_cxlove/article/details/7854534经典的删边游戏小结:http://blog.youkuaiyun.com/acm_cxlove/article/detai转载 2017-02-02 12:51:53 · 1795 阅读 · 0 评论 -
计算几何题目集锦
其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠。 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面大部分是模板。如果代码转载 2017-02-02 12:49:36 · 3131 阅读 · 0 评论 -
网络流题目集锦
最大流 POJ 1273 Drainage Ditches POJ 1274 The Perfect Stall (二分图匹配) POJ 1698 Alice’s Chance POJ 1459 Power Network POJ 2112 Optimal Milking (二分) POJ 2455 Secret Milking Machine (二分) POJ 3189 S转载 2017-02-02 12:46:45 · 709 阅读 · 0 评论 -
POJ 图论题目大集合
POJ图论分类2009-07-28 23:13POJ 2449 Remmarguts’ Date(中等) http://acm.pku.edu.cn/JudgeOnline/problem?id=2449 题意:经典问题:K短路 解法:dijkstra+A*(rec),方法很多 相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_转载 2017-02-02 12:42:48 · 1749 阅读 · 0 评论 -
二维字符串排序详解
如何处理二维字符串?第一种,使用qsort#include<stdio.h>#include<stdlib.h>#include<string.h>int cmp(const void* a, const void* b){ return (strcmp((char* )a,(char* )b));}int main(){ int n, m, i, count, num原创 2017-01-23 20:58:23 · 1150 阅读 · 0 评论 -
LCA问题的三种求法
先来看一道例题:hdu 2586 How far away ?http://acm.hdu.edu.cn/showproblem.php?pid=2586题目描述的就是给你一棵n个节点的树,然后Q次询问,每次询问的内容是节点x和节点y的最近公共祖先(LCA)接下来就来说一说LCA(最近公共祖先)你需要准备的预备知识: ①ST表处理RMQ问题; ②并查集的思想以及实现; ③...原创 2018-08-16 18:40:24 · 981 阅读 · 0 评论