首页 > 其他分享 >最大字段和,区间矩阵

最大字段和,区间矩阵

时间:2024-03-03 16:25:25浏览次数:18  
标签:int res 矩阵 字段 区间 include com dp

最大字段和

原题链接:P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

解析:经典动态规划:最大子数组问题 - 知乎 (zhihu.com)

我写的代码:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 2e5 + 10;
int a[N], dp[N];
int main()
{
	memset(dp, 0, sizeof(dp));
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	int n;
	cin >> n;
	//dp[0] = a[0];
	int res = -0x3f3f3f3f;
	for (int i = 1;i <= n;i++) {
		cin >> a[i];
		dp[i] = max(a[i], a[i] + dp[i-1]);
		res = max(dp[i], res);
	}
	//for (int i = 0;i < n;i++)
	//	res = max(dp[i], res);
	cout << res << endl;
	return 0;
}

最大加权矩阵

原题链接:P1719 最大加权矩形 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

解析:1.p1719最大加权矩形--前缀和+贪心+DP+矩阵压缩 - 知乎 (zhihu.com)

我的代码:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N = 150;
int n;
int a[N][N], dp[N], t[N];
int ans = -0x3f3f3f3f;

void sum() {
	memset(dp, 0, sizeof(dp));
	dp[0] = t[0];
	for (int i = 1;i <= n;i++) {
		dp[i] = max(dp[i], dp[i - 1] + t[i]);
		ans = max(ans, dp[i]);
	}
}
void arr() {//压缩矩阵
	for (int i = 1;i <= n;i++) {
		memset(t, 0, sizeof(t));
		for (int j = i;j <= n;j++) {//遍历所选矩阵的行
			for (int k = 1;k <= n;k++)//遍历矩阵的列,变成一维,的列值
				t[k] += a[j][k];
			sum();
		}
		
	}
}
int main()
{
	cin >> n;
	for (int i = 1;i <= n;i++)
		for (int j = 1;j <= n;j++)
			cin >> a[i][j];
	arr();
	cout << ans << endl;
	return 0;
}

标签:int,res,矩阵,字段,区间,include,com,dp
From: https://www.cnblogs.com/KAI040522/p/18050182

相关文章

  • 区间问最大值位置
     #include<iostream>#include<cstring>#include<unordered_map>#include<vector>#include<algorithm>usingnamespacestd;constintN=1e6;#definek1k<<1#definek2k<<1|1#defineintlonglongint......
  • 56. 合并区间(中)
    目录题目法一、排序+讨论法二、简洁题目以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[15,1......
  • 邻接矩阵 存储图
    存储图可以用邻接表和邻接矩阵以下代码来自https://www.acwing.com/blog/content/405///对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点inth[N],e[N],ne[N],idx,w[N];//添加一条边a->b,权重是wvoidadd(inta,intb,intw){e[id......
  • 矩阵爆破逆向之条件断点的妙用
    不知道你是否使用过IDA的条件断点呢?在IDA进阶使用中,它的很多功能都有大作用,比如:ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大,配合IDA-python的输出语句能够大杀特杀!那么本文就介绍一下这个功能点,使用z3来秒解题目。条件断点什么是条件断点呢?条件断点(ConditionalBrea......
  • SDOI2014重建-矩阵树定理、概率
    link:https://www.luogu.com.cn/problem/P3317给一张无向图,每条边有一定概率连通,问整张图恰好构成一棵\(n\)个点的树的概率。输出实数。\(1<n\leq50\)这种问题通常会试着写出来:\[ans=\sum_{T}(\prod_{e\inT}p_e)(\prod_{e\not\inT}(1-p_e))=\prod_{e\inE}(1-p_e)\su......
  • Halcon——矩阵/Matrix
    1.矩阵创建create_matrix—Createamatrix.创建一个矩阵create_matrix(::Rows,Columns,Value:MatrixID)A.创建一个3*3单位矩阵create_matrix(3,3,'iidentity',MatrixID)B.创建一个值均为7的3*3方阵create_matrix(3,3,7,MatrixID) C.创建一个3*4......
  • 正定矩阵&负定矩阵&三对角矩阵&上三角矩阵&下三角矩阵
    1.三对角矩阵tridiagonalmatrix 2.上三角矩阵  uppertriangularmatrix 3.下三角矩阵 lowertriangularmatrix 4.正定矩阵 positivedefinitematrix 5.负定矩阵negativedefinitematrix ......
  • ICMP类型字段(Type)以及代码字段(Code)含义汇总
    ICMP报文可分为两大类:一、有关信息采集和配置的ICMP报文(称为查询(query)或者信息类报文(informationmessage)),二、有关IP数据报传递的ICMP报文(称为差错报文(errormessage)).typecodeDescriptionqueryerror00EchoReply——回显应答(Ping应答)x30NetworkUnreac......
  • 统计子矩阵
    一、题目描述P8783[蓝桥杯2022省B]统计子矩阵二、算法简析2.1二维前缀和我们知道,只要确定了矩阵的左上顶点和右下顶点,一个矩阵就被固定了。因此,我们可以遍历这两个顶点,达到遍历所有子矩阵的目的,复杂度会达到\(O(N^2*M^2)\)。确定了子矩阵,就要判断子矩阵的值是否不大于......
  • 在K8S中,nodePort的externalTrafficPolicy字段有什么作用?
    在Kubernetes(K8s)中,externalTrafficPolicy字段是Service对象的一个属性,它主要应用于NodePort和LoadBalancer类型的服务,用于控制外部流量进入集群后如何路由到后端的Pods。externalTrafficPolicy可以设置为两种值:Cluster(默认值)和Local。Cluster:当externalTraf......