矩阵取数游戏

思路:

  dp+高精;

代码:

#include <bits/stdc++.h>
using namespace std;
#define ll long long
struct Int {
int len;
char ai[];
Int()
{
len=,ai[]=;
}
void Count(int pos)
{
len++;
if(pos/) Count(pos/);
}
void operator=(int pos_)
{
int pos=pos_;
len=,Count(pos);
for(int i=;i<len;i++) ai[i]=pos%,pos/=;
}
bool operator<(const Int pos)const
{
if(len<pos.len) return true;
else if(len>pos.len) return false;
for(int i=len-;i>=;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=;Int res;res.len=len;
for(int i=;i<len;i++) tmp+=ai[i]*pos,res.ai[i]=tmp%,tmp/=;
while(tmp) res.ai[res.len++]=tmp%,tmp/=;
return res;
}
Int operator+(const Int pos)const
{
ll tmp=;Int res;res.len=max(len,pos.len);
for(int i=;i<res.len;i++) tmp+=(i<len?ai[i]:)+(i<pos.len?pos.ai[i]:),res.ai[i]=tmp%,tmp/=;
while(tmp) res.ai[res.len++]=tmp%,tmp/=;
return res;
}
void print()
{
for(int i=len-;i>=;i--) putchar(ai[i]+'');
}
};
Int dp[][],ans,ci[][];
int ai[][],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=;i<=n;i++)
{
for(int v=;v<=m;v++) scanf("%d",&ai[i][v]),ci[i][v]=ai[i][v];
}
for(int i=;i<=n;i++)
{
for(int v=;v<=m;v++) dp[v][v]=ai[i][v]*;
for(int k=;k<m;k++)
{
for(int v=;v+k<=m;v++)
{
int l=v,r=v+k;
dp[l][r]=max((dp[l+][r]+ci[i][l])*,(dp[l][r-]+ci[i][r])*);
}
}
ans=dp[][m]+ans;
}
ans.print();
return ;
}

AC日记——矩阵取数游戏 洛谷 P1005的更多相关文章

  1. 矩阵取数游戏洛谷p1005

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  2. 洛谷 P1005 矩阵取数游戏

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  3. 【洛谷P1005】矩阵取数游戏

    矩阵取数游戏 题目链接 每行分别跑一趟区间DP即可 这道题区间DP是非常裸的,按套路来即可 但是很毒瘤的是需要高精度, “我王境泽就是爆零,从这跳下去,也不会用__int128的!” #include ...

  4. 洛谷P1005 矩阵取数游戏

    P1005 矩阵取数游戏 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次 ...

  5. [NOIP2007] 提高组 洛谷P1005 矩阵取数游戏

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  6. 洛谷1005 【NOIP2007】矩阵取数游戏

    问题描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  7. NOIP2007 矩阵取数游戏

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  8. 1166 矩阵取数游戏[区间dp+高精度]

    1166 矩阵取数游戏 2007年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description [ ...

  9. 矩阵取数游戏 NOIP 2007

    2016-05-31 17:26:45 题目链接: NOIP 2007 矩阵取数游戏(Codevs) 题目大意: 给定一个矩阵,每次在每一行的行首或者行尾取一个数乘上2^次数,求取完最多获得的分数 解 ...

随机推荐

  1. Codeforces Round #337 (Div. 2)B

    B. Vika and Squares time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  2. PowerDesigner16 修改表或表的字段Name的时候不让Code不自动跟着变

    在修改表或表的字段Name的时候不让Code不自动跟着变,设置如下: tools-> General   Options-> Dialog 去掉勾选 Name To Code mirror ...

  3. asyncio结合线程池

    #使用多线程:在协程中集成阻塞io import asyncio from concurrent.futures import ThreadPoolExecutor import socket fro ...

  4. 选择Asp for javascript,非.net。

    写Web类型的程序我使用过的服务器端语言有C#和Python.PHP稍Copy过几段代码,Asp很早听说过.C#我主要用来写Web服务比较多,C#这种强类型语言写Web不太爽,特别构造复杂的JSON数 ...

  5. android抽屉导航的设计准则

    我阅读了google官方的关于抽屉导航的设计准则,这可以给我带来什么帮助?最起码,我可以知道,抽屉导航适用在什么场景中,使用它时要注意什么事项.App的设计是有规则可以依据的,比如,使用抽屉导航时,是 ...

  6. UIToolBar的半透明属性设置

      UIToolBar的半透明属性设置style:Translucent(Ps:长得很像翻译translation)   https://www.evernote.com/shard/s227/sh/ ...

  7. C++ Vector 中自定义对象的排序

    需求: 客户端收到游戏中的所有联盟列表,现在需要按联盟的属性比如lv来进行排序. 数据存储: 每个联盟数据是一个对象,所有的联盟列表存在一个vector容器里面. 老的解决方法: 冒泡排序方法算法 新 ...

  8. 微信公众号支付开发全过程(Java 版)

    一.微信官方文档微信支付开发流程(公众号支付) 首先我们到微信支付的官方文档的开发步骤部分查看一下需要的设置. [图片上传失败...(image-5eb825-1531014079742)] 因为微信 ...

  9. php中比较好用的函数

    PHP中一个好用的函数parse_url,特别方便用来做信息抓取的分析,举例子如下: $url = "http://www.electrictoolbox.com/php-extract-d ...

  10. vs调试 配置IISExpress允许局域网内部访问

    内网可访问后,本机不能使用localhost   1.找到IISExpress的配置文件,位于 <文档>/IISExpress/config文件夹下,打开applicationhost.c ...