
算法设计
文章平均质量分 88
锁麟囊——这是老天爷给我的一番教训
这个作者很懒,什么都没留下…
展开
-
动态规划——机器分配、01背包问题
总公司有n个分公司,现在有m台设备可以分配给这些分公司。每个分公司i如果得到j台设备,会产生一定的盈利a[i][j]。任务是找到一个分配方案,使得所有分公司获得的盈利总和最大。我们定义一个二维数组f,其中f[i][j]表示前i个分公司分配j台设备时的最大盈利。注意,这里我们是从1开始索引的,所以f[1][0]表示第一个分公司没有分配到设备时的盈利(通常是0,因为没有设备就没有盈利)。原创 2024-12-06 08:00:00 · 1216 阅读 · 0 评论 -
深度优先——八皇后
皇后串的比较是基于整数的比较,这意味着我们可以将皇后串视为一个八位数(每位都是0到7之间的数字),并按照整数的自然顺序进行比较。在这个问题中,由于只有8行和8列,且每行只能放置一个皇后,因此解决方案的数量是有限的(92组解),这使得DFS成为了一个可行的解决方案。例如(1,1)、(2,2)、(3,3)...(8,8)代表最长的从左上至右下的对角线。在一个8x8的棋盘上,副对角线上的元素满足行号和列号之和为常数。例如(1,8)、(2,7)、(3,6)...(8,1)代表最长的从右上至左下的对角线。原创 2024-12-05 07:15:00 · 2413 阅读 · 0 评论 -
贪心思想——拦截导弹系统、装箱问题、活动选择
某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统,但是这种拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段。导弹依次飞来的高度(雷达给出的高度不大于30000的正整数)。贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。输入格式:n颗依次飞来的高度(1≤n≤1000)。输出格式:要拦截所有导弹最小配备的系统数k。原创 2024-12-04 21:00:54 · 641 阅读 · 0 评论 -
递归思想——爬楼梯、数的计数
例如:楼梯一共有3级,他可以每次都走一级,或者第一次走一级,第二次走两级,也可以第一次走两级,第二次走一级,一共3种方法。输入格式:输入包含若干行,每行包含一个正整数N,代表楼梯级数,1≤N≤30。树老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。当楼梯有2级时,有两种走法(走两次1级或一次2级)。是否为1或2,如果是,则直接返回对应的走法数。当楼梯只有1级时,只有一种走法(走1级)。级楼梯再走一步到达(这一步为1级),或者从。级楼梯再走两步到达(这一步为2级)。原创 2024-12-05 07:00:00 · 476 阅读 · 0 评论 -
分治思想——取余运算、折半查找、输出前K个数
题目描述取余运算(算法,分治)输入b,p,k的值,求b^p mod k的值。其中b,p,k×k为长整型数。输入输出格式输入格式 :输入b,p,k的值。输出格式:求b^p mod k的值。输入输出样例输入:2 10 9输出:时间限制:1000ms内存限制:65536KB。原创 2024-12-04 16:02:46 · 929 阅读 · 0 评论