Regionals 2012, North America - Greater NY 解题报告
这套题。。除了几何的都出了
完全没时间学几何。杯具
A,B,J
水题不解释
这题的话
写几个不等式限制边得范围就行了
然后枚举最小边
这题的话。
正解是一个n^3的dp
dp[i][j][k] 表示第i步走到第j位置最右为k的概率
然后用滚动数组搞,非常简单。
但是还有一种n ^ 2的方法。 被我在比赛中试出来的。
大概是直接记录的第i步走到最右为j的概率
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#define MAXN 111111
#define INF 1000000007
using namespace std;
int st;
double dp[1111][1111];
double L, R;
int main()
{
int T, cas;
scanf("%d", &T);
while(T--)
{
scanf("%d%d", &cas, &st);
memset(dp, 0, sizeof(dp));
dp[0][0] = 1;
scanf("%lf%lf", &L, &R);
for(int i = 1; i <= st; i++)
for(int j = 0; j <= st; j++)
{
dp[i][j] += dp[i - 1][j + 1] * L + dp[i - 1][j] * (1.0 - L - R);
if(j > 0) dp[i][j] += dp[i - 1][j - 1] * R ;
else dp[i][j] += dp[i - 1][j] * L;
}
double ans = 0;
for(int i = 1; i <= st; i++)
ans += dp[st][i] * i;
printf("%d %.4f\n", cas, ans);
}
return 0;
}
按照题目所说预处理一下就行了
注意中间过程会爆int
这题的话。
如果观察能力强的可以推推公式
不行的话。就像我这样用状压DP打表
令dp[i][j][k] 表示第i步,末尾为j士兵,取过的士兵集合为k的方案数
那么有两种,一种是大小大小这样,一种是小大小大这样
所以要求两次
然后打个表就行了。
后来发现第一维没必要。。 因为已经包含在第三维里了
代码就不粘贴了。
逗比题目
不给数据范围
最后发现数据范围巨小,不超过10
然后BFS就行
但是没SPJ。 呵呵
H, I 留坑
Regionals 2012, North America - Greater NY 解题报告的更多相关文章
- 组队练习赛(Regionals 2012, North America - East Central NA)
A.Babs' Box Boutique 给定n个盒子,每个盒子都有长宽高(任意两个盒子长宽高不完全相同),现在选盒子的任意两面,要求x1 <= x2 && y1 <= y ...
- 130825组队赛-Regionals 2012, North America - East Central NA
A.Babs' Box Boutique 一道简单的dfs搜索题,需要两两比较,然后搜到底,得到最大值就行了.比赛时队友写的,我只负责debug..赛后自己写的.. #include<iostr ...
- Regionals 2013 :: North America - Southeast USA
Regionals 2013 :: North America - Southeast USA It Takes a Village As a Sociologist, you are studyin ...
- 2015 UESTC Winter Training #6【Regionals 2010 >> North America - Rocky Mountain】
2015 UESTC Winter Training #6 Regionals 2010 >> North America - Rocky Mountain A - Parenthesis ...
- 【LeetCode】538. Convert BST to Greater Tree 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...
- 2012 East Central Regional Contest 解题报告
昨晚各种莫名其妙卡题. 不过细看这套题还挺简单的.全是各种暴力. 除了最后一道题计算几何看起来很麻烦的样子,其他题都是很好写的吧. A. Babs' Box Boutique 题目大意是给出不超过10 ...
- LeetCode 538 Convert BST to Greater Tree 解题报告
题目要求 Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the origi ...
- 【LeetCode】556. Next Greater Element III 解题报告(Python)
[LeetCode]556. Next Greater Element III 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人 ...
- NOIP2012普及组 (四年后的)解题报告 -SilverN
本章施工仍未完成 现在的时间是3.17 0:28,我困得要死 本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤. 尝试了用floyd写T4,终于大功告 ...
随机推荐
- Python网络编程——获取远程设备的IP地址
有时需要把设备的主机名转换成对应的IP地址,下面是一个简单的操作. import socket def get_remote_machine_info(): # 定义get_remote_machin ...
- What is Webhook ( Introduction to Webhook )
A webhook in web development is a method of augmenting or altering the behavior of a web page, or we ...
- shell学习之字符串处理
1.获取字符串长度 value=abcd;echo ${#value} 输出:42.获取子串 value=abcd;:} 输出:d value:a:b,其中a表示起始位置,b表示获取的子串的长度. 3 ...
- FluentConsole是一个托管在github的C#开源组件
FluentConsole是一个托管在github的C#开源组件 阅读目录 1.控制台能有啥滑头? 2.FluentConsole基本介绍 3.使用介绍 4.资源 从该系列的第一篇文章 .NET平台开 ...
- QT无标题窗口在任务栏显示关闭(增加系统菜单)
在对话框中使用了如下代码: setWindowFlags(Qt::FramelessWindowHint); 在任务栏上右键点击程序,不会弹出菜单,解决办法,使用下面代码: setWindowFlag ...
- QStringLiteral(源代码里有一个通过构造函数产生的从const char*到QString的隐式转换,QStringLiteral字符串可以放在代码的任何地方,编译期直接生成utf16字符串,速度很快,体积变大)
原作者: Olivier Goffart 点击打开链接http://woboq.com/blog/qstringliteral.html 译者: zzjin 点击打开链接http://www.tuic ...
- CMake 简单介绍
CMake特点 CMake需要用户用CMake规范的语法编写CMake脚本,该语法简单易用,入门极其顺手 原生支持 C/C++/Fortran/Java 的相依性的自动分析功能,免除了程序员对代码依赖 ...
- poj 1056 IMMEDIATE DECODABILITY(KMP)
题目链接:http://poj.org/problem?id=1056 思路分析:检测某字符串是否为另一字符串的前缀,数据很弱,可以使用暴力解法.这里为了练习KMP算法使用了KMP算法. 代码如下: ...
- SqlServer和Oracle中一些常用的sql语句10 特殊应用
--482, ORACLE / SQL SERVER --订购数量超过平均值的书籍 WITH Orders_Book AS ( SELECT Book_Name, SUM(Qty) Book_Qty ...
- c 中有关打印*,字符的题目集
#include<stdio.h> //1.打印* void priStar() { printf("输入一个整数\n"); int num; scanf(" ...