蓝桥杯15届Java-A组吊坠题目解析
当时考蓝桥杯(java)的时候,也没怎么学过算法,一看这道题涉及到了图论,直接就放弃了。现在回过头来学了下,写个解析。 题目 小蓝想制作一个吊坠,他手上有 n 个长度为 m 的首尾相连的环形字符串{s1, s2, · · · , sn} ,他想用 n − 1 条边将这 n 个字符串连接起来做成吊坠,要求所有的字符串连完后形成一个整体。连接两个字符串 si, sj 的边的边权为这两个字符串的最长公共子串的长度(可以按环形旋转改变起始位置,但不能翻转),小蓝希望连完后的这 n − 1 条边的边权和最大,这样的吊坠他觉得最好看,请计算最大的边权和是多少。 分析 这道题涉及到两个问题 这很显然是一个涉及到图论的问题,可以采用与最小生成树类似的算法 对于两个节点,它们之间的边权的计算 边权计算 采用动态规划来计算 1234567891011121314static int similarity(String a, String b) { a=a+a;//由于首尾相连,等效于将本身内容复制一遍再求最长公共子串 int[][] dp=new...
c++UI库slint上手体验
首先这个玩意需要安装Rust开发环境 https://www.rust-lang.org/learn/get-started 然后需要Rust的某个工具链 1rustup target add --toolchain stable-x86_64-pc-windows-msvc x86_64-pc-windows-gnu 但是这玩意在国内由于网络原因根本动不了,所以先要为Rustup设置镜像仓库 可以参考下文设置环境变量 https://www.jianshu.com/p/876b1cca26d8 弄好之后,运行cmake就好了 体验感受 遗憾 没有多窗口支持 由于界面脚本与程序不同,接口都需要从UI暴露出来 缺少路由等支持
MC红石三极管
使用网上的传统三极管设计有一个缺陷,当被控制电路频率过高时,三极管无法导通。 使用传统三极管非常不稳定 但是使用红石中继器+粘性活塞就非常稳定了 于是我就用这玩意做了一个可变频的折磨🐏的。。(x
RAID0阵列重组数据恢复
本文采用DiskGenius作为主要工具 注意:似乎只有DiskGenius专业版有此功能 Step1 将所有磁盘连接电脑 step2 Attention:一定要保证磁盘的添加顺序正确,块大小设置正确 根据经验,似乎当磁盘顺序调整正确时能够识别到损坏的分区,这时候再不断调整块大小,在设置正确后就能看到全部文件 Step3 使用DiskGenius自带的分区备份功能即可备份该分区上的文件,或者直接拷贝文件也行(速度有点慢) 参考资料 DiskGenius Doc-RAID数据恢复
定积分中值定理
注:这是我的数学期末报告,发这里算了 课本的不严谨 正如何老师所言,课本上的定积分中值定理是不严谨的。 课本上的定理描述如下: 对于在[min(a,b),max(a,b)]上的连续函数f(x)有∫abf(x)dx=f(ξ)(b−a),ξ∈[min(a,b),max(a,b)]\begin{aligned} &对于在 [\min(a,b) ,\max(a,b)]上的连续函数f(x)\\ &有\int_a^b f(x)dx=f(\xi)(b-a),\xi \in [\min(a,b) ,\max(a,b)] \end{aligned} 对于在[min(a,b),max(a,b)]上的连续函数f(x)有∫abf(x)dx=f(ξ)(b−a),ξ∈[min(a,b),max(a,b)] 上述定理中的ξ\xiξ并不能称作中值,因为它取到了边界值。若要将其称作中值,应当将其范围限制在开区间(min(a,b),max(a,b))(\min(a,b)...
英语7选5乱蒙(不重复),全错的概率
英语七选五乱蒙,当然是不重复地蒙。 求这个概率,最容易想到的当然是穷举法,但是七选五的穷举要求不重复,那么,使用递归来求解是一个不错的解决方案 本文主要使用python来实现 首先计算所有情况的总数 1all=7*6*5*4*3 定义递归函数f(list),这个函数的作用就是选择一个答案并且保证这个答案与相应的正确答案不同,其中输入参数list代表之前的选择情况。 我们不妨记正确答案为[1,2,3,4,5]。 如果列表长度已经达到了5,那么就说明选完了,将allIncorrect自增。 否则,挨个尝试选1~7,记作next,并且要使这个值不能是正确答案next!=len(list)+1,也不能重复出现next not in list,之后将list复制一份,添加next到末尾,继续调用f(list)。 1234567891011def f(list): global allIncorrect if len(list)==5: allIncorrect+=1 return for next in...
小结不定积分
此篇文章尚未写完 总体思路 换元法1 应当注意整体: d(sin2x)=2sinx dsinx=2sinxcosx dxd(\sin^2x)=2\sin x\ d\sin x=2\sin x \cos x \ dxd(sin2x)=2sinx dsinx=2sinxcosx dx 换元法2 万能代换(三角函数->有理函数)u=tanx2:sinx=2u1+u2,cosx=1−u21+u2,dx=2du1+u2u=\tan \frac{x}{2}:\sin x=\frac{2u}{1+u^2},\cos...
将Blazor-WASM-APP迁移到.Net8.0
1 首先,要更改TargetFramework 1<TargetFramework>net8.0</TargetFramework> 2 然后在Nuget包管理器中升级 3 最后,最重要的 右键点击Blazor项目,点击清理,不然网页无法正常显示 参考资料 How to migrate your Blazor Server app to .NET 8 Github Issue