优选算法_前缀和_二维前缀(模板)_C++

优选算法_前缀和_二维前缀(模板)_C++

一.题目分析

这里题目不好理解,就是一个指定大小的矩阵(n行m列),然后再给出两个坐标,之后求两坐标所围成矩阵的和

1.暴力解法->模拟:询问一次就求一次和,所以时间复杂度是q*m*n

2.前缀和

        1.预处理一个前缀和矩阵

我们发现抽出的BC的面积并不好求,所以我们就求好求的面积减去多余面积即可

        

        2.使用前缀和矩阵

二.代码实现

#include<iostream> #include<vector> int mian() { //1.读入数据 int n, m,q; cin >> n >> m >> q; vector<vector<int>>arr(n + 1, vector<int>(m + 1)); for (int i = 1;i <= n;i++) for (int j = 1;j = m;j++) cin >> arr[i][j]; //2.预处理前缀和矩阵 vector<vector<long long>>dp(n + 1, vector<long long>(m + 1)); for (int i = 1;i <= n;i++) for (int j = 1;j = m;j++) dp[i][j] = dp[i - 1][j] + dp[i][j - 1] - dp[i - 1][j - 1] + arr[i][j]; //3.使用前缀和矩阵 int q; cin >> q; while (q) { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; cout<< dp[x2][y2] - dp[x1 - 1][y2] - dp[x2][y1 - 1] + dp[x1][y1]; } return 0; }
ps:我们矩阵是从(1,1)开始的因为会有越界的情况,相加就是dp[0][0]=0;相乘就是dp[0][0]=1;需要考虑边界情况;

Read more

Flutter 三方库 holiday_jp 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、全维度的日本法定节假日(公休日)查询与日历调度引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 holiday_jp 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、全维度的日本法定节假日(公休日)查询与日历调度引擎 在鸿蒙(OpenHarmony)系统的全球化(Globalization)出海应用、针对日本市场的日程管理、财务结算系统(需考虑日本银行休假)或带有国际化特色的鸿蒙版日历组件中,如何瞬间获取任意年份日本的法定节假日、判定当前是否为公休日?holiday_jp 为开发者提供了一套工业级的、基于官方精细化数据集的日本节假日处理方案。本文将深入实战其在鸿蒙出海应用逻辑层中的应用。 前言 什么是 Holiday JP?它是一个专注于提供日本法定假期(祝日)数据的专业库。它涵盖了从传统的“元日”到现代的“体育之日”等所有官方假期,并能自动处理由于由于由于由于“振替休日(补休)”产生的动态调休逻辑。在 Flutter

【Linux】网络之http协议

【Linux】网络之http协议

文章目录 * URL * 🚩HTTP协议格式 * 请求格式 * HTTP常用方法 * 响应格式 * 常见状态码 * HTTP常见Header * 🚩模拟实现HTTP服务器 * ⭐Cookie URL 我们所说的网址就是URL 如果在参数中出现?/特殊字符,会自动转义,/ ?字符已经被url特殊处理了 ‘+’被转义为%2b 🚩HTTP协议格式 请求格式 请求行:方法+URL+版本号+\r\n 请求报头:每行一对键值对+\r\n \r\n空行,(没有空行的话无法区分报头和正文) 正文,(怎么确定正文的大小?报头中content-length确定) 例如 HTTP常用方法 常用的就GET,POST 响应格式 与请求类似, 常见状态码 常用状态码:200(OK),404 (Not Found),403

whisper.cpp语音识别终极指南:从入门到精通

whisper.cpp语音识别终极指南:从入门到精通 【免费下载链接】whisper.cpp 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/whisper.cpp whisper.cpp是一个基于OpenAI Whisper模型的开源语音识别客户端,能够离线将语音转录为文字,支持多种语言的识别能力。本指南将带你从零开始掌握这个强大的工具,让你在各种场景下都能高效使用语音识别功能。 快速入门 环境准备与安装 首先确保你的系统满足基本要求,whisper.cpp支持macOS、Windows和Linux操作系统。安装过程相对简单,主要依赖标准的C++编译环境。 获取项目代码 使用以下命令克隆项目到本地: git clone https://gitcode.com/hf_mirrors/ai-gitcode/whisper.cpp cd whisper.cpp 选择合适模型 whisper.cpp提供了多种模型大小,

Flutter 三方库 easy_localization_sheet 的鸿蒙化适配指南 - 实现基于 Google Sheets 的云端国际化协作、支持多语言翻译的一键式同步与配置导出

Flutter 三方库 easy_localization_sheet 的鸿蒙化适配指南 - 实现基于 Google Sheets 的云端国际化协作、支持多语言翻译的一键式同步与配置导出

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 easy_localization_sheet 的鸿蒙化适配指南 - 实现基于 Google Sheets 的云端国际化协作、支持多语言翻译的一键式同步与配置导出 前言 在进行 Flutter for OpenHarmony 的全场景应用开发时,如何低成本、高效地管理数十种语言的翻译资源?让不懂代码的产品经理或翻译人员直接修改代码(JSON/ARB)显然不现实。easy_localization_sheet 是一款极具创意的提效工具。它能将谷歌表格(Google Sheets)变成你的云端翻译后台。本文将介绍如何在鸿蒙开发流中利用该库实现“协同即同步”的国际化体验。 一、原原理性解析 / 概念介绍 1.1 基础原理 该工具利用谷歌公开的 Google Sheets API,

阿里云全品类 8 折券限时领,建站 / AI / 存储通用 立即领取