摘要:
原题链接:https://www.luogu.com.cn/problem/P4053 题意解读:n个建筑有修理时间t1,报废时间t2,要求在合理顺序尽可能多的抢修建筑。 解题思路: 贪心思路: 1、优先抢修报废时间最短的建筑,可以将建筑按t2从小到大排序,再遍历每一个建筑 2、先假设当前建筑可以抢 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1631 题意解读:两个长度为n的单调不降的有序序列,各取一个数相加,计算最小的n个和。 解题思路: 设两个序列为a[N], b[N] 和最小的为a[1] + b[1] 和第二小的可能有两种:a[1] + b[2]或者a[ 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P2085 题意解读:有n个函数,函数中x取值>=1,计算所有函数能得到的值中最小的m个。 解题思路: 函数中x取值是>=1的整数,因此每个函数的值是f(1),f(2),f(3)....,是一个递增序列,题目本质上是要从n个 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1168 题意解读:中位数就是位于中间的数,前1个数的中位数是第1个,前3个数的中位数是第2个,前5个数的中位数的第3个...以此类推。 所以,此题本质上就是动态维护一组数,每1/3/5...等奇数个取第k小的数,取一次后 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P2827 题意解读:初始n个数,每次取最大值x,根据u/v分成两部分:x * u / v,x - x * u / v,然后其余数都增加q,整个过程重复m次。 输出有两类数据:第t,2t,3t...次取出的最大值;最后剩余的 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P2168 题意解读:把单次替换成k进制字符串,使得替换后文本内容最短,典型的哈夫曼编码应用。 解题思路: 要把单词转成k进制字符串,根据哈夫曼编码的原理,可以依次将k个出现次数最少的单词进行合并,最后得到一棵树,每个非叶节 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P1801 题意解读:动态维护一组序列,并随时可以求第k小的值,每次求第k小的顺序是递增的,比如第一次取第1小,然后是第2小,以此类推。 解题思路: 对于求第k小的问题,已经介绍过几种方案: 1、快选算法,每次查询时间复杂度 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P3378 题意解读:实现二叉堆。 解题思路: 二叉堆本质上一棵完全二叉树,根节点称为堆顶,根据特性不同分为有两种: 大根堆:所有父节点的值大于子节点,根节点最大 小根堆:所有父节点的值小于子节点,根节点最小 主要作用:动态 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P6824 题意解读:已知整数序列a[i],i在1~n,有整数k,求一个整数x,要求a[i] ^ x <= k,使得符合要求的a[i]数量最多,求这个数量。 解题思路: 1、确定x的范围 由于a[i] ^ x <= k,因此 阅读全文
摘要:
原题链接:https://www.luogu.com.cn/problem/P3369 题意解读:平衡树的基本操作,模版题。 解题思路: 1、二叉搜索树-BST 二叉搜索树满足这样的性质:每一个节点的权值大于它的左儿子,小于它的右儿子。 对BST进行中序遍历,将得到一个从小到大的有序序列,因此BST 阅读全文