当前位置: 首页 > 编程日记 > 正文

2018.09.01 poj3071Football(概率dp+二进制找规律)

传送门
概率dp简单题。
设f[i][j]表示前i轮j获胜的概率。
如果j,k能够刚好在第i轮相遇,找规律可以发现j,k满足:
(j1)>>(i1)(j−1)>>(i−1)^1==(k1)>>(i1)1==(k−1)>>(i−1)
简单举个例子?
假设有八个人,对应下来二进制为:000,001,010,011,100,101,110,111(注意要减一)。
对应上面的看一下应该就秒懂了。
比如说第一轮中,000和001是一组的,因为它们第0位不同,其余位相同。
然而第一轮中,001和010不是一组的,因为它们第1位也不同。
比如说第二轮中,000可以和011是一组的,因为它们第1位是不同的,且第2位相同。
但是000和110不是一组的,因为它们第2位不同。
于是就有了状态转移方程:
f[i][j]=j,kf[i1][j]f[i1][k]p[i][j]f[i][j]=∑j,k可以在一组f[i−1][j]∗f[i−1][k]∗p[i][j]
解释:
前i-1轮j,k必须不输,且j必须在这一轮战胜k。
代码:

#include<iostream>
#include<cstdio>
#define N 150
using namespace std;
double p[N][N],f[N][N];
int n,len;
int main(){while(scanf("%d",&len)){if(len==-1)break;n=1<<len;for(int i=1;i<=n;++i)for(int j=1;j<=n;++j)scanf("%lf",&p[i][j]),f[i][j]=0;for(int i=1;i<=n;++i)f[0][i]=1;for(int k=1;k<=len;++k){for(int i=1;i<=n;++i){for(int j=1;j<=n;++j){if((((i-1)>>(k-1))^1)==((j-1)>>(k-1)))f[k][i]+=f[k-1][i]*f[k-1][j]*p[i][j];}}}double ans=0;int pos=0;for(int i=1;i<=n;++i)if(ans<f[len][i])ans=f[len][i],pos=i;printf("%d\n",pos);}return 0;
}

转载于:https://www.cnblogs.com/ldxcaicai/p/9738320.html

相关文章:

循环冗余检验CRC

CRC简介 循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数&#xff0c;主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。 在数据传输过程中&#xff0c…

弹性碰撞后速度方向_$1.1.1 弹性碰撞经典例题1——力学及运动学

[ph1] 质量为2m的木块放置于质量为m的长木板上&#xff0c;木块与模板之间的动摩擦系数为 μ &#xff0c;木板与地面的摩擦忽略不计。木块和木板以速度V0向右运动&#xff0c;在右侧足够远处有刚性墙壁&#xff0c;木块与墙壁发生完全弹性碰撞后向左运动&#xff0c;木板有足够…

一个简单实用的,基于EF的三层架构

到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会太差.我觉的这样的框架,就是一个好的框架.而且,我觉的做框架,千万不能…

转:中国互联网十五年的22个创新模式

中国互联网十五年的22个创新模式 今天&#xff0c;看网上有人推荐《沸腾十五年》&#xff0c;讲中国互联网从发源到现今。 有人有如此梳理&#xff0c;自己本来也想梳理一下中国互联网这么多年&#xff0c;到底是哪些公司出来了&#xff0c;为什么会是他们出来了。他们的…

2018 蓝桥杯省赛 B 组模拟赛(一)-年龄

今天蒜头君带着花椰妹和朋友们一起聚会&#xff0c;当朋友们问起年龄的时候&#xff0c;蒜头君打了一个哑谜&#xff08;毕竟年龄是女孩子的隐私&#xff09;说&#xff1a;“我的年龄是花椰妹年龄个位数和十位数之和的二倍”。 花椰妹看大家一脸懵逼&#xff0c;就知道大家也不…

C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件

今天做了一个软件,想发布的时候才发现调用的类没几个,就像把它们都跟EXE文件打包在一起,以后复制去别的地方用也方便,于是上网搜了一下,发现网上大部分都是用ILMerge实现的,于是也自己试了一下,不过网上都没有详细的步骤演示,我就花点时间做了个教程,方便以后再有人想打包自己的…

IPC--消息队列

消息队列的特点 消息队列是生命周期是随进程的&#xff0c;同时消息队列可以实现的是消息的传递方向是双向的。接受者和发送者时通过发送一个数据块来进性消息传递的&#xff0c;每个消息的数据类型不一样依次来进行区分我们该取哪个数据。消息队列是基于消息的&#xff0c;并…

