当前位置: 首页 > news >正文

【拼十字——树状数组】

题目

暴力代码 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.lryc.cn/news/533159.html

相关文章:

  • 脚手架开发【实战教程】prompts + fs-extra
  • Fiddler Classic(HTTP流量代理+半汉化)
  • 基于yolov11的阿尔兹海默症严重程度检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • 玩转Docker | 使用Docker部署httpd服务
  • 力扣1022. 从根到叶的二进制数之和(二叉树的遍历思想解决)
  • 排序算法--基数排序
  • 【AIGC魔童】DeepSeek核心创新技术(二):MLA
  • Mac: docker安装以后报错Command not found: docker
  • Golang 并发机制-7:sync.Once实战应用指南
  • react关于手搓antd pro面包屑的经验(写的不好请见谅)
  • Android修行手册-五种比较图片相似或相同
  • 设计模式.
  • 使用PyCharm创建项目以及如何注释代码
  • LabVIEW与PLC交互
  • Idea 2024.3 使用CodeGPT插件整合Deepseek
  • [论文笔记] Deepseek-R1R1-zero技术报告阅读
  • VUE之组件通信(三)
  • 【Redis实战】投票功能
  • linux常用基础命令 最新1
  • UnityShader学习笔记——多种光源
  • 深入浅出谈VR(虚拟现实、VR镜头)
  • 项目2 车牌检测
  • Linux: 网络基础
  • 【实战篇】巧用 DeepSeek,让 Excel 数据处理更高效
  • Flink CDC YAML:面向数据集成的 API 设计
  • RabbitMQ技术深度解析:打造高效消息传递系统
  • DeepSeek与人工智能的结合:探索搜索技术的未来
  • TAPEX:通过神经SQL执行器学习的表格预训练
  • Qt:Qt基础介绍
  • 加速度计信号处理