- 2024-11-21枚举子集的方法
可能在状压dp中运用的会比较多——首先直接看代码(再来解释):for(intj=st,t;j;j=(j-1)&st)t=st^j;其中,st是枚举的集合,j是子集,t是j对于st的补集。但是要注意这个办法没有枚举空集,需要自行处理。考虑证明一下:我们分三步,分别证明正确性、不重、不漏:正确性由于这个j=(j-1)&st,所
- 2024-11-15[笔记]Dijkstra算法正确性证明
最近做了一些题,感觉对算法更深刻的理解是比套板子更深层次的,在这个层次上解决问题,思路会更加清晰。比如P5687[CSP-S2019江西]网格图(题解)这道题就是网格图的最小生成树,解法就建立在普通Kruskal的基础上,当时想了挺久也没想出来,看了题解才豁然开朗。所以各算法总是要回顾回顾的~
- 2024-09-03宝藏
这里主要讲一下蓝书法一的等效方法的正确性。假设我们已经知道了最终的答案的树的样子,设为\(T\),设高度为\(h\),则答案为\(f[h,(1<<n)-1]\);设高度为\(h\)的节点集合为\(S\),那么我们可以知道,在\(T\)中删掉\(S\)中的节点得到的新树的\(T_1\)的代价就等于\(f[h-1,(1<<n)-1-S]\),如若不然
- 2024-08-27135. 分发糖果(leetcode)
https://leetcode.cn/problems/candy/description/贪心,策略是确定一侧的正确性,再确定另一侧的正确性,最后综合作为正确答案,其中先确定一侧的正确性是局部最优,确定两侧的正确性的局部最优,且找不到反例就可以推出全局最优答案classSolution{publicintcandy(int[]ra
- 2024-08-10Dijkstra 算法正确性证明
Dijkstra正确性证明Dijkstra算法的本质如果你有思考“为什么”的习惯,就一定会发现,Dijkstra的本质就是动态规划+BFS。松弛操作实际上就类似于动态规划中的状态更新。设\(f(u)\)为\(s\)至\(u\)的最短路径(\(s\)为源点,下文同)。显然,状态转移方程为:\[f(u)=min_{v\infat
- 2024-07-20零知识证明过程中秘密的正确性怎么验证:挑战空间C和一个输出空间Y或z是否在某个合理的范围内
目录零知识证明过程中秘密的正确性怎么验证:挑战空间C和一个输出空间Y或z是否在某个合理的范围内简化的“证明”过程注意事项零知识证明过程中秘密的正确性怎么验证一、零知识证明的基本原理二、秘密的正确性验证方法三、具体实现方式四、高权威来源信息非交互式证明
- 2024-07-16消息的幂等性如何保证在高并发场景下的正确性
在高并发场景下保证消息幂等性的正确性,可以考虑以下几个方面:1.优化数据存储和查询:使用高效的数据库索引,以便快速查找和判断消息是否已经处理。对于频繁的查询操作,可以考虑使用缓存来加速,例如Redis等。比如,在数据库中为消息的唯一标识符创建索引,提高查询速度。如果使用
- 2024-05-26Codeforces Round 947 (Div. 1 + Div. 2)
Solve:A~ERank:425Rating:\(1744+195=1939\)(\(1894+95=1989\))发挥评价:Normal本场问题:E先WAon4,较快找出问题后修改WAon27,就又急了(重现上午),开始怀疑做法正确性未果,结果1h后才发现是代码出现问题。注意先检查代码漏洞而不是先怀疑正确性(尤其是错在后面时候,要是正
- 2024-05-16面向正确性与健壮性的软件构造
ConstructionforRobustness&Correctness面向正确性与健壮性的软件构造概念正确性:对正确的输出返回正确的结果健壮性:对扯淡不合规的输入有正常合理的表现(报错、提示等)量化标准Java中的Error与Exception对Exception的处理定义分类Checked与Unchecked的Exceptionthrow
- 2024-05-06测试分类
单元测试:针对程序的最小单元来进行正确性检验的测试工作,包括类、方法等。(严格来说,单元测试只针对【功能点】进行测试,不包括对业务流程正确性的测试)功能测试/接口测试:测试接口的功能是否正确。【接口,输入输出】端到端测试:模拟真实用户的请求(客户端--服务端),测试应用的整体链路是否
- 2024-04-02- 工程实践 - 《高并发系统正确性保障 - 锁的范式》
本文属于专栏《构建工业级QPS百万级服务》系列简介-CSDN博客 “锁”,在新华字段的解释是“加在门、箱子、抽屉等物体上的封缄器,要用专用的钥匙才能打开”。在计算机领域,可以抽象为:主体A,在物品W上,附加物品S(锁),让其他主体不能完整地使用。
- 2024-03-10第一篇博客
第一篇博客目录目录第一篇博客目录基本信息自我评估展望未来3.13.2未来职业规划3.3对软件工程实践的理解和期待4学习路线5建立代码仓库基本信息这篇博客是软件工程作业班级链接作业要求作业要求作业的目标介绍自己以及规划未来其他参考文献构建之法社区
- 2024-02-202024.2.20闲话——luogu5021随机选取边的正确性
推歌:生きる(feat.可不)——水野あつ这首歌听完之后接着转去咖喱乌冬了,歌词甚至能接上,没绷住。刚刚写证明中间把wxy的杯子碰倒洒键盘上了,抢救键盘的过程中碰到缝就有水,有点涩。但是这个键盘里面怎么这么脏啊?下面来证luogu5021在菊花树中以任何顺序选取边并采取贪心策略的
- 2024-02-08买还是建
这一道题目,我们看到\(q\)非常小,所以可以尝试从\(q\)入手对每种组合,我们想要求出必须选择这些组合的MST,也即“含有必须边的MST”(尽管现在还不清楚每个组合的边是什么,下文会说)这种情况跟陈立杰出的那道“tree”非常像,我们只用把必须边的边权缩小放到前面然后跑Kruscal即可那为
- 2023-12-10运行时锁定正确性验证器 【ChatGPT】
https://www.kernel.org/doc/html/v6.6/locking/lockdep-design.html锁类该验证器操作的基本对象是“锁”的“类”。“锁”的“类”是一组逻辑上相同的锁,即使这些锁可能有多个(可能有成千上万个)实例化。例如,inode结构中的锁是一个类,而每个inode都有自己的该锁类的实例化。验
- 2023-12-05Floyd归纳断言法验证程序部分正确性
1.设断点一般我们会在如下位置设置断点:(1)程序开始处(2)程序结束处(3)循环主干处2.建断言(1)开始处A:一般为题干的要求,写为 (2)结束处C:一般为输出结果z,写为 (3)循环主干处:(写为)此处断言最为难建立,一般
- 2023-11-22推箱子保证单调性的正确性
如果保证了单调性,那么一个状态在出队的时候,一定是这个状态的最优情况反证,如果不是最优情况,那么肯定存在一个状态A,A能到达这个状态且会让这个状态变优由于这个状态变优了,要么就是箱子移动的步数少了,要么就是箱子移动的步数是一样的但人移动的步数少了然后这个更优的状态是由A移
- 2023-11-16区间树上查找所有与给定区间相交的区间-算法复杂度正确性证明
区间树是在平衡树上维护的数据结构,按照左端点大小排序。详见《算法导论》。算法设计思路红黑树的拓展在红黑树上维护结点属性\(min,max\):\(min\)表示该结点及其所有后代结点中的区间低端的最小值。\(max\)表示该结点及其所有后代结点中的区间高端的最大值。在插入时,对结点
- 2023-11-03关于期望相关证明的技巧
1、线性性E(x+y)=E(x)+E(y)这是最基础的,可以用组合的想法理解,本质就是所谓的“拆开计数”这里最强大的一点在于,不要求变量之间的独立性,以下2个例子都展示了这一点。2、如果式子是求和,则可以考虑在每一个情况上证明式子的正确性,从而说明期望整体的正确性。(要求情况之间,和情
- 2023-10-24狄杰斯特拉正确性的一点理解
把之前不求甚解的地方补上,顺带一提,最小生成树的prim算法和狄杰斯特拉基本一模一样 狄杰斯特拉算法其实和红黑树有点像,两者都是先弄出一个具有某种性质的集合,接着不断向这个集合中插入元素并进行维护,以确保这个集合一直满足某种性质,直到所有需要处理的元素都在这个集合中,自然也
- 2023-08-29Kafka - 不仅是消息引擎,还是分布式流处理平台
如果你通读全篇文字但只能记住一句话,我希望你记住的就是这句ApacheKafka是消息引擎系统,也是一个分布式流处理平台(DistributedStreamingPlatform) 作为流处理平台,Kafka与其他主流大数据流式计算框架相比,优势在哪里呢?我能想到的有两点。第一点是更容易实现端到端的正
- 2023-08-21 php 如何实现检测nginx配置的正确性
在Web服务器的搭建过程中,Nginx是一款非常流行的开源软件,它能够快速、高效地处理HTTP请求。为了保证Nginx服务器的稳定性和安全性,我们需要定期检测Nginx配置文件的正确性,以便及时发现并解决问题。本文将介绍如何使用PHP实现检测nginx配置的正确性。安装php-fpm首先需要安装php-fpm,它
- 2023-08-1120230810巴蜀暑期集训测试总结
T1考场打的是一个伪正解(没正确性的那种),评测的时候发现有subtask人都给我吓傻了,还好还有\(50pts\)。就是不知道为什么zxc和我思路一样但是有\(85\)pts。这个正解确实有点难想,而且证明正确性也比较困难。关于题解的正确性:若\(a\)的逆元不是本身。那么如果\(a^{-1}\)
- 2023-07-30数据结构基础
逻辑结构和物理结构记录一下最近开始学习的数据结构与算法逻辑结构是指数据对象中数据元素之间的相互关系。集合结构集合结构中数据元素,除了都属于一个集合外,无其它关系线性结构数据元素之间是一对一的关系树形结构数据元素之间存在一对多的关系圆形结构数据元素存在多对多的关系物
- 2023-07-0516净室软件工程
净室软件工程是软件通过形式方法进行分析设计,并强调统计正确性验证替代测试的方法来交付软件,为了避免人为的错误。技术手段有:控制迭代:统计过程控制下的增量式开发盒子结构:黑盒、状态盒、明盒。行为视图、有限状态机视图、过程视图正确性验证:净室工程的核心统计测试和软件认证