51Nod-1630-B君的竞技场
来源:互联网 发布:热敏纸打印软件 编辑:程序博客网 时间:2024/04/30 01:51
ACM模版
描述
题解
这个题竟然是积分,第一次遇见积分的问题……好题。
题解我就懒得写了,因为我也是半懂半懵逼状态,给大家一个极其详尽的题解链接,我佐学姐的题解,可以在我的博客左边找到我学姐的博客,里面的博客都是十分详细的题解,(学姐出品,必为精品),当然,懒得话直接点 这里。
没毛病,就这样吧~~~我有一份十分好的求积分的模版,
代码
#include <iostream>using namespace std;const int MAXN = 22;int x, y;double a[] = {2, 0, 1};double b[] = {2, 1, -1};double dp[MAXN][MAXN][MAXN << 1];void get_dp(int x, int y, double z[], double w[]){ dp[x][y][0] = max(dp[x][y][0], z[0] + w[0] - 1); for (int i = 1; i <= z[0]; i++) { for (int j = 1; j <= w[0]; j++) { dp[x][y][i + j - 1] += z[i] * w[j]; } }}double get_res(int x, int y){ double ret = 0; for (int i = 1; i <= dp[x][y][0]; i++) { ret += dp[x][y][i] / i; } return ret;}int main(){ scanf("%d%d", &x, &y); dp[0][0][0] = dp[0][0][1] = 1; for (int i = 0; i < y; i++) { for (int j = 0; j < x; j++) { if (i > 0) { get_dp(i, j, dp[i - 1][j], b); } if (j > 0) { get_dp(i, j, dp[i][j - 1], a); } } } double res = 0; for (int i = 0; i < y; i++) { get_dp(i, x, dp[i][x - 1], a); res += get_res(i, x) * x; } for (int i = 0; i < x; i++) { get_dp(y, i, dp[y - 1][i], b); res += get_res(y, i) * i; } printf("%f\n", res); return 0;}
阅读全文
0 0
- 51nod 1630 B君的竞技场
- 51Nod-1630-B君的竞技场
- 51NOD算法马拉松11 B君的竞技场
- 51nod1630 B君的竞技场
- 51nod-1714 B君的游戏
- 51NOD 1629 B君的圆锥
- 51nod B君的圆锥
- 51nod 1632 B君的连通
- 51nod 1714 B君的游戏
- 51Nod-1714-B君的游戏
- 51nod-【1629 B君的圆锥】
- 51Nod 1629 B君的圆锥
- 51nod 1714 B君的游戏
- 51nod 1629 B君的圆锥
- 51nod-1632B君的连通
- 51Nod 1629 B君的圆锥
- 51nod 1714 B君的游戏
- 51nod 1629 B君的圆锥
- 欢迎使用CSDN-markdown编辑器
- maven环境搭建并运行springboot项目
- LeetCode-13-Roman to Integer(罗马数字转换为整型数字)
- 服务架构的发展
- NKOJ3776 工资管理(树状数组)
- 51Nod-1630-B君的竞技场
- CSS(1)__CSS基础
- TABLECONTROL
- 进程池和线程池
- 计数排序
- 滤波学习资源 总结
- IT蓝豹,Android炫酷效果源码
- vs2012调试时,断点错位、变量的内存信息混乱,无法正常单步调试
- Android开发 之 view的移动方法