抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前言本文所描述的所有内容和算法,均未使用任何外部库,且已经在开源压缩软件PicSizer中使用 PicSizer是我独立编写的批量图片压缩软件,主要功能是实现网页图片的压缩。因此所有的算法都是优先考虑网页显示的。如果你对图片压缩感兴趣,可以前往Gitee查看源码。软件完全开源,大小仅不到 1 MB,可放心使用,删除后不会有残留。 PicSizer发行版https://gitee.com/pi...
C#

动态规划与运筹学田忌赛马中,使用下等马对战上等马,使用上等马和中等马对战中等马和下等马,这就是运筹学的一个应用 运筹学是应用数学的一个分支,用来解决决策问题,使用数学的方法来做出最佳安排,它在博弈论中也占据着重要地位 动态规划是运筹学的一个分支,是计算最佳决策的过程,它的主要思想是“分解”和“记忆”,分解,即把一个问题分为多个相似的子问题;记忆,即保存已经计算出的结果,防止重复计算 适用条件...

爬山算法算法概念爬山算法类似于贪心搜索,它每次都会查找附近节点里的最优节点,并移动到最优节点,如此循环便找到最优解,但是它只能找到局部的最优解,而非整体最优解 问题示例以搜索最高点为例,已知山坡的高度f(x,y)满足 给定初始地点,找到最高点 显然x和y的范围是无穷大的,无法遍历全部结果,因此采用爬山算法找到局部最优解 12345678910111213141516171819202122...

问题描述Description一个旅行者有一个最多能装m公斤的背包,现有n件物品,它们的重量分别是w1,w2,w3,…,wn,它们的价值分别为c1,c2,c3,…,cn。若每种物品只有一件,求旅行者能获得的最大总价值。Inputm,和n(m<=200, n<=30)接下来共n行每行两个整数wi,ciOutput最大总价值Sample Input10 42 13 34 57 9Sa...

贪心算法算法原理贪心算法也属于启发式算法的一种。贪心算法从来不关注整体,而总是选择基于当前状态下的最优解,贪心可以看成A*的一种特殊情况 在上一篇博客中,已经知道A*算法的综合优先级为f(N)=g(N)+h(N),这里的只需要令g(N)=0,f(N)便是当前状态下的预计花费,只需要每次都选择h(N)最小的路径,便是当前状态下的最优解 迷宫问题 贪心算法从不关注g(N),因此只需要每次都比较相...

图的遍历深度优先遍历 DFS遍历一个节点,需要访问它自己,再遍历左子树和右子树,根据遍历顺序分为以下三种遍历 前序遍历:先访问当前节点,再遍历左右子树 中序遍历:先遍历左子树,再访问自己,最后遍历右子树 后序遍历:先遍历左右子树,最后访问自己 12345678910111213141516171819202122232425262728#include <iostream> ...

QQ群聊的背景色为白色,而打开图片后的背景色为黑色,如果能巧妙修改图片各个像素的透明度,就可以达到在不同背景下显示出不同图片的功能。 效果点开前点开后 原理分析我们已经知道是通过修改透明度来实现这个效果,现在只需要计算出透明度就行了。 假设有两张图片,一张是在白色背景下可以看到的,我们称之为“白图”,另一种是在黑色背景下才能看到的,我们称之为“黑图”。为了把两张图混合在一起,对任意像素点G(...
C#

单位向量时需要用到平方根倒数,而计算单位向量在游戏引擎中会大量使用,属于底层代码,因此其效率将会直接影响游戏体验。 雷神之锤3中使用了以下代码 123456789101112float Q_rsqrt(float number) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0....

敏感词过滤说白了就是简单的字符串替换,Java本身已经提供了相关函数,但是一旦遇到长文本,或者敏感词数量庞大,效率下降就会非常明显。本文将介绍利用多叉树进行敏感词存储和过滤的方法。 多叉树多叉树是一种特殊的数据结构,如下图Head为头节点,下面的ABCDE均为子树。那么多叉树是如何存储敏感词的呢?首先将敏感词分解为一个一个的字符,例如敏感词”CSDN”,第一个字符是C,则在Head下创建子树...

高斯模糊是被广泛使用的图形算法之一,在实现高斯模糊之前,先要了解正态分布 正态分布一维的正态分布为直接让f(x)和f(y)相乘,就得到了二维的正态分布此处直接令μ=0,将会在下面解释。 权值矩阵设有一个(2n+1)阶矩阵M,且有,我们称这个矩阵为权值矩阵,称为(i,j)点处的权。其中n是高斯模糊的半径。 离散卷积离散卷积是卷积对离散量的特殊形式,假设现有原图矩阵A,权值矩阵B,则点(x,y)...