随笔分类 -  暑假训练

摘要:一、动态规划 动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决 明确状态和转移两个问题 二、例题 例一:数字三角形 有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数.13 24 10 14 3 2 2 阅读全文
posted @ 2020-08-16 00:04 Joelin12 阅读(1428) 评论(0) 推荐(0)
摘要:摘自于:https://www.cnblogs.com/Cnxz/p/12631021.html 二维数组的题目,N小于20的,适用DFS。而一般 N<= 200,N<=1000这种,一定不可能用DFS去做。而且并不只是整个题目不能用DFS,其中的每一步也不能使用DFS。 BFS的基本步骤 1.将初 阅读全文
posted @ 2020-08-14 10:41 Joelin12 阅读(142) 评论(0) 推荐(0)
摘要:0-1背包问题给定n个重量为w1w1​,w2w2​,w3w3​,…,wnwn​,价值为v1v1​,v2v2​,v3v3​,…,vnvn​的物品和容量为CC的背包,求这个物品中一个最有价值的子集,使得在满足背包的容量的前提下,包内的总价值最大 代码 #include<iostream>#include 阅读全文
posted @ 2020-07-26 14:35 Joelin12 阅读(230) 评论(0) 推荐(0)
摘要:标签: 1. memset是以字节为单位,初始化内存块。 int data[10] 比如memset(data,0,4*10==sizeof(data)); 2.memset对于char类型的数组可以将其初始化为任意一个单字符 char data[10] 比如memset(data,‘0‘ / ‘a 阅读全文
posted @ 2020-07-26 14:20 Joelin12 阅读(334) 评论(0) 推荐(0)
摘要:一、贪心算法 贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 [1] 。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择。也就是说,不从整体最优上加以考虑,做出的只是在某种意义上的局 阅读全文
posted @ 2020-07-23 21:54 Joelin12 阅读(324) 评论(0) 推荐(0)
摘要:一、BFS BFS,即为宽度优先搜索,思路是先搜索距离初始状态近的状态。按照初始状态->只需一次就可以到达的状态->只需两次就可以。。。。。。 宽度优先搜索采用了队列的思想 框架: 摘自:https://www.cnblogs.com/zhangchengbing/p/3210362.html 广度 阅读全文
posted @ 2020-07-22 21:36 Joelin12 阅读(213) 评论(0) 推荐(0)
摘要:深度优先搜索 一、特点 从最开始的状态出发,遍历所有能到达的地方,每个状态只会进行一次,通过递归的思想实现 模板:摘自于https://blog.csdn.net/qq_40511966/article/details/86539631 void dfs()//参数用来表示状态 ,参数可以是一个数n 阅读全文
posted @ 2020-07-21 00:01 Joelin12 阅读(194) 评论(0) 推荐(0)
摘要:题意 n张写有数字的卡片,有放回地抽4次; 存在4次的数字之和为m的方案输出Yes,否则输出No 注:本题用到了二分搜索,如果简化的话,algorithm库文件里有binary_search(a,a+n,num)函数,返回的是bool类型 思路 思路一:四重循环,暴力搜索,复杂度过高n的4次方 思路 阅读全文
posted @ 2020-07-20 22:39 Joelin12 阅读(137) 评论(0) 推荐(0)
摘要:AntsDescriptionAn army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm/s. When a walking ant reaches an end of th 阅读全文
posted @ 2020-07-20 21:12 Joelin12 阅读(194) 评论(0) 推荐(0)
摘要:题目描述:有n根棍子,棍子的长度为a,想要从中选出3根棍子组成周长尽可能长的三角形约束条件: 3<= n <= 100 1 <= ai <= 10^6 法一:暴力求解(做任何题首先想到的方法,因为三重循环,所以复杂度为n的3次方,因为n小于100,所以方法可行)(复杂度为nlogn) #includ 阅读全文
posted @ 2020-07-20 20:48 Joelin12 阅读(205) 评论(0) 推荐(0)