自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

凝神长老和他的朋友们

凝神长老和他的朋友们

  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 WordPress 使用 CDN 后获取访客真实 IP

WordPress 使用 CDN 后获取访客真实 IP

2022-10-22 16:37:22 908 1

原创 有一台服务器可以做哪些很酷的事情·2

有一台服务器可以做哪些很酷的事情·2

2022-10-17 13:50:21 536

原创 Python requests 强制使用 IPv4

Python requests 强制使用 IPv4

2022-03-16 09:20:21 997

原创 桥接模式 VS 装饰器模式、状态模式 VS 策略模式的微妙之处

桥接模式 VS 装饰器模式、状态模式 VS 策略模式的微妙之处Foundations of Software Engineering 的 Design Pattern 学习笔记整理关键词:设计模式、桥接模式、装饰器模式、状态模式、策略模式( Design Pattern, Bridge Pattern, Decorator Pattern, State Pattern, Strategy Pattern)本文简述了桥接模式(Bridge Pattern)和装饰器模式(Decorator Pa

2021-07-20 15:16:32 152

原创 旅行商问题的近似最优解(局部搜索、模拟退火、遗传算法)

旅行商问题的近似最优解(局部搜索、模拟退火、遗传算法)关键字:旅行商问题,TSP,局部搜索,模拟退火,遗传算法TSP问题(Traveling Salesman Problem)是一个组合优化问题。该问题可以被证明具有NPC计算复杂性。迄今为止,这类问题中没有一个找到有效算法。也就是说,没有一个算法能够在多项式时间内解得TSP问题的最优解,所以只能通过我们介绍的方法,即遗传算法、模拟退火算法、局部搜索,来寻求近似最优解。遗传算法遗传算法(Genetic Algorithm, GA)起源于对生物

2021-04-02 14:28:32 2355 1

原创 Code Review Checklist

Consider only those items that are applicable in your programming environment…DesignCode is understandable.No magic numbers are used. Instead they are defined in terms of meaningfully named variables that reveal their purpose within the right scope (th

2021-04-01 09:15:05 129

原创 使用 Min-Max 搜索和启发式评估函数实现五子棋 AI

问题描述五子棋AI。设计一个交互式的应用,用户用鼠标在棋盘上单击左键表示落子,然后五子棋AI分析棋局,并在它认为最好的地方落子,双方交替,直到分出胜负或者和棋。在分析问题的过程中,我们假定图形用户界面已经完成,并且支持“开始游戏”、“重新开始”、“调整先后手”、“调整难度”等功能,获取鼠标的输入以及显示棋盘布局的功能也都正常,那么我们可以把精力放在五子棋AI类的具体实现上。现在,问题被抽象成,在一个15*15的二维数组中,1表示黑棋,0表示白棋,-1表示还没有落子的空格,AI程序要做的是分析当前的局

2021-03-31 08:54:13 1730 2

原创 路径导航与启发式搜索

路径导航与启发式搜索问题介绍介绍需要求解的问题随着生活水平的不断发展,我们出行的需求越来越高,需要到达的目的地也越来越远,很多地方都是我们不熟悉的地方。在那些地方怎么才能从一个点到达另一个点?在这么多可能的路径中哪一条才是最短的?或者说,车流量最少的、速度最快的、花费时间最少的、途径收费项目最少的……这样的问题,在现实生活中,我们成为路径导航问题,或者是寻路问题等。模型的建立现在把问题抽象成一个长、宽都是100的正方形,在这个正方形中依次排布了100×100的单位边长为1的小正方形,小正方形表示

2021-03-28 20:36:11 596 1

原创 皇后问题相关算法分享

问题介绍介绍需要求解的问题八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击即任意两个皇后都不能处于同一行、同一列或同一斜线上问有多少种摆法下面把这个问题抽象成nnn皇后问题例如,当n=4n=4n=4的时候,就是四皇后问题问题变成:在一个4×44\times44×4的国际象棋棋盘上,一次一个地摆布444

2021-03-28 15:43:40 556

原创 在GitLab中集成Azure Kubernetes

Self-Hosted 的 GitLab 中可以集成 Kubernetes,但是官方只提供了 Amazon AWS 和 Google Cloud 的一键部署按钮,没有提供 Microsoft Azure 的一键集成。因为正好 Azure 还有一些额度,所以研究了一下怎么把 GitLab 连接到 Azure Kubernetes Serveice (AKS) 上。首先登录 Azure 控制台,确保自己有一个有效的资源组,例如我这里创建了一个名字叫 gitlab-k8s 的资源组,这一步也可以在命令行完成

2021-03-13 17:21:50 185

原创 nuxt使用antv-l7踩坑

nuxt.js 下使用 antv-l7 实在是有太多的坑了,官方文档也不是很全,只能不断摸索和尝试,下面我把这些坑记录下来,也许能帮到你。这些解决方案不会是唯一解,也不见得是最优解,但至少解决了我的问题,而且还保留了代码的相对整洁和高效。如果你有更好的解决方案,欢迎留言;如果未来官方修复了这些问题,或者提供了更好的使用方法,那请忽略这篇文章。nuxt 下只能通过 plugin 的方式引入 l7不能直接用 import { Scene } from '@antv/l7' 这样的方法,在任何地方都不行,会

2020-12-24 17:10:07 997 1

原创 jxtxzzw-resume 快速搭建自己的个人主页

我之前写了一个个人主页,https://resume.jxtxzzw.com,还写了一篇文章《有一台服务器可以做哪些很酷的事情》。文章发布以后有小伙伴来问我,说很喜欢这个个人主页,想要自己部署。那时候很多东西都是硬编码在代码中的,比如我的一些学习经历,真的不适合去修改,当然,如果你是大佬,那根据我这拙劣的代码,自己就可以写一个更好的出来,这种情况我们不讨论。这段时间在家闲着,我重构了这个项目,写的很简单,没有用到很复杂的中间件啊、缓存什么的,但是我比较喜欢这样的风格,我也认为这个适合初学者来做个人主页

2020-12-16 16:37:48 156

原创 Kotlin for Java Developers 学习笔记

Kotlin for Java Developers 学习笔记★Coursera 课程 Kotlin for Java Developers(由 JetBrains 提供)的学习笔记”From Java to KotlinJava 和 Kotlin 代码可以相互转化publicclassPerson{privatefinalStringname;privatefinalintage;publicPerson(Stringna...

2020-12-04 20:11:17 318

原创 Princeton Algorithms, Boggle

Princeton Algorithm Assignment Boggle普林斯顿大学算法课 Boggle实现一个 Boggle 游戏,由自己决定采用什么数据结构和搜索方法。基本就是字典树(Trie)的实际应用。提供了 BogleBoard 类和 BoggleGame 类,可以很方便把自己写的 Solver 给整合进去,直接编译成可以玩的游戏,顺便也验证一下结果是否正确。Trie 的正确实现不难,DFS 也很无脑,基本可以轻松拿到 80 到 90 分,主要是性能上的优化,想要拿满分(甚至 .

2020-11-20 14:57:26 207

原创 轩辕剑柒通关简评

没有达到我的心理预期,作品完成度不高,游戏体验一般。首先是剧情上,游戏流程非常短,全成就通关不超过 25 小时。主线接近单线,遵循城镇-小道-迷宫的大致形式,而且故事简单、剧情俗套,主要还是主角团自己的恩怨;支线任务极少,而且大多数是来回跑图去杀怪物,强行拖长游戏时间,尤其以雪山赶回去救人为最令我吐槽的,这一点与同样 99 元却带家园和丰富支线的古剑奇谭三毫无可比之处。游戏似乎想要传达鸱鸮和鹓雏的概念,游戏中多次提及,但是由于剧情流程短,铺垫不够,最后也没能提出一个辩证的思考过程,雪山中湘儿的黑化和洗.

2020-11-08 16:55:30 120

原创 Princeton Algorithms, Burrows-Wheeler

Burrows–WheelerPrinceton Algorithm Assignment Burrows–Wheeler普林斯顿大学算法课 Burrows–WheelerBurrows–Wheeler 算法是一个革命性的压缩算法,可以对 gzip 和 PKZIP 进行压缩,并且构成了 Unix 系统压缩工具 bzip2 的基础,该算法分为 3 个主要的部分:Burrows–Wheeler 变换。给定一段英文文本,将其转化为具有如下格式的文本序列:相同的字符会在相邻的位置出现多次。Move-

2020-10-28 20:16:51 247

原创 WordPress 站点地址被恶意篡改的防护方案讨论

WordPress 站点的安全性非常重要,稍有不慎就有可能受到恶意攻击。一种常见的手段是通过篡改站点的地址,于是用户访问网站时将会被重新定向到恶意网站。一般情况下,有 2 种手段可以达到这个目的,下面就让长老带领大家一步步去看整个攻击手段是如何实施的,并找到每个环节的安全防护措施,大家可以根据自己的情况使用其中的某个或多个防护措施。也欢迎大家留言分享各自的防护心得。第一种攻击手段是在文件中写入恶意代码。该恶意代码的表现形式为在网页加载时执行一段 JS 代码, 跳转到恶意网址。尽管我们可以保证自己购

2020-09-06 18:20:50 649

原创 WordPress 评论显示 UA

如何在 WordPress 评论中显示每位用户的国家、浏览器版本、操作系统版本信息关键词:WordPress、UA、评论、浏览器版本、操作系统、IP地址、城市、User-Agent、WPDiscuz、自定义主题效果展示WordPress 评论显示 UA 效果展示,可识别各主流浏览器、操作系统和手机型号,可识别 IP 地理位置。支持识别QQ、微信、知乎、微信电脑版等………所需文件WordPress 评论显示 UA​ 所需文件下载使用方法下...

2020-07-23 23:25:16 640 1

原创 Princeton Algorithms, Baseball Elimination

Princeton Algorithms, Baseball Elimination这是普林斯顿大学算法课的第 8 次作业,利用网络流(最大流、最小切)来判断哪些球队在接下来的比赛中已经不可能获得冠军、提前出局。从题目给定的样例,我们可以发现确定谁被消除并不是一件容易的事情。 w[i] l[i] r[i] g[i][j]i team wins loss left Atl Phi NY Mon------------------

2020-07-11 16:42:58 189

原创 Princeton Algorithms, Seam Carving

Seam Carving 算法与一般的图像裁剪技术不同,它可以保持图像最具有信息量的部分。根据提示,我们首先要计算每一个像素的能量值,能量值越高的像素越不可能被作为 Seam 被裁剪。计算能量值使用的函数是 dual-gradient energy,从图中可以看到,重要信息的边缘基本都是能量较高的点,这是因为根据该函数的定义,重要信息的边缘的点会有非常明显的颜色差异,因此颜色的梯度值比较大。首先要计算出整个图的能量值,这个只需要按照函数的定义逐步处理就可以了。private int yielding(

2020-05-27 17:56:58 260

原创 WordPress Typecho Hexo 实现消息的及时 QQ 微信 推送

WordPress Typecho Hexo 实现消息的及时 QQ 微信 推送WordPress 在有新评论的时候,可以有邮件推送,但是长老平时也不是时时刻刻都会打开邮箱看着,所以希望能够将新评论及时地推送到自己的 QQ 或者微信,以便及时查看、及时回复。下面长老将分享如何简单、快速地将消息推送到自己的 QQ 和 微信。Server 酱是一个微信消息推送平台、Qmsg 酱是一个 QQ 消息推送...

2020-04-17 13:24:38 1056

原创 LeetCode 844 比较含退格的字符串

LeetCode 844 比较含退格的字符串力扣 844 比较含退格的字符串 | LeetCode 844 Backspace String Compare | 算尽天下系列第 11 期 | 栈/双指针题目描述给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。样例示例 1:输入:S = “ab#c”, T = “ad#...

2020-04-09 18:06:05 178

原创 计蒜客 – 蒜头君的银行卡 | SPFA – 差分约束系统

计蒜客 – 蒜头君的银行卡 | 算尽天下系列第 10 期 | SPFA – 差分约束系统上一期,长老向大家分享了一个跟 BFS 很像的、可以求解负环的单源最短路算法 SPFA,今天,让我们来看一下 SPFA 在求解差分约束系统时的力量吧。如果一个不等式组由 nnn 个变量和 mmm 个约束条件组成,且每个约束条件都是形如 xi−xj≤k,1≤i,j≤nx_i-x_j\leq k,1\leq i...

2020-04-08 15:03:21 169

原创 计蒜客 - 闯关游戏 | SPFA

今天分享一道有关 SPFA 单源最短路的算法题。蒜头君在玩一个很好玩的游戏,这个游戏一共有至多 100100100 个地图,其中地图 111 是起点,房间 nnn 是终点。有的地图是补给站,可以加 kik_iki​ 点体力,而有的地图里存在怪物,需要消耗 kik_iki​ 点体力,地图与地图之间存在一些单向通道链接。 蒜头君从 111 号地图出发,有 100100100 点初始体力。每进入一个地...

2020-04-07 20:36:06 236

原创 Princeton Algorithms, WordNet

Princeton Algorithms, Part II, WordNet普林斯顿大学算法课 WordNet 题解与代码首先要理解什么是 WordNet,这里定义了同义词集、下位词、上位词、逻辑门等计算语言学的复杂概念,确实不太好懂,但是总体上说,它是一个有根的有向无环图 a rooted DAG,但是它不一定是树。同义词集列表中第一个字段是 id,第二个字段是同义词集,构成同义词集的各...

2020-04-03 17:31:14 279

原创 Princeton Algorithm Kd-Trees

本次课程作业是编写一个 2D 树的数据结构,以表示单位正方形中的一组点,并支持高效的范围搜索(查找查询矩形中包含的所有点),以及高效的最近邻居搜索(找到最接近查询点的点)。2D 树有许多应用,从对天文物体进行分类到计算机动画,再到加速神经网络,再到挖掘数据再到图像检索等。首先要用暴力做法做一次,题目限定只能使用 SET 或者 java.util.TreeSet,这个就比较简单了,只需要注意一下...

2020-03-28 14:51:49 200

原创 Princeton Algorithm 8 Puzzle

Princeton Algorithm 8 Puzzle普林斯顿大学算法课第 4 次作业,8 Puzzle 问题。这道题目使用了 A* 算法,题目本身就是有点难度的,但是 Specification 里面已经把该算法的步骤都列出来了,基本就是一个优先级队列的使用。而优先级队列也可以使用提供的 MinPQ 完成,所以基本没有难度。本题的难点依旧在于优化。Board 的代码还是相对容易的,主要...

2020-03-22 21:48:46 330

原创 计蒜客 - 情报加密

计蒜客 - 情报加密蒜头君是我军的情报专家,现在我军有一份重要情报要发送出去,这是一份特别重要的情报,一旦被敌军截获,里面有一些重要的片段会暴露我们的身份,所以蒜头君需要改变一些字符,这样即使敌军截获了我们的情报,也无法获得正确信息。比如,情报中如果包含 AAB, ABC 和 CAB 就会暴露我们的身份,但是情报中的 AABCAB 把这三个片段都包含了,不过我们只需改变两个字符使其变成 ABB...

2020-03-20 16:52:26 423

原创 计蒜客 - 蒜厂工作手册

计蒜客 - 蒜厂工作手册蒜厂工作手册,你听说过么?蒜头君把蒜厂工作手册全部摘抄了下来并把它变成了一个长度不超过 10510^5105 的字符串 SSS,蒜头君还有一个包含 nnn 个单词的列表,列表里的 nnn 个单词记为 t1⋯tNt_1\cdots t_Nt1​⋯tN​。他希望从 SSS 中删除这些单词。蒜头君每次在 SSS 中找到第一个出现的列表中的单词,然后从 SSS 中删除这个单词。...

2020-03-19 16:53:49 139

原创 Princeton Algotithms Collinear Points

Princeton Algotithms Collinear Points普林斯顿大学算法课第 3 次作业“共线点”。虽然本次作业给出了暴力方法和快速方法,但是不要以为就能拿到很高的分数。同样地,想要通过,非常简单,只要答案正确就行了,很容易通过。但是想要拿到高分,还是不容易的。以下代码获得 100 分,其中需要注意的点我罗列一下,具体可以看代码理解。注意与 x 轴平行的点,斜率必须返...

2020-03-19 15:17:47 248

原创 Princeton Alhorithms Deques and Randomized Queues

普林斯顿大学算法课第 2 次作业“双端队列与随机队列 ”。这一次作业算是比较基本的作业,就是实现双端队列与随机队列,可以说是巩固链表和数组的基本知识的好作业,而且,初步认识到了不可变类型,初步了解到了什么是“多次调用不产生副作用”。本次代码获得 95 分,正确性满分,空间复杂度满分(还有附加分),时间复杂度稍微扣了点分,但是也懒得去改了。import java.util.Iterator;...

2020-03-19 15:16:16 109

原创 Princeton Alhorithms Percolation

Princeton Alhorithms Percolation普林斯顿大学算法课第 1 次作业“渗透模型 ”。这是一道并查集的问题。按照题目要求逐步定义 isFull 和 isOpen 是没有难度的,然后只需要在 open 操作中,设置一个 openStatus 为 true 并将它与它周围的四个格子连通即可。注意 isFull 必须首先满足 isOpen。这题想要通过,80 分,非常...

2020-03-19 15:14:36 152

原创 计蒜客 - 猴子打字

计蒜客 - 猴子打字有一个有趣的定理:无限猴子定理(infinite monkey theorem),它的表述如下:让一只猴子在打字机上随机按键,当按键次数达到无穷时,几乎必然能够打出任何给定的文字。给出一篇猴子打出的“文章”,并给定一个由若干个词组成的词典,问猴子一共打出了多少个在词典中出现的词。输入格式第一行一个整数 n(1≤n≤10000)n(1\leq n\leq 10000)n(...

2020-03-18 15:11:18 431

原创 Ori and the Will of the Wisps 游戏体验

第一天玩了 4 个小时,我对 Ori 2 还是很满意的:新增了很多技能,比如钩索,也增加了很多有趣的支线任务,场景也多了很多,结合了逃亡关卡和战斗关卡,可以花钱升级技能树,可以买地图……第二天又玩了 4 个小时,有点劝退,操作手感极差,可谓失望透顶。第三天经不住诱惑,还是继续玩了 8 个小时,手感不好,但是习惯着习惯着,难受着难受着,也就玩下去了。第四天玩了 4 个小时,接近通关,但是因为已...

2020-03-17 15:52:40 5631

原创 计蒜客 - 新年礼物

计蒜客 新年礼物新年了,蒜厂 BOSS 要给小蒜头们发新年礼物,新年礼物有很多份,怎么分配这些礼物呢?蒜厂 BOSS 打算让大家玩一个游戏。蒜头们可以从抽奖箱里抽出 NNN 个字符串,第 iii 个是 xix_ixi​,按抽出的顺序从 111 编号。一个蒜头可以得到的礼物个数决定于一个特别的子序列(不要求连续)。当且仅当 xix_ixi​ 是 xjx_jxj​ 的前缀,xix_ixi​ 也是 ...

2020-03-17 14:53:34 238

原创 计蒜客 - 糟糕的Bug

蒜头君作为蒜厂的工程师,在开发网站时不小心写出了一个 Bug:当用户输入密码时,如果既和自己的密码一致,也同时是另一个用户密码的 前缀 时,用户会跳转到 404 页。然而蒜头君坚称:我们的用户那么少,怎么可能触发这个 Bug……机智的你,能不能帮蒜头君确认一下这个 Bug 到底会不会触发呢?输入格式第一行输入一个整数 n(1≤n≤233333)n(1 \leq n \leq 233333)...

2020-03-17 14:52:51 204

原创 计蒜客 - 匹配格式

计蒜客 - 匹配格式有一字符串 S,蒜头君想在 S 中找到最长的子串 E,使得 S 满足格式 “EAEBE”,其中 A, B 可以为任意的 S 子串。也就是说子串 E 既是 S 的前缀也是 S 的后缀,同时还在 S 中间出现,但不与前缀 E 与后缀 E 重叠。输入格式输入一个字符串 S,由小写字母构成,长度不超过 10610^6106。aaxoaaaaa输出格式答案输出占一行,输出一...

2020-03-17 14:49:19 271

原创 计蒜客 - 旋转数字

计蒜客 - 旋转数字蒜头君发现了一个很好玩的事情,他对一个数作旋转操作,把该数的最后的数字移动到最前面。比如,数 123123 可以得到 312, 231, 123312,231,123,这样就可以得到很多个数。现在,蒜头君的问题是这些数中,有多少个不同的数小于原数,多少个等于原数,多少个大于原数。旋转中可能会出现前导零,两数比较的时候可以忽略前导零的影响。输入格式输入一个整数 N(0&...

2020-03-17 14:48:28 258

原创 计蒜客 - 首尾相接

计蒜客 - 首尾相接蒜头君有两个字符串 S1S_1S1​ 和 S2S_2S2​,蒜头君想把 S1S_1S1​ 接到 S2S_2S2​ 后面。因为 S1S_1S1​ 前面有一些字符和 S2S_2S2​ 后面的一些字母一样,所以蒜头君在连接的时候就没必要重复了,比如 S1S_1S1​ 为 cdefgh,S2S_2S2​ 为 abcde,那么 cde 这部分就是最长的重复部分,蒜头君可以将这两个串连接...

2020-03-17 14:43:33 334

原创 计蒜客 - 重复的密文

计蒜客 - 重复的密文蒜头君收到了一串密文,但是由于接收器坏了,他不停的重复接收,终于,蒜头君把插头拔了,机器停止了,但是蒜头君已经收到了一个很长字符串,它是由某个原始串不停的重复形成了,因为断电,最后一遍也不一定是完整的。蒜头君现在想知道这个原始串的最短可能长度是多少。输入格式第一行输入一个正整数 L(1<L≤106)L(1 < L \leq 10^6)L(1<L≤106...

2020-03-16 21:32:54 233

puerto-rico-latest-free.shp.zip

Puerto Rico 地图数据资源的 shp 格式(地图截止 2019 年 1 月),可用于测绘、数据分析、数学建模、数据可视化展示、3D 建模与图形图形图像处理等。

2020-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除