首页 > 其他分享 >ABC 313

ABC 313

时间:2024-02-08 18:56:37浏览次数:31  
标签:tmp 右移 ABC 机器 313 times 概率 dis

前三题过水。

D题 与 5+*的题解

注意:交互题每输出一次,就要 fflush(stdout); 一次

E

其实不是太难,但是赛时一直在搓 D 还没搓出来

首先如果有两个大于 \(1\) 的数相邻,就无限次,
否则一定有限次。

手玩几个样例,发现每迭代一次,最右边的非 \(1\) 的数会往右移一位。受此启发,我们考虑每个非 \(1\) 的数需要右移几次才会消失。(如果第一个数就是非 \(1\) 数,不考虑,因为它不会做贡献)

再多玩几个样例,发现相邻的两个非 \(1\) 的数,需要的右移次数存在递推关系。

假设靠右的非 \(1\) 的数为 \(x\),需要 \(tmp\) 次才会消失,靠左的非 \(1\) 数 \(y\) 与 \(x\) 距离 \(dis\)(在原本的字符串中)。

则 \(y\) 需要 \(tmp+tmp\times (x-1)+dis\),这很好理解,\(x\) 在 \(tmp\) 次之后消失了,给左边贡献了 \(tmp\times x\) 个 \(1\),而 \(tmp\) 次会消耗掉 \(tmp\) 个 \(1\),所以实际贡献了 \(tmp\times (x-1)\) 个 \(1\),再加上原本就有 \(dis\) 个 \(1\)。

于是我们从右到左求出了最左边的非 \(1\) 数需要 \(t\) 次消失。最后求这个非 \(1\) 数贡献了多少个 \(1\),然后和 \(t\) 加一下就得出答案了。

F

有 \(n\) 张牌 \(m\) 台机器,每张牌正反面各有一个数 \(a_i,b_i\)。第 \(i\) 台机器有两个参数 \(x_i,y_i\),表示有 \(1/2\) 的概率翻 \(x_i\),有 \(1/2\) 的概率翻 \(y_i\)(概率独立计算)。任意开启若干台机器后,所有牌正面朝上的数的和的期望值 最大是多少。

因为题目里说了概率独立计算。所以如果第 \(j\) 台机器 \(x_j=y_j\),则第 \(x_j\) 张牌一定会翻;否则如果有多台机器都可能翻第 \(i\) 张,第 \(i\) 张翻的概率也还是 \(\dfrac{1}{2}\)。

把牌分成几个集合:\(a_i\ge b_i \in P,a_i\le b_i\in Q\)。

发现翻 \(Q\) 一定比翻 \(P\) 好。

所以先把所有 \(x,y\in Q\) 的机器开了,\(x,y\in P\) 的一定不开。

对于剩下的,有两种处理方法,参考这个懒得写了

G

第 \(i\) 个盘子上面放了 \(a_i\) 个石头,有两种操作。

  1. 从所有有石头的盘子上取一个存着;

  2. 拿出 \(n\) 个石头给每个盘子发一个。

求经过若干次操作后,每个盘子剩余石头构成数组 \(b\),\(b\) 有多少种可能。

观察:如果做了 1 马上做 2 又做 1,其实等价于做一次 1.所以最后的操作序列一定形如 111111222222

参考

标签:tmp,右移,ABC,机器,313,times,概率,dis
From: https://www.cnblogs.com/FLY-lai/p/18012025

相关文章

  • 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)\)为右上......
  • [ABC327G] Many Good Tuple Problems 题解
    Description对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在......