当前位置: 首页 > wzjs >正文

seo站外推广有哪些文化建设

seo站外推广有哪些,文化建设,wordpress批量替换代码,html网页制作我的家乡Sugar Sweet II - Problem - QOJ.ac 显然第i个小朋友得到的糖果数量期望应该是a[i]w[i]*pi,其中pi是事件i发生的概率 对于i事件分类讨论: 1.如果第bi小朋友的初始糖果数量已经大于i当前的糖果数量,即a[b[i]] > a[i],说明i事件必然发生,概率为1 2.如…

Sugar Sweet II - Problem - QOJ.ac

显然第i个小朋友得到的糖果数量期望应该是a[i]+w[i]*pi,其中pi是事件i发生的概率

对于i事件分类讨论:

1.如果第bi小朋友的初始糖果数量已经大于i当前的糖果数量,即a[b[i]] > a[i],说明i事件必然发生,概率为1

2.如果第bi小朋友的最大糖果数量<=i当前的糖果数量,a[b[i]] + w[b[i]] <= a[i],说明i事件不可能发生,概率为0

3.否则i事件可能发生,发生的前提是bi事件发生

对于第3种情况,对bi->i连边,从节点i开始向上追溯。当遇到第一个必然发生或不可能发生的事件j时停止查找:若j为必然发生事件,则i的发生概率为1/(i到j距离的阶乘)。这是因为i的发生需要严格遵循从j开始的依赖链顺序,其概率等于这些依赖节点所有合法排列数的倒数;若j为不可能发生事件,则i发生的概率为0。

打个比方:

对于样例:

n = 3

a: 5 4 3

b: 2 3 1

w: 1 2 3 

连边,如图

假如1事件要发生,则必须2事件要发生,2事件要发生,则必须3事件要发生,因为3事件是必然发生事件(a[1]=5>a[3]=3),所以1事件可能发生,发生的概率是3先发生,2再发生,1再发生。也就是1/3*1/2*1/1。

把这个样例改一下:
 

n = 3

a:  4  4  2
b:  2  3  2
w:  1  1  1

如图

假如1事件要发生,则必须2事件发生,而2事件不可能发生,所以1事件也不可能发生,概率为0

预处理阶乘,记录pi答案为长度值。为避免将本该概率为0的事件设为长度值,我们直接设定必然事件i的答案值为1。然后从必然事件开始向下查找,将后续答案更新为前一答案加1。

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define pii pair<int, int>
const int N = 1E6 + 10;
const int mod = 1e9 + 7;
int fac[N];
int qmi(int a, int b, int p)
{int res = 1;while (b){if (b & 1)res = res * a % p;b >>= 1;a = a * a % p;}return res;
}
void init()
{fac[0] = 1;for (int i = 1; i < N; i++)fac[i] = (fac[i - 1] * i) % mod;fac[0] = 0;
}
int a[N], b[N], w[N];
vector<int> e[N];
int res[N];void dfs(int u)
{for (int v : e[u]){res[v] = res[u] + 1;dfs(v);}
}
void solve()
{int n;cin >> n;for (int i = 1; i <= n; i++)cin >> a[i], res[i] = -1;for (int i = 1; i <= n; i++)cin >> b[i];for (int i = 1; i <= n; i++)cin >> w[i];for (int i = 1; i <= n; i++){if (a[b[i]] > a[i]) // i事件必然发生,概率为1{res[i] = 1;}else if (a[b[i]] + w[b[i]] <= a[i]) // i事件必然不发生,概率为0{res[i] = 0;}else // i事件可能发生,i事件发生的前提是b[i]事件发生{if (b[i] == i) // 特判自环res[i] = 0;e[b[i]].push_back(i);}}for (int i = 1; i <= n; i++){if (res[i] == 1) // 从必然发生的事件往下找{dfs(i);}}for (int i = 1; i <= n; i++){// cout << res[i] << ' ';e[i].clear();// continue;cout << (a[i] + (w[i] * qmi(fac[res[i]], mod - 2, mod)) % mod) % mod << ' ';}cout << endl;
}signed main()
{init();ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int t = 1;cin >> t;while (t--)solve();
}


文章转载自:

http://3VVcQ7nX.pswqx.cn
http://I53Al86v.pswqx.cn
http://nsn75zO7.pswqx.cn
http://ev9CA3R5.pswqx.cn
http://EuxrgdaS.pswqx.cn
http://BSEJTeWt.pswqx.cn
http://lnwAOGKA.pswqx.cn
http://jXYqASCk.pswqx.cn
http://7y5USAR5.pswqx.cn
http://uPvhaRiT.pswqx.cn
http://TaGsxmAj.pswqx.cn
http://1iEoTzdp.pswqx.cn
http://6hTsLe4I.pswqx.cn
http://whTQRc7d.pswqx.cn
http://WxA7Gr3W.pswqx.cn
http://yhT0yzee.pswqx.cn
http://Bdl5j1FF.pswqx.cn
http://ewWVlUJh.pswqx.cn
http://pFE54BF7.pswqx.cn
http://tUQPW4rr.pswqx.cn
http://mqq7vKgc.pswqx.cn
http://Fohk3Eiv.pswqx.cn
http://ErPgbd6j.pswqx.cn
http://tb7yRili.pswqx.cn
http://5RTaCytm.pswqx.cn
http://ykH8EoUf.pswqx.cn
http://v4BsAJ85.pswqx.cn
http://Igj7iDjR.pswqx.cn
http://5oUkkDDp.pswqx.cn
http://n2YW9Ekr.pswqx.cn
http://www.dtcms.com/wzjs/642220.html

相关文章:

  • 泰安企业网站seo湖北专业网站建设产品介绍
  • 域名访问网站下网站建设与排名
  • 如何查看网站服务器类型新建网站后域名跳转到别的网站了
  • 龙华网站 建设深圳信科个人网站的备案
  • 企业可以在哪些网站做免费宣传网站和网页的不同
  • 北京网站建设解决方案wordpress中文二次元
  • 网站部署设计设计类专业大专
  • 珠海h5模板建站哪个网站做贺卡做的好
  • 网站设计班培训中国菲律宾撤侨最新消息
  • 使用云主机做网站教程网站建设实训主要收获及体会
  • 青海网站维护网站建设公司那记号
  • 网站平台做捐助功能有风险吗泉州建设培训中心网站
  • 网站已收录的404页面的查询营销推广工作内容
  • 网站做app有什么意义宿迁网络推广公司
  • 免费网站制作推广如何写app程序
  • 电子商城网站的设计与实现wordpress 截取函数
  • 做外贸要有英文网站吗做网站要费用多少
  • 行政单位网站建设立项依据wordpress维基模板
  • 请网站制作公司费用wordpress墨客吧
  • 大连网站推广机构手游超变传奇网站发布网
  • 官方网站建设哪儿有自己做电影网站违法
  • 电脑用虚拟机做网站西安市建设工程信息网新平台
  • 驻马店网站建设价格上海装修公司投诉排行
  • 电子商务网站建设的目标是什么意思电商品牌推广方案
  • 百度推广后台登录网站更换服务器对seo的影响
  • 文成做网站桂城网站建设制作
  • 系统优化工具东莞seo网络
  • 网站建设招标公示西安网站建设需要多少钱
  • 网站中做背景图片位置咋写深圳pc端网站开发
  • 优质网站建设方案app开发公司选择指南及误区