首页 > 其他分享 >每日打卡-8.1

每日打卡-8.1

时间:2023-04-19 21:12:27浏览次数:29  
标签:8.1 x1 前缀 int 每日 x2 y1 打卡 y2

一.问题描述

  输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1,y2,x1,y2,表示一个子矩阵的左上角坐标和右下角坐标。

  对于每个询问输出子矩阵中所有数的和。

二.设计思路

很典型的二维前缀模板题
 先求前缀和 , 再利用公式ans = s[x2][y2] - s[x2][y1-1] - s[x1-1][y2] + s[x1-1][y1-1] 求出答案即可

三.流程图

四.伪代码 

1

五.代码实现 

1# include <iostream>
using namespace std ; 
const int N = 1e3 + 10 ; 
int a[N][N];
int sum[N][N];
int main(){
	int m , n , q;
	cin >> n >> m >> q;
	for (int i = 1 ; i <= n ; i ++)
		for (int j = 1 ; j <= m ; j ++)
			cin >> a[i][j];
	//求前缀和
	for (int i = 1 ; i <= n ; i ++)
		for (int j = 1 ; j <= m ; j ++)
			sum[i][j] = sum[i-1][j] + sum[i][j-1] -sum[i-1][j-1] +a[i][j];
	// 求指定区间的和
	while (q --){
		int x1 , x2 , y1 , y2 ;
		cin >> x1 >> y1 >> x2 >> y2 ;
		cout << sum[x2][y2] - sum[x1-1][y2] - sum[x2][y1-1] + sum[x1-1][y1-1] <<endl; 
	}
	return 0 ;
}

 

标签:8.1,x1,前缀,int,每日,x2,y1,打卡,y2
From: https://www.cnblogs.com/leapssisbird/p/17334641.html

相关文章

  • 2022.4.19编程一小时打卡
    一、问题描述:设计一个类people,有保护数据成员:age(年龄,整型),name(姓名,string),行为成员:两个构造函数(一个默认,另一个有参数);默认析构函数;voidsetValue(intm,stringstr)给age和name赋值;有一个void类型的纯虚函数display()。设计一个学生类student,公有继承类people,有私有成员......
  • 打卡1
    问题描述:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?流程图: 伪代码:cock<-0forcock<-0To20hen=0forhen<-0To33chicken=0forchicken<-0To100ifcock+hen+chicken=100&&cock*5+hen*3+chicken/3=100outputcock......
  • 打卡2
    问题描述:小明有5本新书,要借给A、B、C三位小朋友,若每人每次只能接1本,则可以有多少种不同的借法?流程图: 伪代码:fora<-1to5forb<-1to5forc<-1to5ifa=b=cthencontinueelseoutputa,b,c代码:#include<iostream>usingnamespacestd;intmain(){inta,b,c;f......
  • 第6天打卡
    问题:输入N个数升序排序设计:n个数比较n-1次每一次把最大的排在最前面 源代码:#include<stdio.h>intmain(){inti,j,a[N],t;for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=1;i<=N-1;i++)for(j=0;j<N-1;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(......
  • 打卡3
    问题描述:中国有句俗语叫:“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。流程图: 伪代码:inputyear,month,dayjianday<-0fori<-1990toyear-1ifi是闰年thenjianday=jianday+366elsejianday=ji......
  • 天天打卡一小时——6
    一.问题描述读入一系列整数,统计出正整数和负整数的个数,读到0结束二.设计思路1.输入一组整数2.包含正整数和负整数3.在每次读完一个数后需要进行判断4.非0接着读,为0则结束程序5.使用while语句三.程序流程图 四.代码实现#include<iostream>usingnamespacestd;int......
  • 4.19打卡
    一、问题描述:对N个整数(数据由键盘输入)进行升序排列。二、设计思路:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。......
  • 每日打卡1,(2)
    1.2借书方案知多少include<bits/stdc++.h> //万能开头usingnamespacestd;  #defineintlonglong  //防止爆intintn; signedmain(){             inti=0;for(inta=1;a<=5;a++){for(intb=1;b<=5;b++){if(a!=b)//前两比较减少......
  • 第三天打卡
    一、问题描述中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是”打鱼“还是”晒网"。二、设计思路1.根据题意,需要对于闰年的判断,计算今天距离指定日期的天数,需要运用函数实现;2.定义一个结构体用来输入今天的......
  • 打卡第四天
    一、问题描述: 从键盘输入一个四位整数n,输出它的各位数字之和二、设计思路:确认输入输出:输入是一个四位整数,输出是它的各位数字之和。计划程序逻辑:读取输入的四位整数,通过取整和取余操作得到每个数字,将它们相加得到它们的和,并输出结果。三、程序流程图: 四、伪代码实现:开......