题解

[POJ3268]Silver Cow Party[SPFA]

cgazn阅读(136)评论(0)赞(0)

题面 这题的关键在求其他所有点到$X$的最短路径. Floyd显然过不了. 冷静分析一波发现无向图中从某个点到$X$的最短路就等于从$X$到那个点的最短路, 有向图中所有边取反后也成立. 所以取反之后在求一次单源最短路就行了.

[POJ2431]Expedition[贪心,堆]

cgazn阅读(112)评论(0)赞(0)

题面 一开始想到一个错误策略: 每次在当前油量能走到的范围内找油最多的加油站…后面发现有可能会要在范围内多次加油才可能走到终点, 需要根据油量从大到小依次选择加油站, 于是容易想到用一个大根堆来维护所有可以走到的油站, 直到不能...

[USACO09OCT]津贴Allowance[贪心]

cgazn阅读(112)评论(0)赞(0)

题面 首先面值大于$latex C$的硬币肯定只能直接计入答案. 剩下的硬币肯定要凑出尽可能接近$latex C$的面值, 策略是在面值不超过$latex C$的前提下优先使用大面值, 因为这样可以在使现在和将来避免浪费钱的前提下凑近$la...

[POJ1017]Packets[贪心]

cgazn阅读(116)评论(0)赞(0)

题面 题意: 要用尽量少的6*6的箱子放入一些1*1~6*6的物品, 设他们分别有$latex a_i$个. 首先答案至少要$latex a_6+a_5+a_4$这么多, 因为他们是不能多个并存的. 然后对于5*5和4*4的物品我们就可以贪...

[HDU6095]Rikka with Competition[贪心]

cgazn阅读(115)评论(0)赞(0)

题面 感觉这题最水… 显然$latex a$越低就越难赢, 而只要每次比赛$latex a$之差都在$latex k$内就可以赢. 所以每个人都要尽量和第一个$latex a$比它大的人比, 如果在n-1场比赛中有一场$late...

[NOI2015]软件包管理器[树链剖分,线段树]

cgazn阅读(84)评论(0)赞(0)

题面 毒瘤数据结构复习系列. 设0为未安装, 1为已安装, 当安装某个包x时, 统计root~x路径上0的个数, 再把整条路径设为1 卸载包x时, 统计x为根的子树1的个数, 再把整颗子树设为0 线段树的区间覆盖只要把懒标记的+=改为=就行...

[HNOI2009]最小圈[0/1分数规划,SPFA]

cgazn阅读(198)评论(0)赞(0)

题面 标题比题面好懂系列. 题目就是要求所有环中边权之和与环长之比的最小值. 令点权为1(方便统计长度. 更一般的0/1分数规划题中点权是可以任意取的, 后续推导一致), 则 $latex ans=\sum{e.w}/\sum{v.w}$ ...

[CF896C]Willem, Chtholly and Seniorious[ODT]

cgazn阅读(114)评论(0)赞(0)

为了更好的骗分完成CF558E A Simple Task和CF896C Willem, Chtholly and Seniorious, 特意学了这种新的毒瘤数据结构. ODT的思想很好理解, 就是把一段值相同的区间压缩为1个节点, 即每...

[洛谷P4513]小白逛公园[线段树]

cgazn阅读(87)评论(0)赞(0)

题面 双倍经验: https://www.luogu.org/problem/SP1716 复习一下线段树, 老是写挂… 这道题是一种常见线段树处理连续子段问题的做法. 每个节点维护区间最大子段和, 从左端点开始的最大子段和, ...