尧图网络科技 Logo 尧图网络科技
  • 首页
  • 关于我们
  • 建站服务
  • UI 设计
  • 案例展示
  • SEO 优化
  • 资讯中心
  • 联系我们

资讯详情

深度解读 · 专业分析

  • 首页
  • 资讯中心
  • /
  • P6149 [USACO20FEB] Triangles S 总结

最新资讯

  • 全部资讯
  • 行业动态
  • UI 设计
  • SEO 优化
  • 网站开发

P6149 [USACO20FEB] Triangles S 总结

📅 发布时间:2026/9/10 21:30:35 👁 浏览次数:
P6149 [USACO20FEB] Triangles S 总结

P6149 [USACO20FEB] Triangles S 总结

P6149 [USACO20FEB] Triangles S 总结

思路历程

这一题还是相当有趣的,首先我们不难发现,题目要求的就是一个两个直角边平行于 \(x\) 和 \(y\) 的直角三角形。

此时我们想到,这个三角形开口的方向可以有四个情况(对应四个象限),所以我们可以排序四次并在这四次排序操作得到这四种情况。

然后我们考虑一个点对应的 \(x\) 轴和 \(y\) 轴上有多个点怎么求面积,我们可以通过推一推式子得到结论:假设 \(x\) 轴上有多个线段 \(x_1, x_2, x_3\) 和 \(y\) 轴上有多段线段 \(y_1, y_2, y_3\),可以得到这个式子:

\[\sum S = (x_1+2\times x_2+3\times x_3) \times (y_1 + 2\times y_2 + 3\times y_3) \]

所以我们还需要用一个桶来记录出现的点的个数。

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long 
#define pii pair <ll, ll>
const ll PI = 1e4+5;
const ll MOD = 1e9+7;void solve () {int n; cin >> n;vector <pii> point(n);for (int i = 0;i < n;i++) {cin >> point[i].first >> point[i].second;point[i].first += PI, point[i].second += PI;}ll ans = 0;auto count = [&]() -> void {vector <ll> x(PI*2+1000, 0), _x(PI*2+1000, 0), y(PI*2+1000, 0), _y(PI*2+1000, 0);vector <ll> lstx(PI*2+1000), lsty(PI*2+1000);for (auto [fir, sec] : point) {x[fir] = (x[fir] + abs(sec-lstx[fir])*_x[fir]) % MOD, _x[fir]++, lstx[fir] = sec;y[sec] = (y[sec] + abs(fir-lsty[sec])*_y[sec]) % MOD, _y[sec]++, lsty[sec] = fir;ans = (ans + x[fir]*y[sec]) % MOD; }};sort(point.begin(), point.end(), [&](pii x, pii y) { return (x.first != y.first ? x.first < y.first : x.second < y.second); });count();sort(point.begin(), point.end(), [&](pii x, pii y) { return (x.first != y.first ? x.first < y.first : x.second > y.second); });count();sort(point.begin(), point.end(), [&](pii x, pii y) { return (x.first != y.first ? x.first > y.first : x.second < y.second); });count();sort(point.begin(), point.end(), [&](pii x, pii y) { return (x.first != y.first ? x.first > y.first : x.second > y.second); });count();cout << ans << "\n";
}int main () {ios::sync_with_stdio(false);cin.tie(nullptr), cout.tie(nullptr);int _ = 1;while (_--) solve();return 0;
}

相关新闻

数据预处理

数据预处理

2026/9/10 21:29:30 查看详情
Java第二天

Java第二天

2026/9/8 10:18:50 查看详情
八、认识for循环

八、认识for循环

2026/9/7 10:23:21 查看详情
戴尔物理机r730为虚拟机配置静态IP192.168.1.10/

戴尔物理机r730为虚拟机配置静态IP192.168.1.10/

2026/9/10 21:30:27 查看详情
ToolJet 审计日志(Audit Logs)完整指南:记录、筛选、脱敏与文件导出

ToolJet 审计日志(Audit Logs)完整指南:记录、筛选、脱敏与文件导出

2026/9/10 21:30:27 查看详情
MLX Layers 完全指南:mlx.nn 的 69 个神经网络层组件详解

MLX Layers 完全指南:mlx.nn 的 69 个神经网络层组件详解

