ACM算法总结
文章平均质量分 86
ACM算法总结
Suprit
先选择一种经历,经历再造就一个人
展开
-
贝叶斯公式的通俗理解
概述贝叶斯分析是整个机器学习的基础框架中学课本里说概率这个东西表述是一件事情发生的频率, 或者说这叫做客观概率。贝叶斯框架下的概率理论确从另一个角度给我们展开了答案, 它认为概率是我们个人的一个主观概念, 表明我们对某个事物发生的相信程度。先验概率和后验概率也可以叫正向概率和逆向概率。先验概率就是不加条件(信息)的判断一件事发生的概率。比如你是否聪明的概率。你是否患病的概率。后验概率是在附加了某条件后判断一件事发生的概率(是一种条件概率)。这个条件可以是已知另一个事件的发生,附加的条件对我们对原创 2021-04-01 16:02:43 · 3374 阅读 · 0 评论 -
2019CCPC 哈尔滨站赛后总结
经过一年多的努力, 好不容易拿到了区域赛的名额, 也是今年第一次出去打区域赛…11号晚上到的, 哈尔滨很冷, 吃了份烧烤就回酒店睡觉了12早上就去报道了. 然后中午在食堂吃完饭, 回去睡了一觉就去热身赛了, 热身赛签到题队友比较浪还WA了几发, 后两题没写出来, 后来发现是牛客多校的原题, 算是打铁了, 不过没在意, 晚上回去打了场Comet又点了份烧烤, 看了会博客就睡觉了13早上一大早起...原创 2019-10-15 19:27:02 · 529 阅读 · 3 评论 -
背包九讲 全部解法 详解 (01背包, 多重背包, 完全背包)
概述给定一组物品,每种物品都有自己的重量和价值,现有一个背包,能承受的重量有限,在受限制的重量下,取若干物品,使得总价值最大。这一类问题,被称为背包问题。01背包问题当前有 N 件物品和一个容积为 V 的背包。已知第 i 件物品的体积是 c_i ,价值是 w_i 。 由于每种物品有且仅有一件,因此只能选择放或不放,我们称之为 01 背包问题。现在你需要选出若干件物品,在它们的重量之和...原创 2019-02-25 22:18:17 · 2076 阅读 · 0 评论 -
扩展欧几里得入门必看 详解 (精美排版)
扩展欧几里得的定理:对于两个不全为0的整数a、b,必存在一组解x,y,使得ax+by==gcd(a,b);实现如下int gcd(int a,int b, int& x, int& y){ int t,d; if(b==0) { x=1, y=0; //不明处1 return a; } d=gcd(b,a%b); t=...转载 2019-03-14 20:29:27 · 861 阅读 · 1 评论 -
第十届蓝桥杯完整版题解 (详细讲解) (新鲜出炉)
简单总结简单总结一下本场蓝桥杯吧…客观的来讲, 题目较去年相比难度略有下降, 但报名人数再创新高…由此来看, 获奖容易, 但如果想拿省一, 恐怕还是要多点细心…未必要学多少算法…因为根本就没怎么考算法…全tm都是坑还是要吐槽一下蓝桥杯的赛制, 实时给个反馈不好么, 懒得花钱买服务器了? 很多题明明可以做对的, 真是醉了. 算了算大概100分左右吧…其实原本可以拿更高的分的…哎, 期待能给个省一...原创 2019-03-25 13:08:33 · 7221 阅读 · 7 评论 -
二叉树的遍历 和 二叉树的重建 (详细讲解) (结合例题)
前言二叉树的遍历和二叉树的重建是二叉树重点一个经典问题, 同时也是各大赛事的常考内容(尤其是PAT和天梯赛), 下面我将结合我自己的学习心得和刷题经验简单谈一下二叉树的遍历和重建二叉树遍历二叉树的遍历通常情况下有三种, 分别是前序, 中序, 和后序遍历. 切记, 这里的前, 中, 后值得是根节点的位置, 根节点在前就为前序遍历…以此类推如图仔细观察一下, 不难得出一点经验, 其实从...原创 2019-03-25 21:26:26 · 1026 阅读 · 0 评论 -
【算法笔记】区间贪心
贪心对于贪心问题,不要太关注过程或者方法,而应该关注结果的数据。一般来讲,贪心问题至少要讨论两种情况。大多数时候, 贪心 = 预处理 + 贪心算法, 例如排序, 或某种数学处理.往往真正的贪心算法其实不难, 一般都是取某个值的最大最小排序: 大于大的在前, 小于小的在前贪心问题, 要优先考虑思维, 其次再从思维入手考虑具体的算法区间贪心一、线段覆盖n个开区间(ai,bi),选择尽...原创 2019-05-02 09:38:02 · 584 阅读 · 0 评论 -
【算法精讲】最小树形图 (两份讲解 配套例题)
其一概述最小树形图, 简而言之就是求有向带权图的最小生成树.官方定义是这样的: 最小树形图,就是给有向带权图中指定一个特殊的点root,求一棵以root为根的有向生成树T,并且T中所有边的总权值最小。通解最小树形图的一种算法是是1965年朱永津和刘振宏提出的复杂度为O(VE)的算法:朱、刘算法。今天我们就来浅谈一下最小树形图的问题。最小树形图, 简而言之就是求有向带权图的最小生成树....原创 2019-06-14 11:29:53 · 1658 阅读 · 1 评论 -
【算法精讲】次小生成树 配套例题(HDU 4081 POJ 1679)
概述最小生成树算法, 即在一个有N个点的有权无向图中选中N-1条边, 使得各个顶点直接相互连通且权值和最小, 这样的一个算法称为最小生成树算法(MST), 通过经典的Prim或Kruskal算法都可以有效求解可在此问题的基础之上, 如果我们要求求出次小生成树, 或第k小生成树, 这样的算法又该如何实现呢 ?算法思想次小生成树算法是建立在最小生成树算法之上的, 首先我们求出最小生成树, 接下...原创 2019-06-10 10:38:17 · 682 阅读 · 0 评论 -
c/c++三种传参方式和指针 详解
原创 2018-12-02 20:09:09 · 399 阅读 · 0 评论 -
【算法笔记】模拟法
原创 2018-11-21 15:57:50 · 2213 阅读 · 0 评论 -
计蒜客-逃生问题(动态规划)
基础的动态规划题目,注意对边界情况和限制条件的判断#include <stdio.h>#include <stdlib.h>int escape(int **maze, int n, int m, int initialHP, int maximumHP) { int maxHP[n+5][m+5]; for(int i = 0...原创 2018-07-26 10:25:46 · 822 阅读 · 0 评论 -
计蒜客-最长不上升子序列
#include <stdio.h>#include <stdlib.h>int lengthOfLNIS(int *nums, int length) { //len为子问题:以i结尾的最长不上升子序列 int len[length+10]; for(int i = 0; i < length; i++) len[i] ...原创 2018-07-26 15:55:32 · 432 阅读 · 0 评论 -
计蒜客-删除最少的元素(动态规划)
#include <stdio.h>#include <stdlib.h>int countDeletedElements(int *nums, int length) { //len1和len2分别为从左向右求最长递减序列长度和从右向左求最长递减序列长度 //可以得到ans = length - max(1<=i<=length){l...原创 2018-07-27 14:38:55 · 407 阅读 · 0 评论 -
【算法笔记】最长上升子序列(nlog解法)
最长上升子序列可以说是一道动态规划(n^2解法)的经典题目了吧,很早前就A掉了,也没有再研究,最近才发型最长上升子序列问题竟然有nlogn解法。仔细研究了一下,发现解法中的一个思维的确非常巧妙,今天在此详细讲解一下,简单说一下我的理解。先上代码,先简单看一下程序就行,讲解在后面#include<stdio.h>#include<algorithm>#inc...原创 2018-09-01 14:40:05 · 681 阅读 · 0 评论 -
【算法笔记】深度优先搜索(DFS)
算法基础深度优先搜索(depth first search,简称深搜)是一种极其常用的算法,简单来说,符合以下策略的就可以称为深度优先搜索。在图中行走,没有走过的点称为“新点”,所有走过的点称为“旧点”。开始时所有的点都是新点,从任意节点1出发,走向任意一个新节点,同时将新节点标记为旧节点,然后重复此步骤。如果发现不能再走到下一个新节点,则回退到上一个走过来的节点,重复此步骤,直至可...原创 2018-10-03 10:44:11 · 917 阅读 · 0 评论 -
多个最小公倍数/最大公约数(最高效算法模板)
最小公倍数和最大公约数 两数求最大公约数 辗转相除法求最大公约数,使a>b,a,b不断取余数直到a,b相等int gcd(int a, int b){ if(a < b) a = a^b, b = b^a, a = a^b; int c = a%b; while(a%b != 0){ ...原创 2018-09-13 20:11:27 · 1508 阅读 · 0 评论 -
由01背包问题谈动态规划 Charm Bracelet POJ - 3624
01背包问题是一道极其经典的线性规划入门问题,这道题也是Poj上的一道经典题目。简单回顾 动态规划, 又称dp(Dynamic programming), 是一类极其常见而重要的算法. 其来源最早来源于递推和搜索, 所以动态规划又称为记忆化搜索, 在性质上又和贪心算法极为类似, 大概具备以下几种特性 1.无后效性, 当前状态一旦确定, 今后不会再影响到当前状态...原创 2018-08-09 16:34:01 · 388 阅读 · 0 评论 -
Piggy-Bank HDU - 1114 (完全背包) 由完全背包问题谈动态规划
完全背包问题是一个很经典的动态规划问题有n中价值和重量分别为wi, vi的物品, 从中选任意数量总重量不超过m的物品, 使得总价值最大, 每种物品可以挑任意次直观思考的话, 由01背包问题来思考, 引入一个遍历k, 可得到以下状态转移方程dp[i][j] = max{dp[i-1][j-w[i]*k] + k*v[i] | j >= w[i]*k } (0 <= k &l...原创 2018-10-30 19:35:27 · 469 阅读 · 0 评论 -
墙壁涂色问题-计蒜客(递归)
蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色。他买了 3 种颜料分别是红、黄、蓝,然后把房间的墙壁竖直地划分成 n 个部分,蒜头希望每个相邻的部分颜色不能相同。他想知道一共有多少种给房间上色的方案。例如,当 n = 5时,下面就是一种合法方案。由于墙壁是一个环形,所以下面这个方案就是不合法的。输入格式一个整数 n,表示房间被划分成多少部分。(1≤n≤50)输出...原创 2018-07-24 20:17:06 · 1808 阅读 · 3 评论