「编程笔记」ST表的实现与使用

ST表,全称SparseTable,也叫做稀疏表。是用来解决区间和和区间最大最小值问题的一种工具。其实推广开来,其可以用来解决任何可重复贡献(associative)问题。 使用条件 可重复贡献问题 ST表要求其处理的问题必须具有“可重复贡献”这一特征。具体是什么意思呢? 假设有操作F,使得F(a,…

「编程笔记」关于Bellman Ford单源最短路算法

开始之前 本Blog之前已经介绍过一种单源最短路算法——Dijkstra算法。但Dijkstra算法也有着自己的缺点,其中最明显的问题就是无法处理带负权边的图,其原因与其算法中包含的贪心原理有关。 而接下来介绍的算法,则拥有处理负权边的能力,该算法就是Bellman Ford单源最短路算法。该算法的…

「编程笔记」Dijkstra算法为什么无法处理带有负权边的图

前言 Dijkstra算法是一种可以计算有向或无向图中单源最短路的算法。其工作模式与图的BFS(广度优先遍历)有些相似,通过类似于广度遍历的方式,逐渐从某个设定好的起点向外推进,一步步的计算出所有点到该点的距离。 本文不过多介绍Dijkstra单源最短路算法本身,如果仍然没有掌握该算法,可以先自行了…

「编程笔记」Flutter中局部Provider的跨Page传递

开发过Flutter项目的同学应该对于Provider不陌生,Provider是Flutter中的一个状态管理包之一,也是Flutter官方推荐的状态管理Flutter实现。Provider通过Flutter的InheritWidget实现了状态的寄存和管理,使得子Widget可以访问和修改父Wid…

「杂谈」关于ChatGPT的一些事

相信所有人对于ChatGPT这个词都已经不陌生了,ChatGPT是OpenAI公司推出的一个聊天机器人模型,根据维基百科,ChatGPT使用基于GPT-3.5架构的大型语言模型并通过强化学习进行训练,该模型问世之后,因为其相较于其他传统AI在聊天和回答问题领域方面的能力上产生了可以说是革命性的突破,…

「编程笔记」Dart中重新加载FutureBuilder的一种方法

在实战过程中,我们常常遇到需要刷新界面的需求,比如搜索时出现了网络错误,我们为用户提供一个Retry按钮,用户点击后,我们希望整个FutureBuilder重新加载一下,比如下图: 本页面通过一个FutureBuilder加载搜索结果,同时遇到网络错误时显示以上界面,代码的大致结构如下: 这时,假设…

「编程笔记」关于Dart类构造函数

构造函数的形式 无参数构造函数 在Dart中,每一个类(Class)都有一个不包含任何参数的默认构造函数,当你调用[ClassName]()时,就会调用默认的构造函数。Dart会为每个类自动添加默认的构造函数,但你也可以显式的声明你的构造函数,例子如下 上面的构造函数被调用时,会更新实例的成员变量。…

「动漫杂谈」《三体》和《我的三体》

“得益于”叔叔在B站对于艺画开天三体的大力宣传,我对于艺画三体的期待值很高,也是首先看的艺画三体,看了五六集之后才开始看我的三体系列。 在没有看我的三体系列之前,我对艺画开天三体的总体评价可以概括为:烂——一种从科幻巨著到拙劣的东施效颦般的商业作品的烂。三体本身是一个非常著名的科幻作品,也是一个巨大…

「杂谈」网上冲浪安全指南

这个世界并不是友好而安全的世界,随着近日各种数据泄露出现以及各种有关隐私的事件发生,人们对于隐私安全问题愈加重视,本篇文章即面向于所有使用TG的朋友,祝哟介绍一些冲浪的小技巧和最最基本的注意事项,如果您是IT大佬,请忽略本篇文章内容并关闭标签页,如果想开喷请轻喷,提前感谢大佬的配合()。 关于 Te…

如何在国外网站上氪金——中行 跨境通卡 介绍

更新速览 22.1.26 非人哉、莫奈卡可网申上海分行版。 冬奥主题借记卡推出雪板异形卡。 Mora、DLsite、Pixiv 系(Booth、Fanbox 等)能够正常用卡。 根据水友 胖次 的留言提醒,Mora的乐天pay支付方式疑似404。 根据Selene Elsevier的反馈,修正了部分…