[AT2164] [agc006_c] Rabbit Exercise】的更多相关文章

题目链接 AtCoder:https://agc006.contest.atcoder.jp/tasks/agc006_c 洛谷:https://www.luogu.org/problemnew/show/AT2164 Solution 注意到设第\(i\)个点的期望位置为\(p_i\),由中点公式可知这个点移动一次的期望位置变成了: \[ p_i'=\frac{2p_{i+1}-p_i+2p_{i-1}-p_i}{2}=p_{i+1}+p_{i-1}-p_i \] 考虑这个序列的差分数组\(\…
首先我们可以考虑一下 \(x\) 关于 \(y\) 的对称点的坐标,不难发现就是 \(x + 2 \times (y - x)\),那么期望的增量就会增加 \(2 \times (y - x)\).不难发现我们可以令 \(dp_{i, j}\) 表示 \(j\) 第 \(i\) 次操作(即假设进行了 \(p\) 轮操作,当前是第 \(q\) 次操作,则 \(i = (p - 1) \times m + q\)),则会有转移: \[dp_{i, a_q} += \frac{1}{2} \times…
传送门 解题思路 首先考虑k=1的情况,对于每一个a[i],它可能会到a[i-1]*2-a[i] 与 a[i+1]*2-a[i]两个位置,概率都为%50,那么它的期望位置为 (a[i-1]*2-a[i]+a[i+2]*2-a[i])/2 即为 a[i+1]+a[i-1]-a[i] 对于以后的位置,可以把这个位置的期望位置视作它的变化,所以也可以直接算.做出差分数组,对于i与i+1,diff[i]=a[i]-a[i-1] ,diff[i+1]=a[i+1]-a[i],如果让i这个位置跳,diff[…
题目链接:https://www.luogu.org/problemnew/show/AT2164 https://agc006.contest.atcoder.jp/tasks/agc006_c 题目 中文描述:…
题意: 有n只兔子,i号兔子开始的时候在a[i]号位置.每一轮操作都将若干只兔子依次进行操作: 加入操作的是b[i]号兔子,就将b[i]号兔子移动到关于b[i]-1号兔子现在所在的位置对称的地方,或者是关于b[i]+1号兔子现在所在的位置对称的地方,两者是等概率的.现在给出每一轮操作的兔子编号及顺序,要你求k轮之后每只兔子的位置的期望.保证操作的兔子编号为2~n-1. 数据范围: 1<=n,每一轮的操作数量<=100000 1<=k<=10^18 思路: 看见k这么大,肯定第一反应…
题目:https://agc006.contest.atcoder.jp/tasks/agc006_c 选了 i 位置后 x[ i ] = x[ i-1 ] + x[ i+1 ] - x[ i ] . 从差分序列来看,选 i 位置后就是 swap( a[ i ] , a[ i+1 ] ) . 一组之后就是一个置换.找一下每个位置所在的环就行了. #include<iostream> #include<cstdio> #include<cstring> #include&…
题目:https://agc006.contest.atcoder.jp/tasks/agc006_c 考虑 \( i \) 号兔子移动后位置的期望,是 \( x_{i+1} + x_{i-1} - x_{i} \) 然后作差分,发现按顺序移动一次,实际上是交换了 \( d_{a_{i}} \) 和 \( d_{a_{i}+1} \) 于是可以先处理出移动一次的置换,然后快速幂: 而这是 \( nlogn \) 的做法,还可以找循环来做到 \( O(n) \) ,可见 Narh 的博客: 就写了…
题目传送门:https://agc006.contest.atcoder.jp/tasks/agc006_c 题目翻译 数轴上有\(N\)只兔子,从\(1\)到\(N\)编号,每只兔子初始位置是\(x_i\).现在兔子们要开始做运动,运动都有\(M\)个步骤,对于第\(i\)个步骤,我们用\(a_i\)来形容它,意思是: 在当前步骤中,从左至右数第\(a_i\)只兔子将会跳跃.我们在\(a_i-1\)和\(a_i+1\)两只兔子中等概率的选择一个兔子,假设我们选择的是\(x\),那么第\(a_i…
正题 题目链接:https://www.luogu.com.cn/problem/AT2164 题目大意 \(n\)只兔子编号为\(1\sim n\),第\(i\)只在坐标轴\(x_i\)处.然后\(m\)次跳跃,每次给出\(a_i\),编号为\(a_i\)的兔子会等概率的选取\(a_{i-1}\)和\(a_{i+1}\)跳跃到对称位置.进行\(k\)轮,求最后每只兔子的期望位置. \(3\leq n\leq 10^5,1\leq m\leq 10^5,1\leq k\leq 10^{18}\)…
题目描述 有\(n\)只兔子站在数轴上.为了方便,将这些兔子标号为\(1\ldots n\).第\(i\)只兔子的初始位置为\(a_i\). 现在这些兔子会按照下面的规则做若干套体操.每一套体操由\(m\)次跳跃组成:在第\(j\)次跳跃的时候,第\(c_j(2≤c_j≤n−1)\)只兔子会等概率随机选择第\(c_j−1\)或\(c_j+1\)只兔子中的一只(不妨设选择了第\(x\)只兔子),然后跳当前位置到关于第\(x\)只兔子对称的点. 这些兔子会按顺序做\(k\)套相同的体操.现在请你求出…