当前位置: 首页 > news >正文

AC日记——矩阵取数游戏 洛谷 P1005

矩阵取数游戏

 

思路:

  dp+高精;

 

代码:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
struct Int {
    int len;
    char ai[300];
    Int()
    {
        len=1,ai[0]=0;
    }
    void Count(int pos)
    {
        len++;
        if(pos/10) Count(pos/10);
    }
    void operator=(int pos_)
    {
        int pos=pos_;
        len=0,Count(pos);
        for(int i=0;i<len;i++) ai[i]=pos%10,pos/=10;
    }
    bool operator<(const Int pos)const
    {
        if(len<pos.len) return true;
        else if(len>pos.len) return false;
        for(int i=len-1;i>=0;i--)
        {
            if(ai[i]<pos.ai[i]) return true;
            else if(ai[i]>pos.ai[i]) return false;
        }
        return false;
    }
    Int operator*(const int pos)const
    {
        ll tmp=0;Int res;res.len=len;
        for(int i=0;i<len;i++) tmp+=ai[i]*pos,res.ai[i]=tmp%10,tmp/=10;
        while(tmp) res.ai[res.len++]=tmp%10,tmp/=10;
        return res;
    }
    Int operator+(const Int pos)const
    {
        ll tmp=0;Int res;res.len=max(len,pos.len);
        for(int i=0;i<res.len;i++) tmp+=(i<len?ai[i]:0)+(i<pos.len?pos.ai[i]:0),res.ai[i]=tmp%10,tmp/=10;
        while(tmp) res.ai[res.len++]=tmp%10,tmp/=10;
        return res;
    }
    void print()
    {
        for(int i=len-1;i>=0;i--) putchar(ai[i]+'0');
    }
};
Int dp[81][81],ans,ci[81][81];
int ai[81][81],n,m;
Int max(Int a,Int b)
{
    if(a<b) return b;
    else return a;
}
int main()
{
    freopen("data.txt","r",stdin);
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        for(int v=1;v<=m;v++) scanf("%d",&ai[i][v]),ci[i][v]=ai[i][v];
    }
    for(int i=1;i<=n;i++)
    {
        for(int v=1;v<=m;v++) dp[v][v]=ai[i][v]*2;
        for(int k=1;k<m;k++)
        {
            for(int v=1;v+k<=m;v++)
            {
                int l=v,r=v+k;
                dp[l][r]=max((dp[l+1][r]+ci[i][l])*2,(dp[l][r-1]+ci[i][r])*2);
            }
        }
        ans=dp[1][m]+ans;
    }
    ans.print();
    return 0;
}

 

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/7040486.html

相关文章:

  • 【Docker镜像】docker默认存放路径
  • iOS多线程---NSOperation的常用操作
  • Spring源码-IOC容器(六)-bean的循环依赖
  • Android 图片缓存处理
  • iOS中 OC字符串 与 C语言字符串 相互转换
  • php+Ajax 例子
  • 英语句型——口语
  • 三重积分计算--切片法
  • 关于梦想
  • 不用軟體解PPT密碼
  • 元组
  • activemq使用
  • 一个程序猿的遗嘱么?
  • Linux IO模式及 select、poll、epoll详解
  • bzoj 1600 amp; Usaco 月赛 2008 建造栅栏 题解
  • [LeetCode] Wiggle Sort
  • es6--symbol
  • GitUp, 你不可错过的秀外慧中的git工具
  • Vue2 SSR 的优化之旅
  • webpack+react项目初体验——记录我的webpack环境配置
  • Web标准制定过程
  • 初识MongoDB分片
  • 从零开始在ubuntu上搭建node开发环境
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 什么是Javascript函数节流?
  • 我感觉这是史上最牛的防sql注入方法类
  • 异步
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 国内开源镜像站点
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • #QT(智能家居界面-界面切换)
  • $.ajax,axios,fetch三种ajax请求的区别
  • (1)Android开发优化---------UI优化
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (第一天)包装对象、作用域、创建对象
  • (六)c52学习之旅-独立按键
  • (排序详解之 堆排序)
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)Mysql的优化设置
  • ***测试-HTTP方法
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net framework profiles /.net framework 配置
  • .net web项目 调用webService
  • .Net 代码性能 - (1)
  • .NET运行机制
  • /proc/stat文件详解(翻译)
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [1204 寻找子串位置] 解题报告
  • [AIGC codze] Kafka 的 rebalance 机制
  • [Android]如何调试Native memory crash issue