首页 > 其他分享 >abc360 E 题解

abc360 E 题解

时间:2024-07-02 16:08:34浏览次数:14  
标签:const 题解 LL rev long 黑球 abc360 mod

 

E

对于位置2~n,它们的概率是相等的。

n*n个(x,y)对。其中x可以等于y。

 

对于x/y,y的逆元rev(y)为mul(y,mod-2)。

加、减、乘、除都可以做。比如48/9和16/3的结果是一样的,48*rev(9)%mod = 16*rev(3)%mod。比如3*rev(2)%mod = (rev(2)+rev(2)+rev(2))%mod.

 

对于每次操作,有多少概率黑球在位置1:

a. 黑球上次在位置1,这次不进行修改

  概率:(n-1)*(n-1)+1 / n^2

b. 黑球上次在其它地方,这次移动到位置1

  概率:2 / n^2

举个例子,以n为3为例,

(x,y)总共有1 1, 1 2, 1 3, 2 1, 2 2, 2 3, 3 1, 3 2, 3 3

对于a,有2 2, 2 3, 3 2, 3 3, 1 1。共5个

对于b,对于数字2,有2 1, 1 2, 对于数字3,有3 1, 3 2。共2个

递推式为:

 

 

注意n*n-2*n+2,要先取模,否则它再乘上其它数,有可能大于Long Long范围。

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 #define LL long long
 4 #define ULL unsigned long long
 5 
 6 const LL mod=998244353;
 7 
 8 const double eps_1=1e-5;
 9 const double eps_2=1e-10;
10 
11 const int maxn=1e5+10;
12 
13 LL a[maxn];
14 
15 LL mul(LL x, LL y)
16 {
17     LL z=1;
18     while (y)
19     {
20         if (y&1)
21             z=z*x%mod;
22         x=x*x%mod;
23         y>>=1;
24     }
25     return z;
26 }
27 
28 LL rev(LL x)
29 {
30     return mul(x,mod-2);
31 }
32 
33 int main()
34 {
35     LL n,k,i,rev_n,one,other;
36     cin>>n>>k;
37     a[0]=1;
38     rev_n = rev(n);
39     for (i=1;i<=k;i++)
40     {
41         //n*n-2*n+2 放在前面
42         a[i] = ( (n*n-2*n+2) % mod *a[i-1] % mod + (1-a[i-1]+mod) * 2 % mod ) % mod
43              * rev_n % mod * rev_n % mod;
44     }
45     one = a[k];
46     other = (1-one+mod) * rev(n-1) % mod;
47     cout << ( one + (n-1) * (2+n) % mod * rev(2) % mod * other % mod ) % mod;
48 
49     return 0;
50 }

 

 

F

 

 


G

 

标签:const,题解,LL,rev,long,黑球,abc360,mod
From: https://www.cnblogs.com/cmyg/p/18280046

相关文章

  • 十四、Redis应用问题解决
    文章目录一、缓存穿透1.1问题描述1.2解决方案二、缓存击穿2.1问题描述2.2解决方案三、缓存雪崩3.1问题描述3.2解决方案四、分布式锁4.1问题描述4.2解决方案:使用redis实现分布式锁4.3编写代码4.4优化之设置锁的过期时间4.5优化之UUID防误删4.6优化之LUA脚......
  • P10676 『STA - R6』b20 题解
    题目传送门简单题,主要考察字符串。首先输入一个char类型的数组,然后输入粉丝的数量,最后直接输出数组的第一个以及粉丝的数量即可。温馨提示:提交此题时请务必将数组开大,否则你可能会获得\(90\)分高分。//『STA-R6』b20//codeby:cq_irritater//time:2024/06/30#in......
  • 【秋招突围】2024届秋招笔试-科大讯飞笔试题-03-三语言题解(Java/Cpp/Python)
    ......
  • [JLU] 数据结构与算法上机题解思路分享-第二次上机
    前言首先,请务必自己尽全力尝试实现题目,直接看成品代码,思维就被拘束了,也很容易被查重。这里只是思路解析的博客,代码仓库在JLU_Data_Structures_Record希望你能在这里找到你想要的:)正文A二叉树的创建与遍历分数10作者朱允刚单位吉林大学通过带空指针信息的先根序列(......
  • Atcoder ABC 360 全题解
    致歉对不起,我不应该在全题解的编写上咕咕咕两个月,导致流量大量流失。我知错了,下次还犯。AB无C考虑一个箱子里的所有球,我们需要把这些球放进互不相同的一些箱子里。然而我们可以留一个球在箱子里,显然留重量最大的最好,所以答案就是$\sum_{i=1}^{N}W_i$减去每个箱子里的最......
  • CF1987E 题解
    CF1987E题解题意给定一棵大小为\(n\)的有根树,各点各有一点权\(a_i\)。每次操作可以选定一节点使其点权加一,求最小的操作数,使得任一节点满足其点权不大于其所有儿子的点权之和。\(n\le5000,0\lea_i\le10^9\)题解麻了,赛后十五分钟调出来,可惜为时已晚。读懂题之后......
  • CF1375D Replace by MEX 题解
    题目大意令mexmexmex为序列中最小的没有出现的数。给你一个长度为......
  • GESP 202406 四级认证 T1 题解
    大意:一个只包含000和111的矩形,边长为......
  • ## BZOJ2720 [Violet 5] 列队春游 题解
    Problem对于一个数列\(S\),\(S_0=\infty\),设对于\(S_i\),\(S_{a_i}\)是\(S_i\)之前第一个大于等于\(S_i\)的数。给定\(S\)中的元素,求\(\sum_{i=1}^{n}(i-a_i)\)的期望。Solution我们考虑对于每一种身高的学生,分别统计期望。显然,对于身高为\(h\)的学生,只有身高为\(......
  • ata1.00: exception Emask 0x0 SAct 0x8000000 SErr 0x0 action 0x6 frozen 问题解析
    ata1.00:exceptionEmask0x0SAct0x8000000SErr0x0action0x6frozen硬盘问题测试发现嵌入式linuxvfat文件系统的sata固态硬盘偶然启动时出现异常打印如下:ata1.00:exceptionEmask0x0SAct0x8000000SErr0x0action0x6frozenata1.00:failedcommand:READFPD......