容易发现操作任意次并不会改变每一个点的概率(因为每一个点加d的概率相同,期望与原数成比例),然后直接输出即可(要用高精度)

 1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 20005
4 int n,m,k,x,s,a[N],vis[N],p[N],mi[N],sum[N];
5 void calc(){
6 memset(a,0,sizeof(a));
7 a[0]=a[1]=1;
8 for(int i=1;i<N-4;i++)
9 for(int j=1;j<=sum[i];j++){
10 a[1]=a[1]*i;
11 for(int k=2;k<=a[0];k++){
12 a[k]=a[k]*i+a[k-1]/10;
13 a[k-1]%=10;
14 }
15 while(a[a[0]]>9){
16 a[a[0]+1]=a[a[0]]/10;
17 a[a[0]++]%=10;
18 }
19 }
20 for(int i=a[0];i;i--)printf("%d",a[i]);
21 }
22 int main(){
23 for(int i=2;i<N-4;i++){
24 if (!vis[i])p[++p[0]]=i;
25 for(int j=1;(j<=p[0])&&(i*p[j]<N-4);j++){
26 vis[i*p[j]]=1;
27 mi[i*p[j]]=p[j];
28 if (i%p[j]==0)break;
29 }
30 }
31 scanf("%d%d%d",&n,&m,&k);
32 for(int i=1;i<=n;i++){
33 scanf("%d",&a[i]);
34 s+=a[i];
35 }
36 for(int i=1;i<=m;i++){
37 scanf("%*d%d",&x);
38 sum[a[x]]++;
39 sum[s]--;
40 a[x]+=k;
41 s+=k;
42 }
43 for(int i=N-5;i;i--){
44 if (vis[i]){
45 sum[mi[i]]+=sum[i];
46 sum[i/mi[i]]+=sum[i];
47 sum[i]=0;
48 }
49 }
50 calc();
51 printf("/");
52 for(int i=N-5;i;i--)sum[i]*=-1;
53 calc();
54 }

最新文章

  1. 【夯实PHP基础系列】JQuery easyUI的使用
  2. a版本冲刺第五天
  3. MVC4 WEBAPI(一)使用概述
  4. Array-练习-自定义功能
  5. js与jsp
  6. MXS 编辑器外观
  7. 使用MSCOMM发送任意文件,还有一些注意事项
  8. linux 下面 opcache 拓展
  9. c# List集合的Find方法适用
  10. HttpServletResponse HttpServletRequest RequestDispatcher
  11. make的命令行选项
  12. HDU 6035(树形dp)
  13. 判断NaN的真假
  14. 最长公共子序列LCS(POJ1458)
  15. 【Little Demo】从简单的Tab标签到Tab图片切换
  16. POJ - 题解sol[暂停更新]
  17. 黑白二值图像周长测量--C#实现
  18. Navi.Soft31.WebMVC框架(含示例地址)
  19. iOS 真机调试 Xcode 显示 device Error: device unavailable
  20. STS的安装教程-鹏鹏

热门文章

  1. SphereEx 创始人张亮云咖访谈回顾:构建数据服务的新思路
  2. mysql创建用户及赋予某用户权限(附带基础查看表内容)
  3. kvm安装window系统及使用NFS动态迁移
  4. 安装 webstorm---&gt;vue
  5. [no code][scrum meeting] Beta 5
  6. Noip模拟10 2021.6.27
  7. PWM通过RC低通滤波器模拟DAC
  8. 面试官问:说说你对Java函数式编程的理解
  9. Envoy实现.NET架构的网关(二)基于控制平面的动态配置
  10. 像素设定 牛客网 程序员面试金典 C++ Python