把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
摘要: 有N件物品和一个最大承重为W的背包,第i件物品的重量为w[i],价值是v[i],每种物品仅有一件,可以选择放或不放,求解将哪些物品放入背包使得总重量不超过W且获得的总价值最大。 分析 这是一类最基础的背包问题,特点是每种物品只有一个。 一、状态 f[i][j]:表示前i件物品重量不超过j的最大价值 阅读全文
posted @ 2017-09-06 14:02 Starlight_Glimmer 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 由表格分析可以得知,这道题的摆放方案需要满足:每行只选一个数(美学值),且相邻的两行后一行的花瓶标号要大于前一行。那么问题就转换为了:在一个数字表格中,要求计算一条从顶至底的路径,使得所经过的数字之和最大,且相邻两行中,后一行的列数要大于前一行。 现在这道题和数塔问题很相似了,可以类比求解。 #in 阅读全文
posted @ 2017-09-06 13:50 Starlight_Glimmer 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给出一个长度为N的整数序列,求出包含它的第K个元素的最长上升子序列。 输入 第一行两个整数N, K 第二行N个整数 输出 如题目所说的序列长度。 样例输入 8 6 65 158 170 299 300 155 207 389 样例输出 4 提示 【数据范围】 0 < N ≤ 200000, 阅读全文
posted @ 2017-08-25 18:16 Starlight_Glimmer 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 分析 这就是一道简单的0-1背包问题,采药所用的时间相当于重量,可以直接使用0-1背包的状态转移方程。 代码实现如下 #include<cstdio> #include<algorithm> using namespace std; int n,W,f[105][1005],w[105],v[105 阅读全文
posted @ 2017-08-24 08:57 Starlight_Glimmer 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 一、基本概念 什么是贪心算法: 贪心算法(又称贪婪算法,GreedyAlgorithm)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优 阅读全文
posted @ 2017-08-20 08:39 Starlight_Glimmer 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 思路简析 其实满水一道题的,就是要处理细节,因为出了大招之后那三个字符就不用再输出了。我的思路比较简洁,就是读入之后用for循环遍历,判断出大招之后就循环变量i+2,否则就一招一招地输出。 代码实现如下: #include<cstdio> #include<cstring> char a[10000 阅读全文
posted @ 2017-07-15 16:59 Starlight_Glimmer 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 简析 法一:这类题目一般来说是找规律,找出递推式,找递推式有以下两种方 ①直接找规律(这个要数感好),对于这一道题保险一点将第四幅图画出来,得38个(这个要手不残)——不过这个来得简单粗暴,有经验的话其实答案出来得挺快 ②推:第n个三角形,它的每条边最多与前n-1个三角形的每2条边相交,因此第n个三 阅读全文
posted @ 2017-07-15 16:09 Starlight_Glimmer 阅读(17) 评论(0) 推荐(0) 编辑
摘要: Description 在一个 N 行 M 列的字符网格上, 恰好有 2 个彼此分开的连通块。每个连通 块的一个格点与它的上、下、左、右的格子连通。如下图所示: 现在要把这 2 个连通块连通, 求最少需要把几个’.’转变成’X’。上图的例子中, 最少只需要把 3个’.’转变成’X’。下图用’*’表示 阅读全文
posted @ 2017-07-15 14:44 Starlight_Glimmer 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 概念 编辑距离(最短编辑距离,Edit Distance)又称Levenshtein Distance,“是指两个字符串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。” ——引用自百 阅读全文
posted @ 2017-07-13 09:49 Starlight_Glimmer 阅读(42) 评论(0) 推荐(0) 编辑
摘要: Description 对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为: 1.修改一个字符(如把“a”替换为“b”) 2.删除一个字符(如把“traveling”变为“travelng”) 比如对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加/减少一 阅读全文
posted @ 2017-07-13 08:54 Starlight_Glimmer 阅读(18) 评论(0) 推荐(0) 编辑
浏览器标题切换
浏览器标题切换end