摘要:
【前言】 本人学习了一定时间的算法,主要精力都花在数学类的算法上面 而数学类的算法中,本人的大部分精力也花费在了数论算法上 此类算法相对抽象,证明过程比较复杂 网络上的博客有写得非常好的,但也有写得不明所以的 因此,本人特此开一个新的专题,专门负责讲解一些比较基础的数学类算法 但本人知识面也有限,部 阅读全文
摘要:
"题目" 本蒟蒻看到一道数学题,就顺手切了。感觉单单对这一题而言,部分评论区的大佬过于复杂了 【分析】 先讲讲拉格朗日插值法: 对于给定的 $(n+1)$ 个点,我们可以确定唯一的一个 至多$n$次 函数 $f(x)$ 这里简单解释一下为什么是唯一的至多 $n$ 次: 若给定 $(n+1)$ 个点, 阅读全文
摘要:
"题目" 单词具体是什么不重要,知道单词间如何转化即可 【分析】 先理清一下题意: 1. $n$个单词,每个单词限用两次 2. 上一个单词能与下一个单词接上,当且仅当上一个单词的末尾 $k$ 个字符与下一个单词开头的 $k$ 个字符完全相同 3. 给定开头,求最长字符串的长度 我们可以发现,如果我们 阅读全文
摘要:
"题目" 感觉大佬们的代码在读入上的处理比本蒟蒻优秀多了,于是,一个AFO蒟蒻弱弱地提出一下自己的看法 【分析】 首先,对于 $n$ 那么小,肯定是状压啦 对于读入,本蒟蒻开了两个数组来储存每个按钮的效果:$Open_i$ 和 $Close_i$ 分别表示在按下第 $i$ 个按钮后,它对于开着的开关 阅读全文
摘要:
"题目" 可能跟某位大佬有点类似,不过我的应该跑得比他快那么一点点......虽然应该没什么关系...... 【分析】 假设一个对于一个数 $N$ ,最高位为第 $n$ 位 那么,显然有 $2^n \leq N \leq 2^{n+1} 1$ (即第一位一定为 $1$ ,后面可能 $1$ ,可能 $ 阅读全文
摘要:
|作业描述|详情| | | | |这个作业属于哪个课程| "班级链接" | |这个作业要求在哪里| "作业要求" | |这个作业的目标|编程题:继续完成作业二的编程题。1. 优化架构,思考代码的拓展性,比如我需要增加其他功能,如选择,循环语句怎么办。2. 思考:可以参考现有的编程语言,把这些语言的内 阅读全文
摘要:
"题目" 这里给出非递归的 exgcd 做法 【基础】 ( 只需要非递归的同学麻烦跳过 ) 由于欧几里德算法 ( 又名辗转相除法 ) 可以帮助我们求出最大公约数,并且提出对于 $\forall a,b\in Z_+,gcd(a,b)|c$ 则 $ ax+by=c $ 一定有整数解 因此,在 $gcd 阅读全文
摘要:
"题目" 看到题解区很多人直接给出结论:答案为 $\displaystyle \sum_{i=1}^n\lfloor{n\over i}\rfloor$ ,没给出证明,这里给出证明 【分析】 首先,我们可以知道 $\displaystyle f(n)=\sum_{d\mid n}1$ 有的同学看不懂 阅读全文
摘要:
"题目" 这题挺简单的,没必要用数组 【分析】 需要判断的是低洼地的数量 通过对题目中图进行分析,显然可以发现低洼地的定义: 若数组中存在一个数值相同的连续区间,这个区间端点外相邻两点的数值都大于该区间的数值,则该区间为低洼地 有的朋友也许会觉得这个定义很麻烦,但有时候,定义是必须的 比如这题,如果 阅读全文
摘要:
介于这次可能要加入条件语句与判断语句,原本的架构可能无法支持 如果要使用原架构,则相当于在 World 类中增加方法,以后可延拓性不强 因此我需要重新考虑一个,可延拓性更强的架构 【思路】 === 首先,原本的三个库的基本形式还是要保证的,同时加上一定的优化: 变量库(VariableReposit 阅读全文