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

网络运维工程师项目经验镇江关键字优化公司

网络运维工程师项目经验,镇江关键字优化公司,免费个人素材网站,铁岭市网站建设公司题目 492. 矩阵取数游戏 思路 不难发现, 每一行之间是独立的, 因此可以求出每一行的最大值, 然后行与行之间最大值相加, 就是总的最大值 对于行内来说, 每次可以选取左边或者右边, 可以使用区间 d p dp dp求解, 时间复杂度 O ( n 3 ) O(n ^ 3) O(n3), 因为列的最大值是 80 …

题目

492. 矩阵取数游戏
在这里插入图片描述

思路

不难发现, 每一行之间是独立的, 因此可以求出每一行的最大值, 然后行与行之间最大值相加, 就是总的最大值
对于行内来说, 每次可以选取左边或者右边, 可以使用区间 d p dp dp求解, 时间复杂度 O ( n 3 ) O(n ^ 3) O(n3), 因为列的最大值是 80 80 80, 会超过 l o n g l o n g long \, long longlong的最大范围, 可以使用__int128, 或者高精度加法处理结果

*被坑了, 计算 2 k 2 ^ k 2k时也要转为 i 128 i128 i128

#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>using namespace std;typedef __int128 i128;
const int N = 90;int n, m;
int w[N][N];
i128 f[N][N];ostream &operator<< (ostream &out, i128 val) {if (val == 0) {out << 0;return out;}vector<int> vec;while (val) vec.push_back(val % 10), val /= 10;while (!vec.empty()) out << vec.back(), vec.pop_back();return out;
}i128 solve(int w[]) {memset(f, 0, sizeof f);for (int len = 1; len <= m; ++len) {for (int i = 1; i + len - 1 <= m; ++i) {int j = i + len - 1;int cnt = m - j + i;if (len == 1) {f[i][j] = (i128) w[i] * (1 << cnt);continue;}f[i][j] = max(f[i + 1][j] + (i128) w[i] * (1 << cnt), f[i][j - 1] + (i128) w[j] * (1 << cnt));}}return f[1][m];
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);cin >> n >> m;for (int i = 1; i <= n; ++i) {for (int j = 1; j <= m; ++j) {cin >> w[i][j];}}i128 res = 0;for (int i = 1; i <= n; ++i) res += solve(w[i]);cout << res << "\n";return 0;
}

A C AC AC代码

#include <iostream>
#include <algorithm>
#include <cstring>
#include <vector>using namespace std;typedef __int128 i128;
const int N = 90;int n, m;
int w[N][N];
i128 f[N][N];ostream &operator<< (ostream &out, i128 val) {if (val == 0) {out << 0;return out;}vector<int> vec;while (val) vec.push_back(val % 10), val /= 10;while (!vec.empty()) out << vec.back(), vec.pop_back();return out;
}i128 solve(int w[]) {memset(f, 0, sizeof f);for (int len = 1; len <= m; ++len) {for (int i = 1; i + len - 1 <= m; ++i) {int j = i + len - 1;int cnt = m - j + i;if (len == 1) {f[i][j] = (i128) w[i] * ((i128) 1 << cnt);continue;}f[i][j] = max(f[i + 1][j] + (i128) w[i] * ((i128) 1 << cnt), f[i][j - 1] + (i128) w[j] * ((i128) 1 << cnt));}}return f[1][m];
}int main() {ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);cin >> n >> m;for (int i = 1; i <= n; ++i) {for (int j = 1; j <= m; ++j) {cin >> w[i][j];}}i128 res = 0;for (int i = 1; i <= n; ++i) res += solve(w[i]);cout << res << "\n";return 0;
}
http://www.dtcms.com/wzjs/293452.html

相关文章:

  • 网站记录登录账号怎么做谷歌paypal官网登录入口
  • 阿里巴巴上做英文网站一年多少钱百度官网网站登录
  • 官网查询网站沈阳全网推广公司哪家好
  • 专业做红木家具网站网络销售每天做什么
  • 网上做游戏赚钱的网站新闻联播俄罗斯与乌克兰
  • 震泽做网站seo顾问合同
  • 如何做网页游戏网站百度推广下载
  • 手机微网站素材seo关键字优化教程
  • 海淀制作网站的公司免费推广网
  • 淄博网站建设报价爱站长
  • 网站用什么颜色进行网络推广
  • 网上有哪些购物平台南昌seo营销
  • 网站收录登录入口seo新手教程
  • 带屏蔽的网站做水晶头百度移动端模拟点击排名
  • 房地产网站做编辑刚刚入行太原百度网站快速优化
  • 怎么做网站的防盗链怎么做seo网站关键词优化
  • 惠州b2b网站建设免费关键词搜索工具
  • 网站建设找谁做有免费推广平台
  • 做童装在哪个网站做广告搜索引擎营销案例分析题
  • ps做网站的分辨率多少钱长沙官网seo收费标准
  • 网站对网友发帖隐私做处理网页设计与制作步骤
  • 网页设计 网站企业宣传软文范例
  • 网站建设公司的市场营销方案模板下载百度关键词下拉有什么软件
  • 全国今日疫情最新消息网站推广和优化的原因网络营销
  • 购物商城网站建设方案seo怎么优化简述
  • 网站信息优化的方式链接买卖是什么意思
  • 装修案例分享的文案搜索引擎优化什么意思
  • 郑州做网站公司汉狮网网上交易平台
  • 北京营销网站建设设计对网站的建议和优化
  • 从零开始学建设网站100个商业经典案例