这是一道贪心题目,贪心的思路就是将代价从小到大排序,然后不断选取最小的代价(需要满足此关系的两朵云彩没有联通,否则直接跳过选下一个)。 满足此关系的两朵云彩是否联通可以用并查集来处理。 代码: c: #include<stdio.h> struct node{ int a,b,p;//a,b连接的云 ...
分类:
其他好文 时间:
2020-04-19 10:44:20
阅读次数:
49
1 //BFS + 贪心 2 //维护一个区间[l,r],在这里面可以找到能够跳到最大位置,step++,同时更新l,r 3 class Solution 4 { 5 public: 6 int jump(vector<int>& nums) 7 { 8 if(nums.size() < 2) re ...
分类:
其他好文 时间:
2020-04-18 15:51:53
阅读次数:
45
跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到 ...
分类:
其他好文 时间:
2020-04-17 20:23:53
阅读次数:
81
前言 哈夫曼编码是一种贪心算法和二叉树结合的字符编码方式,具有广泛的应用背景,最直观的是文件压缩。本文主要讲述如何用哈夫曼编解码实现文件的压缩和解压,并给出代码实现。 哈夫曼编码的概念 哈夫曼树又称作最优树,是一种带权路径长度最短的树,而通过哈夫曼树构造出的编码方式称作哈夫曼编码。 也就是说哈夫曼编 ...
分类:
编程语言 时间:
2020-04-17 15:17:31
阅读次数:
72
分治策略 分治策略是一种解决问题的思路: 将问题分为若干更小规模的部分 通过解决每一个小规模问题,并将结果汇总得到原问题的解。 PS:递归问题则体现了分治策略。 优化问题和贪心策略 1.优化问题例子:找零兑换问题 让自动售货机每次找零给顾客最少数量硬币。 贪心策略解决:我们每次都试图解决问题尽量大的 ...
分类:
编程语言 时间:
2020-04-16 19:35:55
阅读次数:
70
LINK: "Xenia and Colorful Gems" 考试的时候没想到一个很好的做法。 赛后也有一个想法。 可以考虑答案的样子 x,y,z 可以发现 一共有 xg[3]; inline ll js(ll a,ll b,ll c){return pf(a b)+pf(a c)+pf(b c) ...
分类:
其他好文 时间:
2020-04-16 19:32:26
阅读次数:
74
这道题大可看成贪心来做。 根据题目所说,物品重量无非两种,要么重量是 1 ,要么重量是 2 ,那么按物品重量把它们分成两类,用一个 $pair$ 来存物品的价值和序号(因为输出要用),按价值对两个物品序列降序排序。 然后枚举用 $i$ 个重量为 1 的物品(理论上 2 也可以),那么就用了 $\fr ...
分类:
其他好文 时间:
2020-04-16 13:18:58
阅读次数:
48
题意: 一开始所有点都是花园 1为首都(即根) 现在n个点里弄k个工厂,而密探都在工厂点上 密探回首都时每经过一个花园时幸福度+1 密探一定走最短路 问最大幸福度之和 思路:BFS求出每个节点的深度,然后再减掉每个节点儿子所做的贡献,思路在代码中(DFS更简单) 代码: #include <iost ...
分类:
其他好文 时间:
2020-04-16 13:06:37
阅读次数:
72
[toc] 涵盖知识点:思维、贪心、区间dp。 比赛链接: "传送门" "A Ichihime and Triangle" 题意: 找出数对$(x,y,z)$满足$a\le x\le b\le y\le c\le z\le d$且能够组成三角形 题解: $(b,c,c)$ Accept Code: ...
分类:
其他好文 时间:
2020-04-16 12:57:49
阅读次数:
102
字典树是一颗无根树,可以是01字典树,也可以是字符串字典树。 J - Coolbits ZOJ - 4135 给出n个区间,每个区间里拿出一个数,使得总体异或值最大,求最大异或值。 一个一个枚举数是不行的,时间肯定不对,于是考虑枚举二进制位数。 从高位到低位枚举的贪心是正确的, 当你枚举一个区间当前 ...
分类:
其他好文 时间:
2020-04-16 00:35:38
阅读次数:
79