[JZYZOJ 1288][洛谷 1005] NOIP2007 矩阵取数 dp 高精度
https://www.luogu.org/problem/show?pid=1005
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
int n,m;
struct mat{
int e[],len;
mat(){memset(e,,sizeof(e));len=;}
};
int a[][]={};
mat b2[]={};
mat f[][][];
mat mul(mat x,int y){
mat z;z.len=x.len;
for(int i=;i<=x.len;i++){
z.e[i]+=x.e[i]*y; z.e[i+]+=z.e[i]/;
z.e[i]%=;
if(z.e[i+]!=&&z.len==i){
z.len++;
}
}
return z;
}
mat plu(mat x,mat y){
mat z;z.len=max(x.len,y.len);
for(int i=;i<=z.len;i++){
z.e[i]+=x.e[i]+y.e[i];
z.e[i+]+=z.e[i]/;
z.e[i]%=;
if(z.e[i+]!=&&i==z.len){
z.len++;
}
}
return z;
}
mat cham(mat x,mat y){
if(x.len>y.len)return x;
if(x.len<y.len)return y;
for(int i=x.len;i>=;i--){
if(x.e[i]>y.e[i])return x;
if(x.e[i]<y.e[i])return y;
}
return x;
}
void put(mat x){
if(x.len==)printf("");
for(int i=x.len;i>=;i--){
printf("%d",x.e[i]);
}
printf("\n");
}
int main(){
b2[].e[]=;b2[].len=;
for(int i=;i<=;i++){
b2[i]=mul(b2[i-],);
}
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
scanf("%d",&a[i][j]);
}
}mat z,z1,z2,z3,ans;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
for(int w=;w<=m;w++){
if(w>j&&w<m-j+)continue;
if(w<=j)f[j][w][]=cham(f[j][w][],cham(f[j-][w-][],f[j-][m-j+w+][]));
if(w>=m-j+) f[j][w][]=cham(f[j][w][],cham(f[j-][w+][],f[j-][j--m+w][]));
//put(f[j][w]);
f[j][w][]=plu(f[j][w][],mul(b2[j],a[i][w]));
f[j][w][]=plu(f[j][w][],mul(b2[j],a[i][w]));
}
}
z=z3;
for(int j=;j<=m;j++){
z=cham(z,f[m][j][]);
z=cham(z,f[m][j][]);
}
for(int j=;j<=m;j++){
for(int w=;w<=m;w++){
f[j][w][]=z3;
f[j][w][]=z3;
}
}
ans=plu(ans,z);
}put(ans);
return ;
}
[JZYZOJ 1288][洛谷 1005] NOIP2007 矩阵取数 dp 高精度的更多相关文章
- 【洛谷P1005】矩阵取数游戏
矩阵取数游戏 题目链接 每行分别跑一趟区间DP即可 这道题区间DP是非常裸的,按套路来即可 但是很毒瘤的是需要高精度, “我王境泽就是爆零,从这跳下去,也不会用__int128的!” #include ...
- NOIP2007矩阵取数[DP|高精度]
题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...
- NOIP2007 矩阵取数游戏
题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...
- TYVJ 矩阵取数 Label:高精度+dp
题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...
- 51Nod 1083 矩阵取数问题(矩阵取数dp,基础题)
1083 矩阵取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个N*N矩阵中有不同的正整数,经过这个格子,就能获得相应价值的奖励,从左上走到右下,只能向下 ...
- NOIP2007 矩阵取数游戏(区间DP)
传送门 这道题第一眼看上去可能让人以为是贪心……不过贪心并不行,因为每次的操作是有2的幂次方的权值的.这样的话直接每次贪心最小的就目光短浅.所以那我们自然想到了DP. 据说这是一道很正常的区间DP? ...
- 洛谷P2045 K方格取数(算竞进阶习题)
费用流 又是一道网络流的模型,对于这种费用与经过次数有关的边,我们经常把边拆成多条,比如这个题,第一次费用是x,第二次是0,我们就可以先把点拆成入点和出点,入点和出点又连两条边,第一条容量为1,费用为 ...
- [P1005][NOIP2007] 矩阵取数游戏 (DP+高精)
我不会高精…… 也不会DP…… 这道题即考高精又考DP…… 我要死了 给一个不是高精的代码(当然不能满分) #include<cstdio> #include<iostream> ...
- 洛谷P1679神奇的四次方数--DP
原题请戳>>https://www.luogu.org/problem/show?pid=1679<< 题目描述 在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知 ...
随机推荐
- 【译】第五篇 SQL Server代理理解代理错误日志
本篇文章是SQL Server代理系列的第五篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.在第四篇中我们看到 ...
- hdu 5328 Problem Killer(杭电多校赛第四场)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328 题目大意:找到连续的最长的等差数列or等比数列. 解题思路:1.等差等比的性质有很多.其中比较重 ...
- 贪心算法_01背包问题_Java实现
原文地址:http://blog.csdn.net/ljmingcom304/article/details/50310789 本文出自:[梁敬明的博客] 1.贪心算法 什么是贪心算法?是指在对问题进 ...
- for 、forEach 、 forof、 forin遍历对比
一.遍历内容的异同 1.for 和 for...in 是针对数组下标的遍历 2.forEach 及 for...of 遍历的是数组中的元素 二.对非数字下标的处理 由于array在js中也是对象中的一 ...
- 全面了解 Nginx 主要应用场景
前言 本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得.所以还请见谅,同时欢迎留言交流 N ...
- plsPlugin
init: 监控目录变化(增删) 监控jar变化,load
- Java学习(构造方法、this关键字、super应用)
构 造 方 法 定义:对象创建时使用的方法,即在new一个新对象时,对应构造方法,直接对属性赋值. 语句格式: 修饰符(public 等) 构造方法名(必须跟当前类名一样,否则报错)(参数列表) ...
- Web前端开发最佳实践(4):在页面中添加必要的meta信息
meta标签放置在HTML页面的head中,主要用于标识网站.其中基本上包含了网站的一些描述信息,例如,简介.作者等.这些信息有助于搜索引擎更准确地识别网页的内容,也有助于第三方工具抓取网站基本信息. ...
- [实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表
写在前面 上篇文章实现了图片列表,这篇文章实现文档列表将轻车熟路,因为逻辑基本相似,只是查询条件的不同.这里将txt,doc,docx,ppt,pptx,xls,xlsx的文件都归为文档列表中. 系列 ...
- 【LOJ】#2351. 「JOI 2017/2018 决赛」毒蛇越狱
题解 没啥特别好的算法,是个讨论题,由于0 1 ?三类数位中最少的不会超过6 如果1不超过6,那么记录\(f1(S)\)为 \(\sum_{T \subset S} val(T)\)这个可以通过类似F ...