这事做晚了

(Dp100计划T1)

只有蓝题及以上才会水题解

分行Dp,行间没有转移

\[F[L][R] = max(F[L+1][R]+2^k \times V[L],F[L][R-1]+2^k \times V[R])
\]

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<vector>
  4. #include<stack>
  5. #include<algorithm>
  6. #include<cstring>
  7. #define ll __int128
  8. #define MAXN 85
  9. ll f[MAXN][MAXN] ;
  10. ll pow2[MAXN] ;
  11. ll val[MAXN] ;
  12. ll ans = 0 ;
  13. ll n,m ;
  14. using namespace std ;
  15. #define k m-(R-L)
  16. ll dp(int L,int R){
  17. if(f[L][R]!=-1) return f[L][R];
  18. if(R-L>=1) f[L][R]=max(val[L]*pow2[k]+dp(L+1,R),dp(L,R-1)+val[R]*pow2[k]);
  19. else f[L][R]=val[L]*pow2[k];
  20. return f[L][R];
  21. }
  22. void put(ll v){ if(v>9) put(v/10) ; putchar(v%10+'0') ; }
  23. void pput(ll v){ if(!v) putchar('0') ; else put(v) ; }
  24. inline void read(ll &x) { char ch=getchar(); int f=1; ll s=0 ; while (!(ch>='0'&&ch<='9')) { if (ch=='-') f=-1; ch=getchar();} while (ch>='0'&&ch<='9') { s=(s<<3)+(s<<1)+ch-'0'; ch=getchar(); } x=s*f; }
  25. int main(){
  26. read(n) , read(m) , pow2[0] = 1 ;
  27. for(int i=1;i<=m;++i) pow2[i] = pow2[i-1]*2 ;
  28. for(int nc=1;nc<=n;++nc){
  29. memset(f,-1,sizeof(f)) ;
  30. for(int i=1;i<=m;++i) read(val[i]) ;
  31. ans += dp(1,m) ;
  32. }
  33. pput(ans) ;
  34. }

题解【DP100题1~10】的更多相关文章

  1. leecode刷题(10)-- 旋转图像

    leecode刷题(10)-- 旋转图像 旋转图像 描述: 给定一个 n × n 的二维矩阵表示一个图像. 将图像顺时针旋转 90 度. 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维 ...

  2. 蓝桥杯 第三届C/C++预赛真题(10) 取球游戏(博弈)

    今盒子里有n个小球,A.B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断. 我们约定: 每个人从盒子中取出的球的数目必须是:1 ...

  3. [NOIP补坑计划]NOIP2016 题解&做题心得

    感觉16年好难啊QAQ,两天的T2T3是不是都放反了啊…… 场上预计得分:100+80+100+100+65+100=545(省一分数线280) ps:loj没有部分分,部分分见洛咕 题解: D1T1 ...

  4. [NOIP补坑计划]NOIP2013 题解&做题心得

    场上预计得分:100+100+100+100+100+60=560(省一分数线410) 五道傻逼题+一道大搜索题…… 题解: D1T1 转圈游戏 题面 水题送温暖~ #include<algor ...

  5. [NOIP补坑计划]NOIP2012 题解&做题心得

    场上预计得分:100+90+70+100+100+3060=490520(省一分数线245) 题解: D1T1 Vigenère 密码 题面 水题送温暖~~ #include<iostream& ...

  6. 小埋的Dancing Line之旅:比赛题解&热身题题解

    答疑帖: 赞助团队:UMR IT Team和洛谷大佬栖息地 赛后题解:更新了那两道练手题的题解 赛时公告,不过一些通知也可能在团队宣言里发出 如果各位发现重题,请将你认为重复的题目链接连同这次比赛的题 ...

  7. FJUT16级第一周寒假作业题解J题

    题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P9 涨姿势之区间刷新 TimeLimit:2000MS  MemoryLimit:128M ...

  8. FJUT16级第一周寒假作业题解D题

    题目链接:http://210.34.193.66:8080/vj/Contest.jsp?cid=160#P3 第八集,体能训练 TimeLimit:1000MS  MemoryLimit:128M ...

  9. 古韵之乞巧 题解 dp题

    [noip模拟赛1]古韵之乞巧   描述 闺女求天女,更阑意未阑. 玉庭开粉席,罗袖捧金盘. 向月穿针易,临风整线难. 不知谁得巧,明旦试相看. ——祖咏<七夕> 女子乞巧,是七夕的重头戏 ...

随机推荐

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-text-width

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. Day 16:输入输出字符流、缓冲输入字符流

    输入输出字节流输出字符时的常见问题 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  3. 动态添加,删除class样式

    function hasClass(obj, cls) { //class位于单词边界,判断class样式是否已经存在 return obj.className.match(new RegExp('( ...

  4. 详解contextConfigLocation|Spring启动过程详解(转)

    原文链接:https://blog.csdn.net/qw222pzx/article/details/78191670 spring的应用初始化流程一直没有搞明白,刚刚又碰到了相关的问题.决定得好好 ...

  5. 《新标准C++程序设计》3.1.1-3.1.3(C++学习笔记5)

    构造函数 1.构造函数的概念和作用 (1)概念 构造函数就是一类特殊的成员函数,其名字和类一样,不写返回值类型(void也不可以写),可以有参数,可以重载. 如果定义类时没写构造函数,则编译器生成一个 ...

  6. ImportError: dynamic module does not define init function (initcaffe)

    https://github.com/BVLC/caffe/issues/2770 $ python2 -c "import caffe" Traceback (most rece ...

  7. idea新建java项目

    盘符下新建一个目录: 打开idea: Open -> 新建的目录: 右击目录 -> new -> module: 填写模块名 -> finish: file -> pro ...

  8. PAT Advanced 1003 Emergency (25) [Dijkstra算法]

    题目 As an emergency rescue team leader of a city, you are given a special map of your country. The ma ...

  9. [极客大挑战 2019]BabySQL

    0x00 知识点 双写绕过 简单测试一下,发现or在登陆过程被过滤,想到使用oorr试试,结果成了?! 最后多测试一下,发现from union select 这些关键函数都被替换为空 本题直接进行常 ...

  10. kubelet组件详解---链接

    https://blog.csdn.net/jettery/article/details/78891733