贪心
文章平均质量分 65
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
堆+双向链表 - 种树(BZOJ2151)
学习ing Analysis 第一眼反应这不是个水dp吗…… 仔细一想,是我太naive了 由于是个环,所以这个是有后效性的(1位置选不选会影响n位置) 那怎么办呢? 题解爸爸告诉我: 如果没有相邻不能选的限制,就直接贪心选择前m大的值即可 以后做题的时候先从简单的思考起走,把限制去掉 那么现在加上这个限制,我们该如何考虑呢? 沿用上面的贪心思路 假设A[3]最大,那我们就试图去选A[3]。选中...原创 2019-10-28 14:23:07 · 139 阅读 · 0 评论 -
k叉哈夫曼树 - NOI2015荷马史诗
Analysis k叉哈夫曼树解析 这道题稍微还需要注意一点的就是最后还要求最长长度最短 这个其实就是在面对两个权值相同的情况下,优先合并深度较小的点 Code #include<bits/stdc++.h> #define re register #define in read() using namespace std; inline char nc(){ static cha...原创 2019-10-28 12:32:12 · 157 阅读 · 0 评论 -
浅谈Huffman树
学习ing 二叉哈夫曼树 一、定义 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。(摘自百度百科) 带权路径:到达该叶子节点经过的边数×叶子节点当前代表的数 二、实现 贪心 每次从所给序列中找到两个权值最小的点合并,将合并后的新权值放回...原创 2019-10-28 12:13:08 · 1530 阅读 · 0 评论 -
记忆化搜索 + 贪心 - WOJ#1838 引水入城
传送门 Analysis 这道题的关键之处就在于一个很重要的结论: 每个蓄水厂在最底层能覆盖的一定是一个连续的区间 有了这个性质后,我们就可以记忆化搜索得到每个蓄水厂能覆盖的最左端点和最右端点,然后贪心进行最少线段覆盖即可 至于我这个憨憨。 只想到了n3的做法 对于每个蓄水厂bfs,记录下它能到达的最底层的点 然后就无法做到记忆化,也不能做线段覆盖 本来在思考用类似背包的思想处理每个蓄水厂,然而...原创 2019-10-25 14:31:30 · 169 阅读 · 0 评论 -
【2018/08/21】T2-trie树+贪心-位运算(SDOJ 3772)
【写在前面】 子集:概念同集合里的子集。举例 { 1,2,3 }的子集有{ 1 },{ 2 },{ 3 },{ 1,2 },{ 1,3 },{ 2,3 },{ 1,2,3 },{ 空 } 超集:包含原集合中所有数的集合。举例 { 1,2,3 }的超集有{ 1,2,3,4 },{ 1,2,3,4,5 },{ 1,2,3,6 }…… 位运算 描述 有q次操作,每次操作是以下两种: 1、...原创 2018-08-21 20:07:15 · 247 阅读 · 1 评论 -
【2018/10/01】T3 - 贪心 + 堆 - 购买书籍
购买书籍 【描述】 L的书籍被 M偷了以后伤心欲绝,决定再购买一些回来,现在有 N 本书可以买,每本书的价格是 a[i]元。 现在L总共有 M 元,以及 K 张优惠券。 对于每本书,如果使用一张优惠券,则可以用b[i]的优惠价格购买。 注意每本书只能使用一张优惠券,只能购买一次。 L想知道自己最多可以购买几本书? 【 输入】 第一行三个整数 N, K, M 接下来 N 行,每行两个整数,...原创 2018-10-01 19:08:02 · 239 阅读 · 0 评论 -
1005 - 最长不上升子序列+贪心 - NOIP 1999 拦截导弹
题目背景 NOIP1999 提高组试题 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于10000的正整数),计...原创 2018-10-05 21:50:47 · 249 阅读 · 0 评论 -
NOIP2012提高组Day1T2 - 国王游戏
国王游戏 描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。 国王不希望某一个大臣获得...原创 2018-11-07 19:23:28 · 181 阅读 · 0 评论