tyvj1519博彩游戏

博彩游戏

From admin

背景 Background

Bob最近迷上了一个博彩游戏……

描述 Description

这个游戏的规则是这样的:
每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列;
有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否则不中。
Bob会告诉你这M个序列,和身上有的钱的总数N,当然还有R的范围。
请你告诉Bob中奖的概率有多少?

输入格式 InputFormat

第一行三个用空格隔开的数N、M和R的范围R。
其中1<=R<=9,0<N<=60,0<M<=20000。
下面M行每行一个字符串(长度小于等于20),字符串的每一位范围在1-r之间
保证必要运算都在64位整型范围内。

输出格式 OutputFormat

一行一个实数,表示中奖的概率(保留小数点后5位小数)。

样例输入 SampleInput [复制数据]

5 1 3

样例输出 SampleOutput [复制数据]

0.86831

数据范围和注释 Hint

数据分布:
第1个点~第10个点,每个点5分;
第11个点~第15个点,每个点10分。

对于样例的解释:
随机序列一共有3^5=243个,其中包含"1"的个数为211个,则概率为211/243=0.86831

来源 Source

Bob HAN

题解:

这题和上一题差不多

代码 :

 1 var n,m,r,i,j,tot:longint;
 2     ans1,ans2:int64;
 3     a:array[0..400000,0..20] of longint;
 4     f:array[0..60,0..400000] of int64;
 5     fail,q:array[0..400000] of longint;
 6     flag:array[0..400000] of boolean;
 7     s:string;
 8 procedure insert;
 9  var i,now:longint;
10  begin
11  readln(s);now:=1;
12  for i:=1 to length(s) do
13   begin
14   j:=ord(s[i])-ord(‘0‘);
15   if a[now,j]=0 then begin inc(tot);a[now,j]:=tot;end;
16   now:=a[now,j];
17   end;
18  flag[now]:=true;
19  end;
20 procedure acmatch;
21  var h,t,i,now,k:longint;
22  begin
23  h:=0;t:=1;q[1]:=1;fail[1]:=0;
24  while h<t do
25   begin
26   inc(h);now:=q[h];
27   for i:=1 to r do
28    begin
29    if a[now,i]=0 then continue;
30    k:=fail[now];
31    while a[k,i]=0 do k:=fail[k];
32    fail[a[now,i]]:=a[k,i];
33    if flag[a[k,i]] then flag[a[now,i]]:=true;
34    inc(t);q[t]:=a[now,i];
35    end;
36   end;
37  end;
38 procedure init;
39  begin
40  tot:=1;
41  readln(n,m,r);
42  for i:=1 to r do a[0,i]:=1;
43  for i:=1 to m do insert;
44  acmatch;
45  end;
46 procedure dp(x:longint);
47  var i,j,k:longint;
48  begin
49  for i:=1 to tot do
50   begin
51   if (flag[i]) or (f[x-1,i]=0) then continue;
52   for j:=1 to r do
53    begin
54    k:=i;
55    while a[k,j]=0 do k:=fail[k];
56    inc(f[x,a[k,j]],f[x-1,i]);
57    end;
58   end;
59  end;
60 procedure main;
61  begin
62  ans2:=1;
63  f[0,1]:=1;
64  for i:=1 to n do ans2:=ans2*r;
65  for i:=1 to n do dp(i);
66  for i:=1 to tot do
67   if not(flag[i]) then inc(ans1,f[n,i]);
68  writeln((ans2-ans1)/ans2:0:5);
69  end;
70 begin
71  assign(input,‘input.txt‘);assign(output,‘output.txt‘);
72  reset(input);rewrite(output);
73  init;
74  main;
75  close(input);close(output);
76 end.                               

tyvj1519博彩游戏

时间: 2024-10-11 23:16:24

tyvj1519博彩游戏的相关文章

博彩游戏(tyvj 1519)

背景 Bob最近迷上了一个博彩游戏-- 描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列:有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否则不中.Bob会告诉你这M个序列,和身上有的钱的总数N,当然还有R的范围.请你告诉Bob中奖的概率有多少? 输入格式 第一行三个用空格隔开的数N.M和R的范围R.其中1<=R<=9,0<N<=60,0<M<=20000.下面M行每行一个字符串(长度小于等于20),字符串的每

tyvj P1519 博彩游戏(AC自动机+DP滚动数组)

