0/1分数规划

最近入门了 0/1 分数规划,于是写篇博客纪念分数规划是一项不常用到的(但还蛮实用的)算法,一般来讲就是求一个最优比率。分数规划的简单介绍分数规划顾名思义就是求一个分数表达式的最大(小)值。比如说有 n 个物品,每个物品有两个权值 a 和 b ,然后让你选出任意件数(但可能会有限制)的物品,使得两个
算法 2023年01月06日 327次浏览

AES-ECB(NoPadding)模式加密

之前写的AES-CBC模式加密,kl说移动端解密不了,给了我个ECB模式的加密“板子”让我改成这个,结果试了试还报错,根本用不了啊。。。(ps: 明明之前的加密写法这么好为什么。。。)好吧那让我们来看看这个新的(鬼)东西和CBC模式不同的是,ECB加密模式对密钥长度和加密内容长度都有严格的要求,其字
项目 后端 2022年12月29日 471次浏览

阿里云OSS上传文件时报错:The difference between the request time and the current time is too large.

报错:The difference between the request time and the current time is too large.(请求时间和当前时间之间的差异太大)上网查了下原因,说需要同步系统时间。Linux中使用date命令可以查看当前的系统时间,经过比对北京时间后,发
项目 2022年12月19日 181次浏览

AES-CBC模式加密

  AES的加密解决算法网上一大堆,但是大部分都没有解决一个问题,就是windows上测试正常,但在部分linux操作系统下却出现加密解密异常!比如会发现加密的结果值一直会变,这是因为实例化SecureRandom的方式不对造成的。  默认初始化方式为:generator.init(new Secu
项目 后端 2022年12月19日 240次浏览

JSONArray使用场景

JSONArray的实际作用需要将数组存入数据库时使用,一般这种情况存入数据库类型为String,那么可以通过JSONArray作为中间桥梁来实现 /** * 把ArrayList序列化成String * @param list * @return */
后端 2022年12月16日 391次浏览

权值线段树

  线段树的两个拓展:动态开点线段树和权值线段树。  线段树有两种写法:堆形式存储和结点形式存储  通常来说,线段树占用空间是总区间长的常数倍,空间复杂度是 。然而,有时候很巨大,而我们又不需要使用所有的节点,这时便可以动态开点——不再一次性建好树,而是一边修改、查询一边建立。我们不再用堆形式中p
算法 2022年12月08日 281次浏览

算法—线段树

线段树之所以称为“树”,是因为其具有树的结构特性。线段树由于本身是专门用来处理区间问题的。对于每一个子节点而言,都表示整个序列中的一段子区间;对于每个叶子节点而言,都表示序列中的单个元素信息;子节点不断向自己的父亲节点传递信息,而父节点存储的信息则是他的每一个子节点信息的整合。线段树就是分块思想的树
算法 2022年12月06日 204次浏览

算法—扫描线

扫描线一般用于解决面积并的问题,最简单的应用是求矩形的面积并。使用针对不同数据范围可以有两种方式。方式一: 利用区间合并暴力求解,时间复杂度为O(n^2*logn),可以用于解决数据量为1e3级别的问题。方式二: 利用线段树 + 扫描线,时间复杂度为O(nlogn),可以用于解决数据量为1e5级别的
算法 2022年12月05日 286次浏览

Epub功能正式机部署

在正式机部署过程中发现路径并不是代码中指定的那样,在String fullPath = FileUtil.amendPath(AppConfig.getRealUploadPath(BOOK_PATH) + "epubNewDc");
项目 2022年11月30日 217次浏览

贪心算法

贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择 。1、微扰(邻项交换)证明在任意局面下,任何对局部最优策略的微小改变都会造成整体结果变差。经常
算法 2022年11月29日 259次浏览