文章
l
路漫漫其修远兮,吾将上下而求索
Where there is a will, there is a way
最优包含
【问题描述】
我们称一个字符串 S 包含字符串 T 是指 T 是 S 的一个子序列,即可以从字符串 S 中抽出若干字符,它们按原来的顺序组合成一个新的字符串与 T 完全一样。
给定两个字符串 S 和 T,请问最少修改 S 中的多少个字符,能使 S 包含 T?
【输入形式】
输入两行,每行一个字符串。
第一行的字符串为 S,第二行的字符串为 T。两个字符串均为非空而且只包含大写英文字母。
【输出形式】
输出一个整数,表示答案。
【样例输入】12ABCDEABCDXAABZ
【样例输出】13
【评分标准】
对于 20% 的评测用例,1 ≤ |T| ≤ |S| ≤ 20;
对于 40% 的评测用例,1 ≤ |T| ≤ |S| ≤ 100;
对于所有评测用例,1 ≤ |T| ≤ |S| ≤ 1000。
123456789101112131415161718192021222324252627282930313233343536373839404142434445import java.util.*;public class Main { public static ...
网络延时
【问题描述】
给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。 当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑之间传递消息、或者电脑与交换机之间传递消息、或者交换机与交换机之间传递消息最多需要多少步。
【输入形式】
输入的第一行包含两个整数n, m,分别表示交换机的台数和终端电脑的台数。 第二行包含n - 1个整数,分别表示第2、3、……、n台交换机所连接的比自己上一层的交换机的编号。第i台交换机所连接的上一层的交换机编号一定比自己的编号小。 第三行包含m个整数,分别表示第1、2、……、m台终端电脑所连接的交换机的编号。
【输出形式】
输出一个整数,表示消息传递最多需要的步数。
【样例输入】
4 2 1 1 3 2 1
【样例输出】
4
【样例说明】
样例的网络连接模式 ...
路径规划
【问题描述】
G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。 建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,而且从所有城市乘坐高速铁路到首都的最短路程和原来一样长。请你告诉G国国王在这些条件下最少要改造多长的铁路。
【输入形式】
输入的第一行包含两个整数n, m,分别表示G国城市的数量和城市间铁路的数量。所有的城市由1到n编号,首都为1号。 接下来m行,每行三个整数a, b, c,表示城市a和城市b之间有一条长度为c的双向铁路。这条铁路不会经过a和b以外的城市。
【输出形式】
输出一行,表示在满足条件的情况下最少要改造的铁路长度。
【样例输入】
4 5 1 2 4 1 3 5 2 3 2 2 4 3 3 4 2
【样例输出】
11
【样例说明】
对于20%的评测用例,1 ≤ n ≤ 10,1 ≤ m ≤ 50; 对于50%的评测用例,1 ...
merkleTree-2024-08-20-08-20
概述该论文介绍了一种创新的方法,即通过自适应重构Merkle树来增强区块链的可扩展性。Merkle树是区块链体系结构的基本组成部分,负责确保数据完整性并促进高效的验证过程。传统的静态树结构存在可扩展性问题,尤其是当区块链网络需要处理大量的交易时。
论文提出了自适应的Merkle树模型,该模型可以基于使用模式动态调整树的配置,从而显著减少平均路径长度,降低计算开销。研究展示了适用于二叉和非二叉树的自适应重构方法,并通过基于以太坊区块链的实验验证了这种方法的有效性,结果表明与传统Merkle树相比,自适应Merkle树在重构初期的效率提升达到了30%以上。
方法借鉴哈夫曼树的优化方法,将使用频率较低的数据放到路径较长的叶子节点中。
平衡的Merkle树的平均路径长度k=log_mnm表示每个节点允许的最大子节点数(度);
自适应Merkle树的平均路径长度反映了霍夫曼码的平均长度,计算为所有码长的加权和,对应符号的概率作为权重
k_A = \sum_{i=1}^n{p_i}*{l_i}p是第i个符号出现的概率,l是第i个符号的编码长度。
由香农熵公式,给定特定概率分布的霍夫曼码的理论最小平 ...
paperRead
Certificate-based multi-copy cloud storage auditing supporting data dynamics这篇文章针对当前多副本云存储审计的不足,提出了一种支持数据动态更新、基于证书的多副本云存储审计方案,旨在解决数据完整性验证中的多项挑战,如复杂的证书管理、密钥托管问题,以及抵御复制总和攻击。
研究背景与问题随着云计算技术的发展,用户将数据存储在云端以应对本地存储的限制。然而,云存储环境下,数据的完整性和可用性成为了关键问题,因为存储在云中的数据可能由于硬件故障、恶意攻击等原因而丢失或损坏,甚至云服务提供商也可能因恶意行为删除用户不常访问的数据。这种情况下,用户难以发现数据的损坏,因此,保证数据的完整性和安全性变得至关重要。
为了保证数据的完整性,Provable Data Possession (PDP) 方案被提出,用户可以在无需下载完整数据的情况下验证云中存储的数据完整性。随后的研究进一步提出了基于 PDP 的云存储审计方案,涉及数据隐私保护、用户撤销、数据去重和数据传输等多个问题。然而,多数方案仅存储单一副本,一旦数据丢失便无法恢 ...
blockchain
基于堆栈的语言,比如forth:示例代码
以Forth为例,展示一个简单的加法操作:
13 4 + .
上述代码的解释是:
将数字3推入堆栈。
将数字4推入堆栈。
执行加法操作,将堆栈顶部的两个数字相加,并将结果(7)推回堆栈。
. 操作符从堆栈中取出并打印结果。
图灵不完备 比特币交易脚本语言包含许多运算符,但在一个重要方面有意限制——它没有循环或复杂的流程控制能力,除了条件流程控制。这确保了该语言不是图灵完备的,也就是说,脚本具有有限的复杂性和可预测的执行时间。
图灵完备 图灵完备是指在可计算性理论里,如果一系列操作数据的规则(如指令集、编程语言、细胞自动机)按照一定的顺序,可以计算出结果 在给定无限内存的情况下,以太坊可以计算任何图灵机可以计算的算法。” 图灵完备带来运算方便性的同时,也带来安全和资源管理问题。“陷入死循环的打印机可以关闭并再次打开,但是这对于公共区块链却是不可能的”。ETH通过gas机制在保证图灵完备的的同时,限制了程序可以使用的资源量。
比特币中输入和输出的理解 比特币中输入和输出,其主语(对象)是一个交易(TX)
UTXO(Unspent T ...
深度学习预测前置知识
解析解:
解可以用一个公式简单地表达出来, 这类解叫作解析解(analytical solution)
梯度下降:
它通过不断地在损失函数递减的方向上更新参数来降低误差。
梯度下降最简单的用法是计算损失函数(数据集中所有样本的损失均值) 关于模型参数的导数(在这里也可以称为梯度)
泛化(generalization):
找到一组参数,这组参数能够在我们从未见过的数据上实现较低的损失
超参数:
这些可以调整但不在训练过程中更新的参数称为超参数(hyperparameter)
调参(hyperparameter tuning)是选择超参数的过程
random.shuffle():
在训练机器学习模型时,经常会对数据进行随机打乱的操作。这有助于模型学习更好地泛化,因为模型不会过于依赖于特定的样本顺序。通过随机打乱数据,模型在每个批次中都能够看到不同的样本,从而更好地学习数据的分布和模式。
归一化,标准化:
sigmoid函数:
f(x) = 1/(1+e^-x)
现阶段主流的股价预测模型1.ARIMA模型ARIMA模 ...
nonlocal解释
nonlocal global对nonlocal 关键字感到有些困惑,上手实践一下
Definition:
The nonlocal keyword is used to work with variables inside nested functions, where the variable should not belong to the inner function.
Use the keyword nonlocal to declare that the variable is not local.
1234567891011121314count = "Global"def a(): count = 'Enclosing'#如果不事先声明,那么函数b中的nonlocal就会报错 def b(): nonlocal count print(count) count = 'Local' b() print(count)if __name__ == ...
Bayes
贝叶斯算法是一类基于贝叶斯定理的统计方法,用于进行概率推断和分类任务。它以18世纪的英国数学家托马斯·贝叶斯的名字命名。贝叶斯算法的核心思想是利用先验概率和观测数据来计算后验概率,从而进行推断或分类。
下面是贝叶斯算法的基本原理和步骤:
贝叶斯定理:贝叶斯定理描述了在给定观测数据的情况下,计算参数的后验概率。其数学表达式为:
其中:
先验概率:在贝叶斯推断中,先验概率是在观测数据之前对事件发生概率的估计。它是根据经验知识或先前的数据进行估计的。
似然度:似然度是在给定参数或假设的情况下观测到数据的概率。它描述了数据如何依赖于参数或假设。
后验概率:后验概率是在观测到数据后对参数或假设的更新概率。它是通过贝叶斯定理计算得到的。
贝叶斯分类器:在分类任务中,贝叶斯算法可以用来建立分类模型。通过估计每个类别的先验概率和似然度,可以计算出给定观测数据后每个类别的后验概率,并选择具有最高后验概率的类别作为预测结果。
贝叶斯网络:贝叶斯网络是一种用图形表示变量之间条件依赖关系的概率图模型。它由节点和有向边组成,节点表示随机变量,有向边表示变量之间的依赖关系。贝叶斯网络可以用于推断概 ...