随笔分类 -  Algorithms

摘要:回溯算法类似于枚举过程,所不同的是,当发现现有的解已经不构成可行解时,回溯算法会退回到之前一个满足条件的节点(及时止损),继续尝试其他可能,从而大大减小了搜索空间。比如下面的四皇后问题。 解题思路通常如下: result = [] def backtrack(路径, 选择列表): if 不可行解: 阅读全文
posted @ 2020-11-19 17:05 lepeCoder 阅读(150) 评论(0) 推荐(0) 编辑
摘要:title: 最大最小距离算法 date: 2017 12 16 17:36:54 tags: 聚类算法 categories: Algorithms 课程设计 使用最大最小距离算法做聚类分析 cpp / 使用最大最小距离法做聚类分析 1. 任选一个样本作为聚类中心z1 2. 选择离z1距离最大的样 阅读全文
posted @ 2017-12-16 17:41 lepeCoder 阅读(3501) 评论(0) 推荐(0) 编辑
摘要:```cpp bool isPrime(int n){ if(n1; if(n % 2 == 0 || n % 3 == 0) return false; int k = sqrt(n)+1; for(int i = 5; i 阅读全文
posted @ 2017-09-04 21:40 lepeCoder 阅读(607) 评论(0) 推荐(0) 编辑
摘要:普通筛素数 __素数的因数只有1和它本身__ 根据这个定义,有个筛素数这种方法 当我们想找小于30的素数的时候,可以从小到大遍历 当遍历到2的时候,2就是素数,而2的倍数将被筛去 剩余最小的数的是3,3就是素数,而3的倍数将被筛去 剩余最小的数是5(4已被筛去),再筛去5的倍数 直到最后,每次最小的 阅读全文
posted @ 2017-09-04 21:25 lepeCoder 阅读(305) 评论(0) 推荐(0) 编辑
摘要:题目 "https://vjudge.net/problem/Uva 11400" 设计一个照明系统,有n种灯泡,每种灯牌配备一个电源,灯泡有电压 电源价格 单价 数量 四种属性 1. 当一种灯泡的数量为0时,则可以省下一个电源 2. 可以用一个高电压的灯泡代替一个低电压的灯泡 设计一种灯泡替换方案 阅读全文
posted @ 2017-09-02 21:59 lepeCoder 阅读(235) 评论(0) 推荐(0) 编辑
摘要:题目 "https://vjudge.net/problem/Uva 12563" 给出n首歌和KTV的剩余时间T,因为KTV不会在时间到的时候立刻把歌切掉,而是会等它放完.而《劲歌金曲》长达678秒,因此你可以在从你喜欢的歌中选择一些,在时间结束前再唱一首《劲歌金曲》. 给出一种策略,使得唱的歌曲 阅读全文
posted @ 2017-09-01 15:13 lepeCoder 阅读(361) 评论(0) 推荐(0) 编辑
摘要:题目 "http://acm.hdu.edu.cn/showproblem.php?pid=2602" 分析 基础背包问题,有一个容量为V的背包,各种骨头有大小和价值两种属性,求背包能装的骨头的最大价值. AC代码 cpp include "bits/stdc++.h" using namespac 阅读全文
posted @ 2017-08-31 17:04 lepeCoder 阅读(153) 评论(0) 推荐(0) 编辑
摘要:题目 有一个容量为V的背包和N种物品,第i件物品的体积是c[i] 价值是w[i] 共有n[i]件,请给出一种策略使得装入背包中的物品价值最高. 基本算法 和完全背包问题类似,区别是完全背包每种物品的数量是无限的而多重背包是有限的.可以仿照完全背包写出状态转移方程: 下面给出O(log amount) 阅读全文
posted @ 2017-08-30 17:39 lepeCoder 阅读(333) 评论(0) 推荐(0) 编辑
摘要:题目 "hdu 1171" 大意是有n类设备,每类设备的价值相同,要求将所有的设备分成价值尽量相等的两份. 分析 这是一个 "多重背包" 问题,而背包的容量就是价值的一半 多重背包的一个解法就是转化为01背包,将背包的数量属性直接反映为m个价值相等的01背包物品 AC代码 cpp include " 阅读全文
posted @ 2017-08-30 17:38 lepeCoder 阅读(227) 评论(0) 推荐(0) 编辑
摘要:题目 "hdu 2546" 分析 余额 =5就可以买任何商品(购买后余额可以为负),余额 n && n){ for(i = 0; i a[i]; cin m; int V = m 5; if(V ans){ ans = a[i]; ansi=i; } } a[ansi] = 0; for(i=0;i 阅读全文
posted @ 2017-08-30 17:37 lepeCoder 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题目 有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。 基本思路 和 "01背包" 不同的是每种物品都有无限件,对每种物品的策略也不是取或不取,而是取0件 取1件 取2件· 阅读全文
posted @ 2017-08-26 20:13 lepeCoder 阅读(247) 评论(0) 推荐(0) 编辑
摘要:问题 有n种物品,每种只有一件,物品具有价值和体积两个属性 一个容量为v的背包 每种物品可以选择是否放入背包中 选择合适的策略,使得背包中的物品总价值最高 思路 定义 表示处理前i个物品,背包剩余容量为v时背包的最大价值 状态转移方程: 如果不装第i个物品,则 如果装第i个物品,则价值增加 ,背包容 阅读全文
posted @ 2017-08-25 22:37 lepeCoder 阅读(430) 评论(0) 推荐(1) 编辑
摘要:题目 "https://vjudge.net/problem/uva 116" 分析 设 为从 到最后一列的最小开销,则 参考 "数字三角形" ,用逆推的方法,先确定最后一列 ,再确定 列,此时 最终推出全部的 后,第一列最小的d就是答案. 另外要求打印路径,因此建立一个数组 ,保存结点i,j之后的 阅读全文
posted @ 2017-08-24 14:28 lepeCoder 阅读(200) 评论(0) 推荐(0) 编辑
摘要:题目 有n(n0) return d[i][j]; d[i][j]=0; int v1[2], v2[2]; get_dimensions(v1, i, j); for(int a=0;a n && n){ for(i=0;i blocks[i][j]; } sort(blocks[i], bloc 阅读全文
posted @ 2017-08-19 20:35 lepeCoder 阅读(313) 评论(0) 推荐(0) 编辑
摘要:原题 "城市里的间谍" 分析 动态规划, 表示你在时刻i,车站j,最少还要等待的时间. 边界条件 _已经到达_,其他 _不可达_. 在一个站点时,有以下三种决策: 1. 等一分钟 2. 搭乘往左开的车(前提是有) 3. 搭乘往右开的车 AC代码 cpp include "bits/stdc++.h" 阅读全文
posted @ 2017-08-17 16:38 lepeCoder 阅读(412) 评论(0) 推荐(0) 编辑
摘要:Description 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。 对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币 阅读全文
posted @ 2017-08-07 01:56 lepeCoder 阅读(3220) 评论(0) 推荐(1) 编辑
摘要:描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a第一行是一个正正数N(0每组测试数据都输出一个数,表示最多符合条件的矩形数目,每组输出占一行 样例输入 样例输出 "题目链接" 分析 若将每个矩形看作一个点,则整体是一幅DAG(有向无环) 阅读全文
posted @ 2017-08-06 21:23 lepeCoder 阅读(1873) 评论(0) 推荐(0) 编辑
摘要:假设有一组数字三角形, 由一个数字可以到下一层的左或右,求一条最短的路径. 使用动态规划 自顶向下考虑,如果 因此有 而 初始化为 自底向上考虑, 的最短路径应当包含 或`dp[i+1][j+1] dp[i][j] = min(dp[i 1][j], dp[i 1][j 1]) + mat[i][j 阅读全文
posted @ 2017-08-03 04:18 lepeCoder 阅读(302) 评论(0) 推荐(0) 编辑
摘要:__描述:__ Sort a linked list using insertion sort. 使用插入排序对一个链表进行排序 普通的插入排序,时间复杂度O(n^2) 阅读全文
posted @ 2017-07-30 13:12 lepeCoder 阅读(272) 评论(0) 推荐(0) 编辑
摘要:Sort a linked list in O(n log n) time using constant space complexity. 阅读全文
posted @ 2017-07-30 03:00 lepeCoder 阅读(364) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示