随笔分类 - 3_算法和数据结构
摘要:递归--练习2--noi6261汉诺塔 一、心得 先把递推公式写出来,会很简单的 二、题目 6261:汉诺塔问题 6261:汉诺塔问题 总时间限制: 1000ms 内存限制: 65536kB描述 约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串
阅读全文
摘要:递归--练习1--noi3089爬楼梯 一、心得 根据输入,是要写连续输入多个值的程序 二、题目 3089:爬楼梯 3089:爬楼梯 总时间限制: 1000ms 内存限制: 65536kB描述 树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数例如:楼梯一共有3级,他可以每次都走
阅读全文
摘要:动态规划7--方盒游戏 一、心得 直接根据问题写状态如果不能写出状态转移方程,就多维(细化),直至能够写出状态转移方程。 二、题目和分析 题意:N个方盒(box)摆成一排,每个方盒有自己的颜色。连续摆放的同颜色方盒构成一个方盒片段(box segment)。下图中共有四个方盒片段,每个方盒片段分别有
阅读全文
摘要:深搜1--城堡问题 一、心得 这个题目的栈实现可以看一看 也是很基础的迷宫问题,也就是一个深搜 二、题目及分析 三、代码及结果 递归 栈实现
阅读全文
摘要:基础3--抽屉原理 一、心得 二、题目及分析 三、解答 11题我只有把白色和黑色拿完了,我才能确保我拿到两只棕色的袜子所以答案是12+18+2=32 12题可以看出每次是拿一双袜子,每次拿出的袜子必然是白黑棕里面的一种,可以把这三种情况看出三个抽屉把问题抽象为在这三个抽屉里面放袜子,使得任意一个抽屉
阅读全文
摘要:基础2--求五位数中的递减数 一、心得 二、题目 三、代码及结果 数学解法: c(10,5)=252 从十个数中选5个出来组成一个数就会符合题目要求 代码解法: 代码一: 代码二:
阅读全文
摘要:动态规划6-最长上升子序列 一、心得 二、题目及分析 这里主要不是讲最长上升子序列怎么求这里主要讲“我为人人”和“人人为我”这两种递推思路,思路还有一种记忆性递归 问题描述 一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, .
阅读全文
摘要:高精度2--减法 一、心得 其实自己写之后会发现自己的思想和那些人给的思想差不多 自己先写然后再对照区看那些代码效果会好很多 /* 1、相等置为0,小置为-1,大为1 2、我的代码输出那里需要考虑两数相等,也就是a[0]==0的情况 3、小于的情况用 则用a=b-a,返回-1,则不需要交换a,b 4
阅读全文
摘要:基础1--求一个数的最大质因数 一、心得 二、代码及结果
阅读全文
摘要:递归1--二分查找 一、心得 递归的时候注意返回值,返回的时候是返回到上一层 二、代码及结果
阅读全文
摘要:递推3--位数问题 一、心得 问题想清楚 注意边界 二、题目及分析 三、代码及结果 方法一:排列组合 方法二、递推
阅读全文
摘要:高精度1--加法 一、心得 自己写的东西才是自己的,看一百遍都不一定看得会 //没有考虑到输出的时候a[0]是0的情况 //边界情况多多考虑 二、题目及分析 计算12345678987755+4324324324 /*高精度加法:模拟手算 1、初始化:数组和倒序2、加:相加和进位3、输出:倒序 */
阅读全文
摘要:递推2--过河卒(Noip2002) 一、心得 写出递推公式就OK了,具体编程还是很简单的 二、题目及分析 过河卒(NOIp2002) 【问题描述】 棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方
阅读全文
摘要:递推1--兔子问题 一、心得 推出部分实例 仔细分析递推公式,递推公式如果印合实例,那就对了 有了递推公式,编程很简单。 当xyz都是1的时候,f(n)=f(n-1)+f(n-2) 仔细分析,想清楚了就好,想清楚了,就简单了 二、题目代码及结果
阅读全文
摘要:C++STL3--queue 一、心得 STL的这些东西用法都差不多 二、介绍 queue数据结构中的队列 priority_queue优先队列,插入进去的元素都会从大到小排好序 PS:在priority_queue<ll, vector<ll>, greater<ll> > pq;中 第一个参数为
阅读全文
摘要:C++STL2--map 一、心得 本质上就是数组,关联数组,map就是键到值得一个映射,并且重载了[]符号,所以可以像数组一样用。 map<string,int> cnt;//前键后值,键就可以理解为索引 if(!cnt.count(r)) cnt[r]=0;//统计键值出现过没有 二、用法 1
阅读全文
摘要:动态规划5--滑雪 一、心得 找路径时,递推的方法和递归一样,也是知道递推表达式之后就特别好写了也是直接把递推表达式写进循环里面就好了递推和递推写法的区别:递归是调用的系统栈,递推没有调用栈,其它一模一样了 二、题目和分析 滑雪:Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得
阅读全文
摘要:动态规划4--最佳加法表达式 一、心得 心得:动态规划因为有递推表达式,所以一定可以写成递推和递归两种写法。因为递推一定可以写成递归。 区别两种问题: 在10个数字中放任意个加号使得组成的表达式的和最小。状态转移方程:将m个加号插入到n个数字组成的数字串中V(m,n) 表示将m个加号插入到n个数字组
阅读全文
摘要:C++STL1--set 一、说明 set的用法:单一元素,自动排序set的方法:用编译器的提示功能即可,不需要自己记 二、简单测试 结果说明:重复元素只存储一次,像3和8 并且会默认从小到大排序 三、实例 安迪的第一个字典题目: 输入一个文本,找出所有不同的单词(连续的最序列),按字典序从小到大输
阅读全文
摘要:二分检索函数lower_bound()和upper_bound() 一、说明 头文件:<algorithm> 二分检索函数lower_bound()和upper_bound() lower_bound():找到大于等于某值的第一次出现upper_bound():找到大于某值的第一次出现必须从小到大排
阅读全文

浙公网安备 33010602011771号