//Accepted    244 KB    0 ms
 //区间dp
 //石子合并模型
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 ;
 ;
 int dp_min[imax_n][imax_n];
 int dp_max[imax_n][imax_n];
 int a[imax_n];
 ];
 int n;
 int max(int a,int b)
 {
     return a>b?a:b;
 }
 int min(int a,int b)
 {
     return a<b?a:b;
 }
 int cal(int a,int b,char s[])
 {
     ]=='t') return a+b;
     return a*b;
 }
 void Dp()
 {
     ;i<*n;i++)
     dp_max[i][i]=dp_min[i][i]=a[i];
     ;l<=n;l++)
     {
         ;i<*n;i++)
         {
             ;
             *n) break;
             dp_max[i][j]=Ninf;
             dp_min[i][j]=Pinf;
             ;k++)
             {
                 dp_max[i][j]=max(dp_max[i][j],cal(dp_max[i][k],dp_max[k+][j],s[k+]));
                 dp_max[i][j]=max(dp_max[i][j],cal(dp_min[i][k],dp_min[k+][j],s[k+]));
                 dp_min[i][j]=min(dp_min[i][j],cal(dp_min[i][k],dp_min[k+][j],s[k+]));
                 dp_min[i][j]=min(dp_min[i][j],cal(dp_max[i][k],dp_min[k+][j],s[k+]));
                 dp_min[i][j]=min(dp_min[i][j],cal(dp_min[i][k],dp_max[k+][j],s[k+]));
             }
         }
     }
     int ans=Ninf;
     ;i<=n;i++)
     ans=max(ans,dp_max[i][i+n-]);
     printf("%d\n",ans);
     ;
     ;i<=n;i++)
     {
         ]==ans)
         {
             )
             {
                 printf("%d",i);
                 flag=;
             }
             else
             {
                 printf(" %d",i);
             }
         }
     }
     printf("\n");
 }
 int main()
 {
     while (scanf("%d",&n)!=EOF)
     {
         ;i<=n;i++)
         scanf("%s%d",s[i],&a[i]);
         ;i<n;i++)
         {
             a[n+i]=a[i];
             strcpy(s[n+i],s[i]);
         }
         Dp();
     }
     ;
 }

poj1179的更多相关文章

  1. 【POJ1179】Polygon 区间DP

    这道题是典型的环形石子归并模型,破环成链后时间复杂度为\(O(n^3)\) 不过,因为题目中所给的数字可能是负数,仅仅记录区间内合并之后的最大值并不满足动态规划的最优子结构性质.因此,还需要额外记录下 ...

  2. poj1179 环形+区间dp

    因为要用到模,所以左起点设置为0比较好 #include<iostream> #include<cstdio> #include<cstring> #define ...

  3. POJ-1179 Polygon (动态规划)

    Polygon Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5293 Accepted: 2238 Description P ...

  4. POJ1179 Polygon

    题目:http://poj.org/problem?id=1179 石子合并的升级版.有负值.但运算符只有 + 和 * . 考虑负值对原做法正确性的影响:之所以仅记录最大值可能不对,是因为有可能负数 ...

  5. poj1179 Polygon【区间DP】

    Polygon Time Limit: 1000MS   Memory Limit: 10000K Total Submissions:6633   Accepted: 2834 Descriptio ...

  6. poj1179多边形——区间DP

    题目:http://poj.org/problem?id=1179 区间DP,值得注意的是有负值,而且有乘法,因此可能会影响最大值: 注意memset中写-1仅仅是-1,-2才是一个很小的负数: 最后 ...

  7. poj1179 区间dp(记忆化搜索写法)有巨坑!

    http://poj.org/problem?id=1179 Description Polygon is a game for one player that starts on a polygon ...

  8. POJ1179 Polygon 区间DP

    题目大意: 多边形游戏,有N个顶点的多边形,3 <= N <= 50 ,多边形有N条边,每个顶点中有一个数字(可正可负),每条边上或者是“+”号,或者是“*”号.边从1到N编号,首先选择一 ...

  9. DP总结 ——QPH

    常见优化 单调队列 形式 dp[i]=min{f(k)} dp[i]=max{f(k)} 要求 f(k)是关于k的函数 k的范围和i有关 转移方法 维护一个单调递增(减)的队列,可以在两头弹出元素,一 ...

随机推荐

  1. xcode6 framework missing submodule xxx 警告

    xcode6 framework missing submodule xxx 警告 从xcode6开始,iOS可以直接创建生成framework了 如: 创建 framework 项目,TFKit.f ...

  2. noip2016酱油记day1

    真的是noip2016酱油记了. t1模拟,应该可以过. t2用了个简单的桶瞎搞,估计剩50pt了. t3直接不会写. 心好累... 考的分数肯定没去年高. 但不论如何,明天正常发挥就好. 正常发挥下 ...

  3. program testy data

    做项目得用数据吧,拿去.... 1.Data.gov搜索   美国政府去年承诺使所有政府数据都能在网上免费获得.这个网站是第一阶段,作为一个门户网站,囊括了从气候到犯罪的一切惊人的信息.   2. 美 ...

  4. ember

    为什么要用这种单页面应用.单页面应用就可以是一个web app ,而不是一个web site了,但是百度的大王是退mvc的,考虑到gc什么的? 所以说写组件component和mvc压根是两个完全从角 ...

  5. Qt之加载QSS文件

    简述 Qt中关于样式的使用很常见,为了降低耦合性(与逻辑代码分离),我们通常会定义一个QSS文件,然后编写各种部件(例如:QLable.QLineEdit.QPushButton)的样式,最后使用QA ...

  6. 初学java之大数处理

    import java.text.*; public class Gxjun { public static void main(String args[] ) { int n=123456789; ...

  7. 开发完iOS应用,接下去你该做的事

    iOS专项总结 关于 analyze Clang 静态分析器 Slender Faux Pas Warning Leaks Time Profiler 加载时间 iOS App启动过程 帧率等 如何优 ...

  8. express+nodecoffee写passport登录验证实例(二)

    二:实现登录认证 passport官网文档:  http://passportjs.org/guide/ passport验证使用一种被称为“策略”的方式来验证请求,策略支持3种类型的验证:用户名密码 ...

  9. 读流testDemo

    import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.I ...

  10. .NET 向SQL里写入非Text类型

    一般来说,在更新DataTable或是DataSet时,如果不采用SqlParameter,那么当输入的Sql语句出现歧义时,如字符串中含有单引号,程序就会发生错误,并且他人可以轻易地通过拼接Sql语 ...