2026/9/10 21:29:57 查看详情
期末高效学习工具与应急技巧全攻略

期末高效学习工具与应急技巧全攻略

2026/9/10 21:29:27 查看详情
机器学习系统:cs249r_book 开源学习栈与 AI 系统工程实践指南

机器学习系统:cs249r_book 开源学习栈与 AI 系统工程实践指南

2026/9/10 21:28:57 查看详情
MLX 数组索引与原地更新完全指南:从基础切片到布尔掩码赋值

MLX 数组索引与原地更新完全指南:从基础切片到布尔掩码赋值

2026/9/10 21:28:56 查看详情
戴尔物理机r730为虚拟机配置静态IP192.168.1.10/

戴尔物理机r730为虚拟机配置静态IP192.168.1.10/

2026/9/10 21:30:27 查看详情
ToolJet 审计日志(Audit Logs)完整指南:记录、筛选、脱敏与文件导出

ToolJet 审计日志(Audit Logs)完整指南:记录、筛选、脱敏与文件导出

2026/9/10 21:30:27 查看详情
MLX Layers 完全指南:mlx.nn 的 69 个神经网络层组件详解

MLX Layers 完全指南:mlx.nn 的 69 个神经网络层组件详解

2026/9/10 21:29:57 查看详情
期末高效学习工具与应急技巧全攻略

期末高效学习工具与应急技巧全攻略

2026/9/10 21:29:27 查看详情
机器学习系统:cs249r_book 开源学习栈与 AI 系统工程实践指南

机器学习系统:cs249r_book 开源学习栈与 AI 系统工程实践指南

2026/9/10 21:28:57 查看详情
MLX 数组索引与原地更新完全指南:从基础切片到布尔掩码赋值

MLX 数组索引与原地更新完全指南:从基础切片到布尔掩码赋值

2026/9/10 21:28:56 查看详情
freeCodeCamp Python 每日编程挑战精讲:Challenge 1「Vowel Balance」元音平衡问题

freeCodeCamp Python 每日编程挑战精讲:Challenge 1「Vowel Balance」元音平衡问题

2026/9/10 0:00:11 查看详情
后台管理系统设置页面开发实战:权限模型与动态路由设计

后台管理系统设置页面开发实战:权限模型与动态路由设计

2026/9/10 0:00:42 查看详情
别再问C#学习资料少,正确的入坑姿势和实战避坑指南

别再问C#学习资料少,正确的入坑姿势和实战避坑指南

2026/9/10 0:01:12 查看详情
AI视频二次采样原理与ComfyUI工作流实战:从模糊到高清

AI视频二次采样原理与ComfyUI工作流实战:从模糊到高清

2026/9/10 17:44:23 查看详情
负向提示词在LLM中的逆反效应:为什么别想粉色大象总是失效

负向提示词在LLM中的逆反效应:为什么别想粉色大象总是失效

2026/9/10 11:28:03 查看详情
叙事游戏开发:从对话系统到分支剧情的完整技术实现

叙事游戏开发:从对话系统到分支剧情的完整技术实现

2026/9/10 6:15:01 查看详情
雨花区哪家财务公司代理记账比较好?

雨花区哪家财务公司代理记账比较好?

2026/9/10 11:28:03 查看详情
从零到一构建开源项目的完整历程:交付前的最后检查怎么做

从零到一构建开源项目的完整历程:交付前的最后检查怎么做

2026/9/10 11:28:03 查看详情
日志平台 日志分析平台与全链路追踪:交付前的最后检查怎么做

日志平台 日志分析平台与全链路追踪:交付前的最后检查怎么做

2026/9/10 4:57:15 查看详情

关于尧图

立足北京本地的一站式网站建设服务与设计教学平台,深耕企业网站定制开发、全网 SEO 优化及网络推广服务。

快速链接

  • 关于我们
  • 建站服务
  • 案例展示
  • 资讯中心

服务项目

  • 企业官网定制
  • UI 界面设计
  • SEO 优化推广
  • 移动端适配

联系方式

电话:400-XXX-XXXX

邮箱:info@zskr.cn

地址:北京市朝阳区 XXX 路 XX 号

© 2026 尧图网络科技 版权所有 | 京 ICP 备 XXXXXXXX 号