摘要:概述 嗯……背包问题是什么? 背包问题,是动态规划问题中的典型的一类。顾名思义,是跟背包有关的问题(竟然和名字有关,爷青结)。 大概就是讲背包空间有限,怎样合理地装物品可以让总价值最高的问题。 其实也不是非常难。 本文讲哪几类? 背包问题的主要难点也就在于种类繁多,需要记忆各种递推公式、循环结构。 阅读全文
posted @ 2020-05-22 21:43 LikiBlaze 阅读(112) 评论(1) 推荐(1) 编辑
摘要:题目: 题目背景 今天大家返校参加考试,本来信心满满以为能拿400分……自己再提交一下试试吧! 题目描述 又考试了,这次考试的人数特别多,每个人的学号很特别,是用字符串表示的(不超过 30 位),每次考试结束后,成绩统计是一件很重要的事情。 老师们都很关心学生的成绩,于是他们把学生的成绩按学号排列( 阅读全文
posted @ 2020-05-17 17:22 LikiBlaze 阅读(11) 评论(1) 推荐(0) 编辑
摘要:前言 运算符重载是怎么回事呢?运算符相信大家都很熟悉,但是运算符重载是怎么回事呢,下面就让小编带大家一起了解吧。 运算符重载,其实就是重载运算符,大家可能会很惊讶运算符怎么会重载呢?但事实就是这样,小编也感到非常惊讶。 这就是关于运算符重载的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦! 阅读全文
posted @ 2020-04-25 22:00 LikiBlaze 阅读(27) 评论(0) 推荐(0) 编辑
摘要:题目 问题描述 离散化就是把无限空间(或非常大的空间)中有限的个体映射到有限的空间(较小空间)中去,以此提高算法的时空效率。通俗的说,离散化就是在不改变数据相对大小的条件下,对数据进行相应的缩小。 栗子 原始数据:8 999 91 100000 0000 15 999 91 。离散化后:1 3 4 阅读全文
posted @ 2020-04-18 15:38 LikiBlaze 阅读(25) 评论(0) 推荐(0) 编辑
摘要:Floyd算法 使用条件 可以求出多源最短路,可以处理负权边的情况,但是不能出现负环。 时间复杂度 O(n3) 讲解 Floyed算法使用的是动态规划的方法。 我们首先观察上图。 我们来想一想,根据我们以往的经验,如果要让任意两点(例如从顶点a点到顶点b)之间的路程变短,只能引入第三个点(顶点k), 阅读全文
posted @ 2020-04-18 08:28 LikiBlaze 阅读(53) 评论(0) 推荐(0) 编辑
摘要:莫比乌斯反演相关 莫比乌斯函数 狄利克雷卷积 设f(n)、g(n)是两个数论函数,它们的狄利克雷乘积也是一个数论函数,其定义为: 简记为h(n)=f(n)*g(n)。 函数f(n)与g(n)的狄利克雷乘积也可以表示为 常用狄利克雷卷积 1. ,即 2. ,其中N(n)=n,即 3. ,其中N(n)= 阅读全文
posted @ 2020-03-15 21:25 LikiBlaze 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、高精度计算 这一次课程主要讲了高精度加、减、乘。 首先,定义一个高精度的结构体,储存这个数字的长度、和这个数字本身。 1 struct gaojing 2 { 3 int n,z[2333]; 4 5 gaojing() 6 { 7 n=1; 8 memset(z,0,sizeof(z)); 9 阅读全文
posted @ 2020-03-09 17:40 LikiBlaze 阅读(61) 评论(0) 推荐(0) 编辑
摘要:这个题其实很简单,简单分析一下规律,发现发f[i]=f[i-1]+f[i-2]。 如下图: 程序: 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int n,i,j,a[101]; 6 cin>>n; 7 a[1]=1; 阅读全文
posted @ 2020-03-03 09:52 LikiBlaze 阅读(26) 评论(0) 推荐(0) 编辑
摘要:P1217 [USACO1.5]回文质数 Prime Palindromes 提交142.57k 通过30.21k 时间限制1.00s 内存限制125.00MB 提交代码加入收藏 题目提供者FarmerJohn2 难度 普及- 历史分数 100 提交记录 查看题解 标签 搜索 USACO 高性能 题 阅读全文
posted @ 2020-02-06 10:22 LikiBlaze 阅读(57) 评论(0) 推荐(1) 编辑
摘要:首先是string: 定义: 1 string str; 读取: 1 getline(cin,str);//读取一行 获取长度: 1 len=str.size; 粘贴: 1 str1=str.substr(2,len-1)//把str的第三位到最后一位粘贴到str1 计算: 1 str1+=str/ 阅读全文
posted @ 2020-01-30 12:52 LikiBlaze 阅读(28) 评论(0) 推荐(0) 编辑