zoukankan      html  css  js  c++  java
  • 【HDOJ】2195 Monotone SE Min

    简单DP。将[0,1]的浮点数离散化为[0,1000]的整数。最后再除以1000^2.

     1 /* 2195 */
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 
     6 #define MAXN 1000
     7 #define MAXL 205
     8 #define INF  0xfffffff
     9 
    10 int dp[MAXL][MAXN+5];
    11 char s[MAXL];
    12 
    13 int main() {
    14     int len;
    15     int i, j, k;
    16     int bi, tmp;
    17     double ans;
    18     
    19     #ifndef ONLINE_JUDGE
    20         freopen("data.in", "r", stdin);
    21     #endif
    22     
    23     while (scanf("%s", s) != EOF) {
    24         len = strlen(s);
    25         bi = (s[0]=='0') ? 0:MAXN;
    26         for (j=0; j<=MAXN; ++j) {
    27             dp[0][j] = (j-bi)*(j-bi);
    28         }
    29         for (i=1; i<len; ++i) {
    30             bi = (s[i]=='0') ? 0:MAXN;
    31             tmp = INF;
    32             for (j=0; j<=MAXN; ++j) {
    33                 if (dp[i-1][j] < tmp)
    34                     tmp = dp[i-1][j];
    35                 dp[i][j] = tmp + (j-bi)*(j-bi);
    36             }
    37         }
    38         tmp = INF;
    39         i = len-1;
    40         for (j=0; j<=MAXN; ++j)
    41             if (dp[i][j] < tmp)
    42                 tmp = dp[i][j];
    43         ans = tmp / 1000000.0;
    44         printf("%.3lf
    ", ans);
    45     }
    46     
    47     return 0;
    48 }
  • 相关阅读:
    POJ 1325 Machine Schedule(待整理)
    URAL 1109 Conference
    结构体排序初始化最傻最傻的错误
    Radar Installation
    关于Eclipse中插件的安装和文件导出
    贪心算法概述
    今年暑假不AC(水题)
    100197C
    100722C
    树状数组
  • 原文地址:https://www.cnblogs.com/bombe1013/p/4244671.html
Copyright © 2011-2022 走看看