zoj 3605
链接
[https://vjudge.net/contest/293343#problem/F]
题意
就是有n碗,有一个宝石,知道开始宝石在那个碗下面
进行M次交换,但知道其中的k次,问你最可能在那个碗
分析
概率dp
状态定义;dp[i][j][r];
当前进行i次知道其中j次宝石在第r碗的方案数
最后就是就是进行m知道K次的方案数最多的那个碗
状态转移:
具体看代码吧
代码
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll dp[60][60][60];
int t,n,m,k,s;
int main(){
scanf("%d",&t);
while(t--){
memset(dp,0,sizeof(dp));
scanf("%d%d%d%d",&n,&m,&k,&s);
dp[0][0][s]=1;
int x,y;
for(int i=1;i<=m;i++){//当前操作次数
scanf("%d%d",&x,&y);
for(int j=1;j<=n;j++){//当前位置
for(int r=0;r<=k;r++)//知道的次数
{
if(r!=0){
if(x==j)
dp[i][r][j]+=dp[i-1][r-1][y];
else if(y==j)
dp[i][r][j]+=dp[i-1][r-1][x];
else dp[i][r][j]+=dp[i-1][r-1][j];
}
dp[i][r][j]+=dp[i-1][r][j];
}
}
}
int flag; ll ma=-1;
for(int i=1;i<=n;i++)
if(dp[m][k][i]>ma){
ma=dp[m][k][i];
flag=i;
}
printf("%d\n",flag);
}
return 0;
}
zoj 3605的更多相关文章
- ZOJ 3605 Find the Marble(dp)
Find the Marble Time Limit: 2 Seconds Memory Limit: 65536 KB Alice and Bob are playing a game. ...
- ZOJ 3605Find the Marble(dp)
ZOJ 3605 大体意思就是 找出随机选了K个交换后 石子在第i个罐子里的概率最大 也就是可能的总数最大 这样就可以写出递推方程 dp[i][j][k] += dp[i-1][e][k]; (0&l ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
- ZOJ People Counting
第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ 3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...
- ZOJ 3686 A Simple Tree Problem
A Simple Tree Problem Time Limit: 3 Seconds Memory Limit: 65536 KB Given a rooted tree, each no ...
- ZOJ Problem Set - 1394 Polar Explorer
这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...
- ZOJ Problem Set - 1392 The Hardest Problem Ever
放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...
- ZOJ Problem Set - 1049 I Think I Need a Houseboat
这道题目说白了是一道平面几何的数学问题,重在理解题目的意思: 题目说,弗雷德想买地盖房养老,但是土地每年会被密西西比河淹掉一部分,而且经调查是以半圆形的方式淹没的,每年淹没50平方英里,以初始水岸线为 ...
- ZOJ Problem Set - 1006 Do the Untwist
今天在ZOJ上做了道很简单的题目是关于加密解密问题的,此题的关键点就在于求余的逆运算: 比如假设都是正整数 A=(B-C)%D 则 B - C = D*n + A 其中 A < D 移项 B = ...
随机推荐
- 在Linux(Centos7)上使用Docker运行.NetCore
在上一篇中我们写了如何在windows中使用docker运行.netcore,既然我们了解了windows下的运行发布,我们也可以试试linux下使用docker运行.netcore项目,那么今天我们 ...
- LogcatHelperDemo【应用log信息保存成本地文件】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 简单记录下LogcatHelper的使用,并对原有代码进行了修改[因为保存到应用内的目录中不需要申请权限,所以去掉保存到SD的功能- ...
- 实现一个简单的基于Token的身份认证
这个例子是基于客户端与webapi进行进行交互的身份认证,当然也适用于其他情况下的身份认证. 简单的交互过程: 1.首先输入用户名.密码进行登录操作 2.服务器验证用户名.密码的正确性,验证通过之 ...
- 【春华秋实】.NET Core之只是多看了你一眼
感官初体验 技术学习是一件系统性的事情,如果拒绝学习,那么自己就会落后以至于被替代..NET也是一样,当开源.跨平台成为主流的时候,如果再故步自封,等待.NET的就是死路一条,幸好.NET Core问 ...
- DS控件库 DSLed控件呈现滚动字幕效果
滚动字幕效果在DSled上可以使用偏移来实现,代码如下 运行效果
- 封装继承多态(OOP)
封装:把事物封装成类,私有化属性. 继承:共同的特性封装在父类,子类就有父类的属性 父类已经实现了的方法,子类也有需要前面+New 隐藏父类的方法,就不报错了,有这个语法,面试的时候问过,不推荐用. ...
- 三星5.0以上机器最简单激活Xposed框架的经验
对于喜欢钻研手机的哥们来说,经常会接触到XPOSED框架及种类繁多功能强大的模块,对于5.0以下的系统版本,只要手机能获得ROOT权限,安装和激活XPOSED框架是比较轻易的,但随着系统版本的更新,5 ...
- QT连接postgreSQL
这是我之前项目遇到的问题,连接postgreSQL数据库,一直找不到引擎,最后终于找到 原因了,需要程序加载 1.安装postgresql客户端,2.需要配置postgresql客户端的bin和lib ...
- idea Maven项目找不到相关依赖包(红色波浪线)
前两天做项目的时候,把团队其他人的代码从git同步到自己电脑上,出现了冲突.发现是maven依赖出现了问题,之前的截图找不到了,我就简单描述一下.就是下图箭头所示位置出现了红色波浪线. 在网上找了很多 ...
- Java Web相关问题
关于这两天主要问题的解答: (1) 驱动程序无法使用安全套接字层(SSL)加密与 SQL Server 建立安全连接.错误: java.lang.RuntimeException: Could no ...