摘要:
~~~题面~~~ 题解: 观察到以决策点为分界线,以点数大的赢为比较方式的游戏都是它的前缀,反之以点数小的赢为比较方式的都是它的后缀,也就是答案是由两段答案拼凑起来的。 如果不考虑判断胜负的条件的变化,则有一个比较容易发现的贪心: 设f[i]为从1开始到i位, 比较方式为点数大的获胜,最多能赢几局。 阅读全文
摘要:
~~~题面~~~ 题解: 神奇的贪心题,,,感觉每次做贪心题都无从下手。。。 我们首先按照a对所有卡片从小到大排序,然后从1开始,从连续的两张牌中取b最大的,最后一张单出来的也取了。 可以证明,这样的方案一定是合法的。 为什么呢? 假设我们将排序后的牌按照(1, 2) (3, 4) ……这样的方式两 阅读全文
摘要:
~~~题面~~~ 题解: 这题想法简单,,,写起来真的是失智,找了几个小时的错误结果是inf没开到LL范围。。。。 首先我们需要找到任意两点之间能够携带黄金的上限值,因为是在经过的道路权值中取min,我们要使得这个min值最大,就应该要在最大生成树上寻找正确的边。求出最大生成树后我们需要在上面倍增寻 阅读全文
摘要:
~~~题面~~~ 题解: 此题可以用可持久化并查集暴力水过,但正解是kruskal重构树。 不会kruskal重构树请戳:kruskal重构树 观察到车可以通过哪些边跟边的长度并没有关系,所以考虑用边的海拔排序建出重构树,这样我们就得到了一个只跟海拔相关的关系。 于是对于任意水位线,我们都可以得知, 阅读全文
摘要:
~~~题面~~~ 题解: 挺好的一道题。 首先我们将所有边反向,跑出n到每个点的最短路,然后f[i][j]表示从i号节点出发,路径长比最短路大j的方案数。 观察到,如果图中出现了0环,那么我们可以通过在环上走无数次来获得无数条不同路径,因此这就无解了。 如果没有0环,当且仅当这张图的最短路图是一个D 阅读全文
摘要:
~~~题面~~~ 题解: 考场上看的这道题,,,当时70分算法打挂了,今天才知道这个也是原题。。。。 首先,对于不跟1相邻的边,肯定不会经过两次,因为经过两次就回来了,除了增加路径长度之外没有任何意义。 但是跟1相邻的边是可能会经过2次的,因为虽然增加了路径长度,但这次回来就直接到终点了,所以完全可 阅读全文