题解
文章平均质量分 96
题解,文章平均质量分96分!
见合8
着力打造平均分90分以上的博客,帮助大家一起在编程的道路上成长!
展开
-
我的创作纪念日 && CF1620D Exact Change 题解
突然发现自己在CSDN已经创作了128天,时间流逝得好快。在这个特殊的日子里,发篇题解纪念一下。原创 2024-06-14 21:07:54 · 694 阅读 · 0 评论 -
C1475D Cleaning the Phone 题解
因此输入时应该根据体积来分别保存到两个数组中,并且排序(从大到小)。之后就可以按照以上步骤来贪心啦~你需要选出几个物品,使得它们的价值和大于等于。的物品(总体积一样)比较价值大小来取。动态规划肯定超时了,就往贪心方面去想。,所以我们可以通过两个体积为。时,肯定不成立,直接输出。,每一个物品有一个价值。个物品和一个最低价值。,比较特殊,就从中入手。原创 2024-02-22 22:23:51 · 1050 阅读 · 1 评论 -
CF1468J Road Reform 题解
条边使得这个图变成一棵树,然后你可以对这棵树上的任意边进行修改,每次修改可以使这个边的权值加上一或减去一。大家应该都知道 Kruskal 算法的流程是:先对边权从小到大排序,再枚举每一个。保证初始时给定的图满足任意两个点互相可达,没有重边或自环。如果不是,就可以选择这一条边。我这里用的是 Kruskal,需要用到并查集。现在你需要使所有边权的最大值正好等于。条无向带权边的图,和一个参数。,求所有保留方案的最小操作数。现在你要保留这个图中的。条边,使它变成一棵树。因此想到 最小生成树。时,遍历所有边,取与。原创 2024-02-21 21:10:29 · 940 阅读 · 0 评论 -
CF1731D Valiant‘s New Map 题解
的正方形区域当且仅当该区域的所有权值都大于等于。思路:用二维前缀和数组来存储是否符合条件。,注意要先动态开空间之后才能当作数组使用。,问可以选取的最大正方形区域的边长。,中间之所以要减去是因为重复计算了。网格,你可以选取一块边长为。考虑在一个矩阵中,如何计算从。原创 2024-02-20 18:44:39 · 868 阅读 · 0 评论 -
CF778A String Game 题解
相应位置上的字母,删除过程中,约定各个字符的位置不变。请计算最多可以删除几次,字符串。给定两个由小写字母构成的字符串p和t,同时给定一个由数字。因此二分的序列有单调性,该二分成立。表示字符串p的长度)按该排列顺序依次删除字符串。一行,一个整数,表示最多删除的次数。个元素后是否包含序列。个元素可行,那么删去。原创 2024-02-19 19:23:51 · 1134 阅读 · 1 评论 -
CF1056C Pick Heroes 题解
因为我们要保留先手的优势,所以我们应当先选择每对英雄中。洛谷题解中要么代码没放,要么代码很长很繁琐。如果交互库选择了仇敌中的一个,那么只能选与之相匹配的英雄。(保证每位英雄至多只出现一次),一旦一位玩家选择了第。否则,我们就获得了先手,之后便和先手策略一致了。因为我们要维护战斗力最强的英雄,所以可以用。位英雄,那么另一位玩家必须立即选择第。队伍的总战力即为队伍内所有英雄战力之和。尝试找到最佳策略,最大化你队伍的总战力。,你和交互库轮流选择英雄组成队伍,位英雄,那么另一位玩家必须。之后,再选择剩余英雄中。原创 2024-02-16 19:41:42 · 1208 阅读 · 1 评论 -
CF1267E Elections 题解
第n个是坏蛋,请问去除掉哪几个投票站才能使他的票数不大于其他每个人中的一个,也就是不能让第n个人的总票数最多。有n(n原创 2024-02-15 19:49:12 · 1004 阅读 · 1 评论 -
CF1256C Platforms Jumping 题解
您可以将任意平台向左或向右移动任意次数(也可以不移动),只要它们彼此不重叠(但两个平台可以挨在一起)。也就是说你不能更改平台的相对顺序。但是, 你只能跳到木质平台上( 即不能下水_)。【这里打的和原题面格式不太一样,就是说木平台的长度和不大于河宽】 ),其中。,则只能跳到下一个位置(如果这个位置上有木制平台)。”,在第二行中输出长度为n的数组 输出河流的序列(不输出单元格。否则,它应该是等于平台的编号(平台编号是从。保证平台长度的总和不超过。(所以说第i个平台占据河流的。不属于任何平台,输出。原创 2024-02-14 11:44:23 · 1200 阅读 · 1 评论 -
CF1132C Painting the Fence 题解
个工人,每个工人固定粉刷一个区间,区间可能重叠,现在要去掉两个工人,求剩下。不难从题目中发现,因为输入的是区间,所以可以用前缀和来存放每堵墙有几个人来涂。又因为要去掉两个人,我们可以先枚举第一个被去掉的人。再考虑第二个人的最优情况,得出最优解,即为答案。于是问题就变成了去掉一个人的最优情况是多少。个工人最多粉刷多少墙。这是一道暴力枚举题。原创 2024-02-12 16:53:50 · 965 阅读 · 1 评论 -
SP10286 DOTAA - DOTA HEROES 题解
的英雄去干掉他,并使你的英雄的血量减少。在一场战争中,你是其中一方。个英雄,你可以用一个血量大于。函数,其作用是将小数向上取整。时才能击败一个敌人,因此当。则每名英雄能攻击对方的数量为。请问我方是否能打败敌方。个英雄,每个英雄拥有。这部分舍去,符合题意。原创 2024-02-11 14:35:21 · 1315 阅读 · 1 评论 -
UVA11503 Virtual Friends 题解
来存储每一个字符串所对应的数值。(或者手动写字符串哈希,注意要准备几个好用的。,是因为 map 的常数比较大,里面的数据都是自动排序的,而。是朋友关系(朋友的朋友也是朋友)。每次关系表时候,都要输出。初始化时,还要注意每次读入是两个人名,所以记得数组要开两倍。因为有多组数据,所以不要忘记每次循环都要。不懂的同志看代码~(注释也是蛮详细的呢)不会自动排序,常数略小。此外,还有不少细节要注意。个关系,每个关系代表。所在朋友群中的人数。原创 2024-02-10 21:15:11 · 925 阅读 · 1 评论 -
P6359 [CEOI2018] Cloud computing 题解
帮助 Johnny 赚尽可能多的钱:接受一个最优的订单子集,选择所有计算机的一个子集来满足所有接受了的订单。你的目标是最大化利润,即为客户提供计算能力的收入与购买计算机的成本之差。排完序后,我们对每一台电脑(订单),都有两种选择:买(卖)或不买(不卖)。,买进的电脑应排在前面,不然还没买进就要卖出了,结果显然偏小。,分别表示需要的核心数,最低的允许的时钟频率以及预算。的时钟频率),剩下一个核心不使用,这是允许的。个独立的内核,所以他们可以被分配不同的任务。)的四内核的计算机,然后接受前两个订单获得。原创 2024-02-09 23:28:14 · 984 阅读 · 0 评论