VIrtuoso

两把多兰剑加个布甲鞋

导航

2019年5月3日 #

Hello 2019 D 素因子贡献法计算期望 + 概率dp + 滚动数组

摘要: 题意 给你一个n和k,问n经过k次操作之后留下的n的期望,每次操作n随机变成一个n的因数 题解 概率dp计算出每个素因子留下的概率,乘以这个素因子的值就是这个素因子的贡献期望 定义$dp[i][j]$为第i次操作后剩下j个素因子的概率, 概率dp顺着推 $dp[i][j] dp[i+1][k](k 阅读全文

posted @ 2019-05-03 19:42 VIrtuoso 阅读(127) 评论(0) 推荐(0) 编辑

Codeforces Round #530 (Div. 2) F 线段树 + 树形dp(自下往上)

摘要: 题意 一颗n个节点的树上,每个点都有$x[i]$个饼干,然后在i节点上吃一个饼干的时间是$t[i]$,有n 1条边,每条边有边权w为经过一条边所需时间,你从树根开始先手向下走,然后对手割掉你所在节点到子节点的任意一条边,你可以在任何时间选择返回,在返回的过程中你可以选择性吃掉经过节点的饼干,问在双方 阅读全文

posted @ 2019-05-03 18:36 VIrtuoso 阅读(143) 评论(0) 推荐(0) 编辑

Codeforces Round #549 (Div. 2) E 倍增处理按排列顺序的上一个位置

摘要: 题意 p为n的一个排列,给出有m个数字的数组a,q次询问,每次询问a数组区间[l,r]中是否存在子序列为p的循环排列 题解 预处理出值x在排列中的上一个值_p[x] 从左向右扫一遍a数组,维护值x最后出现的地方$pre[x]$,和每个位置i在排列顺序下前j个数在数组中的位置$par[i][j]$(倍 阅读全文

posted @ 2019-05-03 16:03 VIrtuoso 阅读(138) 评论(0) 推荐(0) 编辑

Codeforces Round #549 (Div. 2) D 数学

摘要: 题意 有nk个城市,第1,k+1,2k+1,...,(n 1)k+1城市有餐厅,你每次能走l距离,a为起始位置离最近餐厅的距离,b为走了一次后离最近餐厅的距离,给出n,k,a,b,求你回到起点最少和最多停留次数 题解 $yl=xnk,有y=xnk/l,即y=lcm(xnk,l)/l$ 枚举a(两种情 阅读全文

posted @ 2019-05-03 14:59 VIrtuoso 阅读(162) 评论(0) 推荐(0) 编辑