sqlinesdata教程_如何将Oracle数据导入MySQL

Manager进程&#xff1a;需要源端跟目标端同时运行&#xff0c;主要作用是监控管理其它进程&#xff0c;报告错误&#xff0c;分配及清理数据存储空间&#xff0c;发布阈值报告等Extract进程&#xff1a;运行在数据库源端&#xff0c;主要用于捕获数据的变化&#xff0c;负责全…

关于PHP.ini文件的设定

php.ini文件中记录了php的配置&#xff0c;因此正确读取此配置文件对于php的部署实施很重要。 windows平台中&#xff0c;有2种常用的方法。 第一种方法&#xff1a;把php.ini复制到c:\windows目录中。 第二种方法&#xff1a;配置apache服务器&#xff0c;在..\Apache Softwar…

PAT (Advanced Level) 1132~1135:1132 模拟 1133模拟(易超时!) 1134图 1135红黑树

1132 Cut Integer&#xff08;20 分&#xff09; 题意&#xff1a;将一个含K&#xff08;K为偶数&#xff09;个数字的整数Z割分为A和B两部分&#xff0c;若Z能被A*B整除&#xff0c;则输出Yes&#xff0c;否则输出No。 分析&#xff1a;当A*B为0的时候&#xff0c;不能被Z整除…

poj 1523(无向联通图的割点)

结合tarjan算法思想&#xff0c;这题终于写了出来。 同样用dfs将图变成为一颗树&#xff0c;这样可以提供许多有用的性质。 对于一个无向连通图&#xff0c;dfs后的树为只有回边&#xff08;回边Euv,v是u的祖先&#xff09;和生成树的边的图。 那么在遍历到一个点u的时候&#…

IPC--信号量

信号量概念理解 信号量本质上 是一个计数器&#xff0c;用来统计临界资源申请资源的个数。其中的二元信号量的 值是0或者是1&#xff0c;即是要么是有&#xff0c;要么是无。信号量本身也是临界资源&#xff0c;所以一定要保证其原子性。信号量的工作原理&#xff1a;两个进程…

7 自动开启网卡_淘汰的旧手机别扔掉,这样设置变身4G上网卡

很多人都用过usb无线上网卡&#xff0c;把手机SIM卡插到上网的卡槽内&#xff0c;然后把usb上网卡插到电脑usb口&#xff0c;电脑安装好驱动程序后&#xff0c;即可畅游网络世界。当初3G上网卡价格不菲&#xff0c;随着更新换代4G快要过去&#xff0c;5G开始试商用&#xff0c;…

Struts2 的stream result用法

2019独角兽企业重金招聘Python工程师标准>>> <action name"download" class"com.unmi.action.DownloadAction"> <result name"success" type"stream"><!--type 为 stream 应用 StreamResult 处理-->…

Largest Rectangle in a Histogram

ps&#xff1a;单调栈&#xff0c;注意红色部分的代码。 int n;stack<P> s;inline void upd(LL &x, LL y) { (x < y) && (x y); }int main() {while(sc(n) ! EOF && n) {while(!s.empty()) s.pop();LL ans 0;Rep(i, 1, n) {int x;sc(x);if (s.e…

IPC--共享内存

有了之前的学习经验&#xff0c;共享内存对我们学习起来相对简单一些了&#xff0c;这里简单说说共享内存的一些&#xff0c;然后对于函数的分析直接在代码里面的注释部分有说明&#xff0c;如果还是不懂&#xff0c;可以先看看前面的关于IPC–信号量还有IPC–消息队列的讲解 …

2020年行政区划代码_2020年柳州市行政区划,了解柳州市有几个区,详细数据

本文通过整理了柳州市行政区划代码数据及柳州市统计用的城乡划分代码&#xff0c;带你了解柳州市有几个区、县及下面的街道和镇划分详细情况。柳州市有几个区、县、县级市&#xff1f;答&#xff1a;柳州市有5个区、5个县(行政区划2020年7月)。分别为&#xff1a;城中区、鱼峰区…

sql2000 转sql2008

1&#xff0c;在sql2008服务器上新建空数据库&#xff0c;与sql2000同名&#xff0c;当然可以不同名。 2&#xff0c;在sql2008服务器上选择数据库&#xff0c;点右键&#xff0c;任务-导入数据。打开导入数据向导。 3&#xff0c;点击下一步&#xff0c;选择数据源。数据源可以…

linux下查看网卡型号

