博客
关于我
算法擂台微积分习题问题解答
阅读量:142 次
发布时间:2019-02-27

本文共 1450 字,大约阅读时间需要 4 分钟。

??????n????S?????????????????????????a_i?b_i???????????????????????????

????

  • ?????????????????x_i??????????x? + x? + ? + x_n = S?????a_i ? x_i ? b_i?
  • ?????????????dp???dp[i][j]???i???j???????
  • ????dp[0][0] = 1????0??0????????
  • ??????????i??????x_i????dp???????????????j?dp[i][j + x_i] += dp[i-1][j]?
  • ???????????????????????????
  • ????

    #include 
    #include
    #include
    using namespace std;int main() { int n, S; cin >> n >> S; vector
    a(n), b(n); for (int i = 0; i < n; ++i) { cin >> a[i] >> b[i]; } vector
    dp(S + 1, 0); dp[0] = 1; for (int i = 0; i < n; ++i) { int min_sum = 0, max_sum = 0; for (int j = 0; j <= S; ++j) { if (dp[j] > 0) { min_sum = min(min_sum, j + a[i]); max_sum = max(max_sum, j + b[i]); } } if (max_sum > S) max_sum = S; if (min_sum > S) { dp = vector
    (S + 1, 0); break; } for (int j = max(0, S - max_sum); j <= S; ++j) { int current = j; for (int k = a[i]; k <= b[i]; ++k) { if (current - k >= 0 && dp[current - k] > 0) { dp[current] += dp[current - k]; } } } } cout << dp[S] << endl; return 0;}

    ????

  • ?????????n????S????????a_i?b_i?
  • ??????????dp?????i???j??????????dp[0] = 1?
  • ???????????i?????????x_i??????dp???
  • ?????????j???????????
  • ?????????dp[S]????S???????
  • ???????????????????????????????????????????

    转载地址:http://vdgf.baihongyu.com/

    你可能感兴趣的文章
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    opencv之模糊处理
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    opencv图像分割2-GMM
    查看>>
    OpenCV学习(13) 细化算法(1)(转)
    查看>>
    opencv笔记(1):图像缩放
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers Source基础及重点内容讲解
    查看>>
    openlayers 入门教程(八):Geoms 篇
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers实战:modifystart、modifyend互动示例
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>