【拼十字——树状数组】

ops/2025/2/9 0:30:32/

题目

暴力代码 30%

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 10;
const int mod = 1e9 + 7;
int n;
int l[N], w[N], c[N];
int main()
{cin >> n;ll ans = 0;for (int i = 1; i <= n; i++){cin >> l[i] >> w[i] >> c[i];for (int j = 1; j < i; j++){if (l[j] > l[i] && w[j] < w[i] && c[j] != c[i] || l[j] < l[i] && w[j] > w[i] && c[j] != c[i])ans = (ans + 1) % mod;}}cout << ans;
}

代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5 + 10;
const int mod = 1e9 + 7;
struct node
{int l, w, c;bool operator<(const node &y) const{if (l != y.l)return l > y.l;return w > y.w;}
} a[N];
int f0[N], f1[N], f2[N], n;
void add(int x, int f[])
{for (; x <= 1e5; x += x & -x)f[x]++;
}
int query(int x, int f[])
{int retv = 0;for (; x; x -= x & -x)retv += f[x];return retv;
}
int main()
{cin >> n;for (int i = 1; i <= n; i++){int l, w, c;cin >> l >> w >> c;a[i] = {l, w, c};}sort(a + 1, a + n + 1);ll ans = 0;for (int i = 1; i <= n; i++){int l = a[i].l, w = a[i].w, c = a[i].c;if (c == 0){ans = (ans + query(w - 1, f1) + query(w - 1, f2)) % mod;add(w, f0);}else if (c == 1){ans = (ans + query(w - 1, f0) + query(w - 1, f2)) % mod;add(w, f1);}else if (c == 2){ans = (ans + query(w - 1, f0) + query(w - 1, f1)) % mod;add(w, f2);}}cout << ans;
}


http://www.ppmy.cn/ops/156836.html

相关文章

深入解析:Python 爬虫高级技巧与实战应用

在当今数字化时代&#xff0c;Python 爬虫已成为自动化数据抓取的核心工具。Python 拥有强大的第三方库支持&#xff0c;使得网络爬虫在数据采集领域应用广泛。本文将深入探讨 Python 爬虫的高级用法&#xff0c;包括处理反爬虫机制、动态网页抓取、分布式爬虫以及并发和异步爬…

Maven(Ⅲ)继承和聚合

Maven继承 概念 Maven继承主要用于管理项目的公共配置&#xff0c;如依赖、插件等。通过继承&#xff0c;子项目可以复用父项目的配置&#xff0c;减少重复代码&#xff0c;提高项目的可维护性。一个父项目可以有多个子项目&#xff0c;子项目可以继承父项目的 groupId、vers…

TCP/IP 邮件

TCP/IP 邮件 引言 在互联网技术飞速发展的今天,电子邮件(Email)已成为人们日常工作和生活中不可或缺的通信工具。TCP/IP协议作为互联网通信的基础,为电子邮件的传输提供了强大的技术支持。本文将详细介绍TCP/IP在电子邮件传输过程中的作用,以及相关的协议和实现方式。 …

园区网设计与实战

想做一个自己学习的有关的csdn账号&#xff0c;努力奋斗......会更新我计算机网络实验课程的所有内容&#xff0c;还有其他的学习知识^_^&#xff0c;为自己巩固一下所学知识。 我是一个萌新小白&#xff0c;有误地方请大家指正&#xff0c;谢谢^_^ 文章目录 前言 这个实验主…

OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关

目标 学习将 OpenAI 接入 Web 应用&#xff0c;构建交互式 API 网关理解 Flask 框架的基本用法实现 GPT 模型的 API 集成并返回结果 内容与实操 一、环境准备 安装必要依赖&#xff1a; 打开终端或命令行&#xff0c;执行以下命令安装 Flask 和 OpenAI SDK&#xff1a; pip i…

uniapp mqttjs 小程序开发

在UniApp中集成MQTT.js开发微信小程序时&#xff0c;需注意平台差异、协议兼容性及消息处理等问题。以下是关键步骤与注意事项的综合指南&#xff1a; 一、环境配置与依赖安装 安装MQTT.js 推荐使用兼容性较好的版本&#xff1a;mqtt4.1.0&#xff08;H5和小程序兼容性最佳&…

TAPEX:通过神经SQL执行器学习的表格预训练

摘要 近年来&#xff0c;语言模型预训练的进展通过利用大规模非结构化文本数据取得了巨大成功。然而&#xff0c;由于缺乏大规模高质量的表格数据&#xff0c;在结构化表格数据上应用预训练仍然是一个挑战。本文提出了TAPEX&#xff0c;通过在一个合成语料库上学习神经SQL执行…

HTML学习笔记(1)

VSCode里面 ctrl/注释 html元素&#xff1a;直接书写html名称&#xff0c;不需要<>&#xff0c;按回车即可 1、span标签 文本标签 <span style"color: red;">hello</span> <span>demo</span> 2、h1~h6标签 标题标签 <h1>…