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

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

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

爬山算法 算法概念 爬山算法类似于贪心搜索,它每次都会查找附近节点里的最优节点,并移动到最优节点,如此循环便找到最优解,但是它只能找到局部的最优解,而非整体最优解 问题示例 以搜索最高点为例,已知山坡的高度f(x,y)=e−(x2+y2)+4e−((x−2)2+(y−3)2)f(x,y)=e^{-(x^2+y^2)}+4e^{-\left((x-2)^2+(y-3)^2\right)...

问题描述 Description一个旅行者有一个最多能装m公斤的背包,现有n件物品,它们的重量分别是w1w_1w1​,w2w_2w2​,w3w_3w3​,…,wnw_nwn​,它们的价值分别为c1c_1c1​,c2c_2c2​,c3c_3c3​,…,cnc_ncn​.若每种物品只有一件,求旅行者能获得的最大总价值.Inputm,和n(m<=200, n<=30)接下来共n行每行...

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

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

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

高斯模糊是被广泛使用的图形算法之一,在实现高斯模糊之前,先要了解正态分布 正态分布 一维的正态分布为 f(x)=12πσe−(x−μ)22σ2f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=2π​σ1​e−2σ2(x−μ)2​ 直接让f(x)f(x)f(x)和f(y)f(y)f(y)相乘,就得到了二...

单位向量时需要用到平方根倒数,而计算单位向量在游戏引擎中会大量使用,属于底层代码,因此其效率将会直接影响游戏体验. 雷神之锤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下...