查看网卡型号[rootcentos /]# lspci | grep Ethernet02:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)我这里型号是79c970,驱动pcnet32.查看驱动信息[rootcentos /]# modinfo pcnet32filename: /lib/modules/2.6.18-194.el5/…

linux_域名映射

vi /etc/hosts在最后加上ip及映射的域名192.168.229.111 node001192.168.229.112 node002192.168.229.113 node003 转载于:https://www.cnblogs.com/lxyuuuuu/p/9578659.html

地址解析协议ARP

设计需求 ARP协议解决的问题就是&#xff1a;在同一个局域网中&#xff0c;解决主机IP地址和硬件地址的映射问题 基本使用原理 当数据在网络中某一条链路传输的时候我们知道目的主机的IP地址&#xff0c;但是不知道硬件地址&#xff0c;ARP协议就是解决这个问题的一个协议&a…

ie8加载js太慢_js ie8 慢

Re请教ap6214f2r版主一些问题引用第2楼ap6214f2r于2012-09-10 14:08发表的 :楼主&#xff0c;关于你说的慢&#xff0c;我去看了下你网站响应速度非常快[attachment26863]这个请求是计算签名&#xff0c;跳转到OSS的。.......老大&#xff0c;我刚才试了一下&#xff0c;不是线…

LINQ : IEnumerableT and IQueryableT区别

本地数据源计算机会自动使用IEnumberable<T>,远程数据源会使用IQueryable<T> 下面这条语句没有使用数据库里的EF数据&#xff0c;显示如下&#xff1a; 下面这条语句使用数据库里的EF数据&#xff0c;显示如下&#xff1a; 针对Linq “LINQ TO to OBJECTS”&#…

九大网络安全失误,需要注意

在我们的职业生涯中大都曾经有过一次这样的经历——我是说你认为足以让你丢掉饭碗的失误。我的第一次重大失误是曾经重启了校园里的所有路由器&#xff0c;不是一个接一个的&#xff0c;而是所有一次完成。我写了一个脚本&#xff0c;为所有的路由器安装一个安全更新&#xff0…

python学习笔记——Thread常用方法

http://blog.sina.com.cn/s/blog_4b5039210100ewie.html Thread对象中的一些方法&#xff1a; 以前说过多线程&#xff0c;用到threading模块中的Thread对象&#xff0c;其中的start和run方法比较熟悉了&#xff0c;start&#xff08;&#xff09;是重载了Thread对象中的run方法…

常见的路由选择算法

一、路由表 所谓路由表&#xff0c;指的是路由器或者其他互联网网络设备上存储的表&#xff0c;该表中存有到达特定网络终端的路径&#xff0c;在某些情况下&#xff0c;还有一些与这些路径相关的度量。 二、常见路由表生成算法 路由算法是提高路由协议功能&#xff0c;尽量…

linux 远程挂载摄像头_基于Linux的嵌入式网络摄像机设计

本嵌入式网络摄像机采用高性能ARM9芯片微处理器&#xff0c;内置嵌入式Web服务器。通过嵌入式多任务操作系统采集摄像机视频数据&#xff1b;采集的视频信号数字化后经MJPEG算法压缩&#xff0c;再通过内部总线送到内置的Web服务器&#xff1b;使用者可以直接用浏览器观看Web服…

2012 ARM嵌入式开发应用研讨会杂谈

记得以前参加的ARM的研讨会&#xff0c;名称是技术研讨会&#xff0c;不知道为什么现在改名为嵌入式开发应用研讨会了。不过今年演讲的重点就是 ARM DS-5开发工具&#xff08;还免费发放了一本《Linux/Android开发利器 ARM DS-5使用指南》书籍&#xff09;&#xff0c;也许这就…

打印不同对象的字节表示 ( 对int*强制转换成unsigned char*的理解 )

此文章参考《深入理解计算机系统》P31。 先看如下代码&#xff1a; 12345的十六进制表示为&#xff1a;0x00003039 1 #include <stdio.h>2 3 int main()4 {5 int a 12345;6 char *q (char *)(&a);7 for(int i 0; i < sizeof(a); i)8 prin…

NAT技术和代理服务器

一、代理服务器 所谓“代理”&#xff0c;就是代而劳之的意思。代理服务器就是代理网络用户去取得网络信息&#xff0c;形象的说&#xff1a;它是网络信息的中转站&#xff0c;使得一个网络终端和另一个网络终端不直接进行相连&#xff0c;代理网络用户去取得信息。主要工作在O…