P1519 博彩游戏 背景 Bob最近迷上了一个博彩游戏…… 描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列:有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否则不中.Bob会告诉你这M个序列,和身上有的钱的总数N,当然还有R的范围.请你告诉Bob中奖的概率有多少? 输入格式 第一行三个用空格隔开的数N.M和R的范围R.其中1<=R<=9,0<N<=60,0<M<=20000.下面M行每行一个字符串(长度小于

老铁,你今天赢钱了吗?大数据分析博彩游戏的服务端算法。

背景是某天突然收到朋友的信息,说最近迷上了某款博彩游戏,类似于大街小巷的水果机,说我是IT人士,赶紧帮忙写个外挂大家赚点钱. 一开始我嗤之以鼻,我认为这种看脸的概率问题没必要浪费时间,但朋友说和一般的水果机不同,死缠烂打非让我研究下,于是只能勉强答应了. 根据链接下载了游戏,是客户端游戏,虽然也是水果机,但的确有点不同,小店里的水果机是1对1的关系,而这个是多对1,一个房间内有N个玩家同时玩,下面是这个水果机的大概玩法: 其中8个选项就是我们下注的8个项, 总额:表示该游戏房间内例如有100个玩

[JoyOI1519] 博彩游戏

题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目背景 Bob最近迷上了一个博彩游戏…… 题目描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列:有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否则不中.Bob会告诉你这M个序列,和身上有的钱的总数N,当然还有R的范围.请你告诉Bob中奖的概率有多少? 输入格式 第一行三个用空格隔开的数N.M和R的范围R.其中1<=R<=9,

网站被挂暗链、点开同一链接进入不同页面(博彩页面)、恶意脚本(INCLUDE(pack(&#39;H*&#39;)……)之类

原文链接 论坛被挂暗链问题分析与解决http://blog.kankanan.com/posts/2014/04/01_8bba575b88ab6302669794fe95ee9898520667904e0e89e351b3.html 发现问题 有网友反映我们的论坛被挂了暗链,具体表现为从 google 搜索论坛名称结果如下图所示: 直接搜索论坛网址出现的一些热门帖子也被挂了暗链,通过 google 搜索结果访问会跳到恶意网站, 解决问题 直接通过网址访问论坛则没有任务问题,应该是论坛被注入了恶

移动互联引发博彩狂欢

1.体育博彩是整个博彩行业里市场份额最大的一块,利润非常丰厚: 2.在线销售彩票已经成为主流的彩票销售模式,但是线下的彩票销售网点仍然有很高的价值: 3.借助移动互联网和社交媒体,购买彩票的人群正在扩大,这也为彩票销售带来更多机会. 序世界杯,足球和博彩的狂欢 世界杯正如火如荼的进行着,和每一届世界杯一样,这场体育盛会吸引了全世界数亿人的注意.在激烈的赛场之外,世界杯同样是体育博彩行业的盛会. 每一届世界杯都是博彩公司大赚一笔的机会,但是这一届世界杯的独特之处在于,移动互联网已经成为了体育彩票的

彭界博-飞机游戏

根据老师提供的飞机游戏,经过自己的理解,稍有改动.其源代码如下: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> #define N 35 void print(int [][N]);//输出函数 void movebul(int [][N]);//子弹移动函数 void movepla(int [][N]);//敌机移动函数 void setting(v

博猫游戏电子娱乐

正点强势打造2017电子娱乐最佳体验平台 众所周知,伴随着"互联网+"时代的来临,现代人越发依赖互联网平台,而电子娱乐更成为21世纪最受人们欢迎的娱乐方式之一. 作为业界的翘楚,正点娱乐集团则公开表示:娱乐平台的安全性是电子娱乐的生命所在.更是玩家娱乐可靠性的关键!正点集团专注电子娱乐14年,强势打造2017电子娱乐最佳体验平台! 据悉,自2000以来上规模的电子娱乐平台共有1600多个,但随着竞争的激烈.技术的更迭以及玩家需求的不断变革,玩家们熟知的众多平台纷纷遭到淘汰,从而损害了玩

项目经验-博彩网站

本次使用的是由thinkphp的产品onethink开发 以下是本次项目积累的一些经验,方便以后查阅 1.在onethink框架内修改团队信息 因为onethink采用的是插件开发,所以我们必须找到那个并不好找的页面,下面直接给路径 Addons/DevTeam/widget.html 2.onethink需要引用公共资源目录的文件时 这主要指的是引用public公共资源目录下的东西,配置文件在Application/Home/Conf/config.php 使用的时候需要大写 所有内置标签都需