![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法导论
文章平均质量分 74
基友_Chen
又菜又爱分享的IT小白
展开
-
算法导论OJ-Vigenère 密码
算法导论OJ-Vigenère 密码一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述16 世纪法国外交家 Blaise de Vigenère 设计了一种多表密码加密算法——Vigenère 密码。Vigenère 密码的加密解密算法简单易用,且破译难度比较高,曾在美国南北战争中为南军所广泛使用。在密码学中,我们称需要加密的信息为明文,用 M表示;称加密后的信息为密文,用 C表示;而密钥是一种参数,是将明文转换为密文或将密文转换为明文的算法中原创 2021-11-09 16:27:33 · 110 阅读 · 0 评论 -
算法导论OJ-数据加密
算法导论OJ-数据加密一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据原创 2021-11-09 16:17:35 · 185 阅读 · 0 评论 -
算法导论OJ-汽车费用
算法导论OJ-汽车费用一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述一个特别的单行街道在每公里处有一个汽车站。顾客根据他们乘坐汽车的公里使来付费。例如下表就是一个费用的单子。没有一辆车子行驶超过10公里,一个顾客打算行驶n公里(1<=n<100),它可以通过无限次的换车来完成旅程。最后要求费用最少。2.输入第一行十个整数分别表示行走1到10公里的费用(<=500)。注意这些数并无实际的经济意义,即行驶10公里费用可能原创 2021-11-06 13:55:10 · 208 阅读 · 0 评论 -
算法导论OJ-哈夫曼编码
算法导论OJ-哈夫曼编码一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、代码一、原题目1.题目描述给定一只含有小写字母的字符串;输出其哈夫曼编码的长度2.输入第一行一个整数T,代表样例的个数,接下来T行,每行一个字符串,0<T<=2000,字符串长度0<L<=1500.3.输出对于每个字符串,输出其哈夫曼编码长度4.样例输入3hrvshlcxeasexdphiopdmntflolfbtbpplahqolqykrqdnwdoq原创 2021-11-06 13:42:09 · 283 阅读 · 0 评论 -
算法导论OJ-快速幂
算法导论OJ-快速幂一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、代码一、原题目1.题目描述给定f(x)f(x)f(x),求f(x)f(x)f(x)对100000007取余的结果,其中:f(x)=∑i=1xpow(i,i)+1f(x)=\sum_{i=1}^{x}pow(i,i) + 1f(x)=i=1∑xpow(i,i)+12.输入多组测试样例,最多50组。每组测试样例给定一个整数x(1<=x<=25000)3.输出对每个样例,输出一行,代表f(原创 2021-10-27 18:12:30 · 451 阅读 · 1 评论 -
算法导论OJ-沙子的质量[dp+前缀和]
算法导论OJ-沙子的质量[dp+前缀和]一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述设有N堆沙子排成一排,其编号为1,2,3,…,N(N< =300)。每堆沙子有一定的数量,可以用一个整数来描述,现在要将N堆沙子合并成为一堆,每次只能合并相邻的两堆,合并的代价为这两堆沙子的数量之和,合并后与这两堆沙子相邻的沙子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同,如有4堆沙子分别为1 3 5 2我们可以先合并1、2堆,代价为4,原创 2021-10-26 22:01:19 · 420 阅读 · 1 评论 -
算法导论OJ-最长公共子序列
算法导论OJ-最长公共子序列一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。2.输入第一行两个字符串用空格分开。两个串的长度均小于2000 。3.输出输出一个整数,最长子串的长度。4.样例输入abccd aecd5.样例输出3二、题目分析经典的最长公共子序列原创 2021-10-26 20:52:01 · 323 阅读 · 0 评论 -
算法导论OJ-锯木棒
算法导论OJ-锯木棒一、原题目1.题目描述2.输入3.输出4.样例输入5.样例输出二、题目分析三、代码一、原题目1.题目描述xiaok大佬最近再雇佣工人给他掰木棒。把一根长为L的木棒锯成两段,他需要支付给工人L元钱。xiaok大佬一开始只有长为L的一根木棒,他想把它锯成n段,每段长度分别为L1,L2,…,Ln,问xiaok大佬最少要付给工人多少钱?2.输入第一行两个整数n,L(1<n<103,n<L<109)第二行n个整数L1,L2,…,Ln(0<Li<L,且原创 2021-10-26 20:34:04 · 698 阅读 · 0 评论