首页 > 其他分享 >ABC 314

ABC 314

时间:2024-02-08 18:56:52浏览次数:27  
标签:ABC 边权 314 护身符 怪物 集合 sim

F

每次相当于创建一个包含 \(p_i,q_i\) 各自所在集合的点的大点 \(u\),然后 \(u\) 向 \(p_i,q_i\) 各自所在集合连边,边权就是胜率。

连完之后求每个点到根结点(\(\{1\sim n\}\))的路径边权和。

G

定义 \(L_i\) 为杀至少 \(i\) 个怪物至少需要多少护身符。如果求出 \(L_0\sim L_n\),可以二分求出问题的答案。

先固定 \(i\),看怎么求 \(L_i\)。我们不求 \(L_i\),求 \(m-L_i\),即杀至少 \(i\) 个怪物至多不选多少护身符。

设 \(c_j\) 为 \(1\sim i\) 中类型为 \(j\) 的怪物攻击力总和。如果不选 \(j\) 护身符,意味着承担 \(c_j\) 的伤害。可以贪心,优先抛弃 \(c\) 较小的护身符,直到抛弃的护身符 \(c\) 总和超过 \(H-1\)。此时的数量就是 \(m-L_i\)。

知道了怎么求一个 \(L_i\),看一下怎么求连续的 \(L\)。发现当 \(i\leftarrow i+1\),\(c\) 数组其实只有 \(c_{b_{(i+1)}}\) 增加了。

我们可以用两个平衡树维护当前已选护身符的集合 \(S\) 和未选集合 \(T\),每次有 \(c\) 增加了,只会使一个元素变动。

标签:ABC,边权,314,护身符,怪物,集合,sim
From: https://www.cnblogs.com/FLY-lai/p/18012026

相关文章

  • ABC 313
    前三题过水。D题与5+*的题解注意:交互题每输出一次,就要fflush(stdout);一次E其实不是太难,但是赛时一直在搓D还没搓出来首先如果有两个大于\(1\)的数相邻,就无限次,否则一定有限次。手玩几个样例,发现每迭代一次,最右边的非\(1\)的数会往右移一位。受此启发,我们考虑每......
  • ABC 333
    ABCDE赛时AC。F列方程:\(f_{i,j}\)表示有\(i\)个人,第\(j\)个人最终活下来的概率。\(f_{i,1}=\dfrac{1}{2}f_{i,i}\),因为只有一种可能:第一个人放到最后,概率是\(\dfrac{1}{2}\),这个时候就相当于让\(i\)个人中最后一个活下来。\(f_{i,2}=\dfrac{1}{2}f_{i,1}+\dfrac{1}{......
  • ABC 326
    E题意:给定一个\(n\)面骰,长度\(n\)的数组\(a\)和一个初始为\(0\)的变量\(x\)。每次投掷骰子,等概率获得\(1\simn\)中的一个数\(p\)。若\(p\lex\),结束;否则\(x\leftarrowp\)且总收获\(S\leftarrowS+a_p\)。求期望值。其实期望\(S=\suma_i\timesp_i\),其中......
  • ABC 304
    T4在一个平面上有一块面积无限的蛋糕,给出\(n\)颗草莓的所在位置和\(a\,(b)\)条平行与\(x\,(y)\)轴的切刀位置。切刀会把蛋糕沿\(x\,(y)\)轴切开。因此一共会切出\((a+1)(b+1)\)块蛋糕。问:现在蛋糕上草莓数量最少的一块蛋糕,草莓数量是多少?最多的,又是多少?用lower_bo......
  • ABC 306
    前三题过水。D\(dp[i][j]\)表示吃完前\(i\)个菜,胃的状况为\(j\)(\(0\)是健康,\(1\)是不好)所获得的最大美味值。E暴力的平衡树。用multiset也行,一个记录前\(k\)大的,一个记录除了前\(k\)大之后的所有数。每次修改看看是从哪边修改的,改完再考虑要不要更新前\(k\)大......
  • ABC 305
    题目列表前三题过水,第四题分类讨论两个端点之间的距离和所在位置是清醒或睡眠即可。E题意:一张图上有一些结点有保安,每个保安有不同的警戒度\(h_i\),定义一个结点是安全的为这个结点可以到达一个保安\(x\),且距离\(\leqx\)。问有多少个安全的结点。痛失第五题很简单的......
  • ABC 310
    E\(dp[i][j]\)表示前\(i\)个里有多少个后缀答案为\(j\)。\(if(c[i]=='0')\{\)\(dp[i][0]=1;\)\(dp[i][1]=dp[i-1][0]+dp[i-1][1];\)\(\}\)\(else\{\)\(dp[i][0]=dp[i-1][1];\)\(dp[i][1]=1+dp[i-1][0];\)\(\}\)F......
  • ABC 309
    直接从F开。F三维偏序。把盒子按\(h_i\)排序,离散化,正常跑三维偏序(注意不能相等)。还要处理\(h_i\)相等的情况,可以再把\(h_i\)从大到小排序,然后\(w_i,d_i\)都要求严格大于,如果发现有一种情况是无论\(h_i\)咋排序都可以的,就删掉这种情况。G错排问题的推广。tjtj2......
  • ABC 312
    前三题氵D给定一个由(,?,)组成的字符串。每个?可以设定为任意括号。求有几种设定方法使得整个是合法括号序列。套路,dpE给定\(n\)个两两不相交的长方体,对每个长方体,求有多少个长方体与其有公共面。有一个可以大幅度优化代码麻烦程度的小技巧:因为坐标范围很小,我们直接把......
  • ABC 311
    前四题过水E枚举正方形的上边界所在行。对于第\(i\)行一个没洞的位置\((i,j)\),我们尝试求出以它为右上角的无洞正方形个数。结论:设以\((i,j-1)\)为右上角的无洞正方形边长最大为\(len\),那以\((i,j)\)为右上角的无洞正方形边长最大为\(len+1\)。以\((i,j)\)为右上......