正题

题目链接:https://gmoj.net/senior/#contest/show/3146/2


题目大意

一个以左上角为端点的子矩形价值定义为区间内唯一的数的数量,求所有子矩形的权值和。


解题思路

考虑每个数字的贡献,对于相同的数字,产生贡献的右下角一定是一个若干个矩形。我们对于每个数存一个hi,li,rih_i,l_i,r_ihi​,li​,ri​表示上一个有贡献的点的xxx坐标,在li∼ril_i\sim r_ili​∼ri​范围可以产生贡献。

然后统计即可,时间复杂度O(nm)O(nm)O(nm)


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=1110,XJQ=19900907;
ll n,m,h[N*N],r[N*N],l[N*N],ans;
int main()
{scanf("%lld%lld",&n,&m);for(ll i=1;i<=n;i++){for(ll j=1;j<=m;j++){ll x;scanf("%lld",&x);if(!h[x]){h[x]=i;l[x]=j;r[x]=m+1;}else if(j<l[x]){(ans+=(i-h[x])*(r[x]-l[x])%XJQ)%=XJQ;h[x]=i;r[x]=l[x];l[x]=j;}else if(j<r[x]){(ans+=(i-h[x])*(r[x]-j)%XJQ)%=XJQ;r[x]=j;}}}for(ll i=1;i<=n*m;i++)if(h[i])(ans+=(n-h[i]+1)*(r[i]-l[i])%XJQ)%=XJQ;printf("%lld",ans);
}

jzoj1282-资源勘探【统计】相关推荐

  1. 资源 | 《统计学习方法》的Python 3.6复现,实测可用

    来源:机器之心 本文多图,建议阅读6分钟. 本文为你分享一个 GitHub 项目,其用 Python 复现了课程内容,并提供代码实现和课件. <统计学习方法>可以说是机器学习的入门宝典,许 ...

  2. linux资源使用统计指南,指南:工作量分析文档

    指南:工作量分析文档 工作量分析文档 工作量分析文档用于在不同的性能测试中确定要使用的变量并定义变量值,利用这些性能测试可以模拟主角特征.最终用户业务功能(用例).负载和容量. 主题 软件质量要从不同 ...

  3. 微信支付开发(全网资源) - 统计篇

    博文统计: 微信H5支付(非微信浏览器)----准备工作 附: 代码 · 含前后端地址(采用前后端分离) 微信支付之H5页面WAP端接入 附: 含大量java代码参考 微信网页登录授权详解(前端) 附 ...

  4. 揭开OpenStack 统计资源和资源调度的面纱

    引言 运维的同事常常遇到这么四个问题: Nova 如何统计 OpenStack 计算资源? 为什么 free_ram_mb, free_disk_gb 有时会是负数? 即使 free_ram_mb, ...

  5. Nova 如何统计 OpenStack 计算资源(free_ram_mb, free_disk_gb)

    1)Nova 如何统计 OpenStack 计算资源? (2)为什么 free_ram_mb, free_disk_gb 有时会是负数? (3)即使 free_ram_mb, free_disk_gb ...

  6. 开源项目哪家强?Github年终各大排行榜超级盘点(内附开源项目学习资源)

    整理 | Jane 出品 | AI科技大本营 [导语]提到开源项目,2018 年注定是不平凡的一年.据 Octoverse 报告数据,仅在 2018 年,Github 上的新用户就比过去六年的用户总数 ...

  7. 重磅开源!所有的李航老师《统计学习方法》算法代码实现!!!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 超有料的仓库项目资源---<统计学习方法>代码 李航老师的<统计 ...

  8. sql2005 性能调校 观察各种资源的使用情况

    查询某个数据库内各对象使用内存缓存区资源的统计 CREATE SCHEMA myScript GO CREATE PROC myScript.spBufferUsed @db sysname as D ...

  9. 58 同城 iOS 客户端组件体积分析与统计实践

    [导读]目前 58 旗下存在租房.安居客.招聘.二手车.黄页等多个业务线,其中每个业务线在 58 APP 中存在一个或多个业务 pod.在研发层面上,58 同城其实早已实现了并行研发,不过,在并行研发 ...

  10. Mac使用Top命令统计多个进程的CPU和内存

    Mac和Linux的top还是有些区别的,在使用的时候需要注意,我们从帮助提示可以看出,比如: Linux电脑: $ top -htop: procps version 3.2.8 usage: to ...

最新文章

  1. 协作机器人的江湖:把人放在首位
  2. ThinkPHP 模板循环输出 Volist 标签
  3. shelve 之VS. pickle
  4. Spring Aop实例之AspectJ注解配置
  5. 详细解读CSS链接属性——Web前端系列学习笔记
  6. 【转】一篇比较清晰简单的C++文件操作
  7. 日记 2014-5-18
  8. (12)Verilog HDL变量:reg型
  9. python字符串,列表常用操作
  10. python vb 哪个好学_最难学的七大编程语言,VB 第一,Python垫底,看你学的排第几...
  11. Linux第二周学习笔记(12)
  12. 【4】Kafka集群启动/关闭脚本
  13. 任务调度的合理性 (25 分)(拓扑排序)
  14. 使用WinDbg分析Windows dump文件方法
  15. 万能的MATLAB丨大厂工程师必备技能,免费学习
  16. 微信浏览器 视频小窗 播放 微信网页
  17. Python -- 图像处理—PIL库的使用
  18. Unity游戏开发前置知识
  19. 部署无鱼工时系统,超详细教程,并成功部署
  20. mac 配置 k8s 开发环境(安装go、docker、kubectl、minikube、kind,配置 goland)

热门文章

  1. 如何备份服务器日志到其他服务器_KIWI Syslog日志服务器搭建及配置
  2. win10前置耳机插孔没声音_音频服务未运行怎么办?win7和win10电脑没声音了恢复方法...
  3. linux连接教程视频,[原创]linux视频教程之连接
  4. java swing 示例_JAVA简单Swing图形界面应用演示样例
  5. 云服务器下行_腾讯云轻量应用服务器简单测评
  6. mybatis collection标签_一对多的关系,在MyBatis中如何映射?
  7. php restful规范,RESTFul API规范 详细指南
  8. java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
  9. vst3插件_Steinberg发布新的VST 3.7 SDK,音乐软件开发者速来围观
  10. git maven 一键部署_Jenkins Git Maven搭建自动化部署项目环境 邮件通知