尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

#题解#洛谷P1083借教室#二分#线段树#差分#

#题解#洛谷P1083借教室#二分#线段树#差分#
📅 发布时间:2026/6/19 23:16:57

P1083 [NOIP 2012 提高组] 借教室 - 洛谷

分析

  1. 答案单调,二分查找 。O(log m)

  2. 每次查询一个mid,mid次区间修改:差分 or 线段树

代码实现

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6+10;
int n, m;
int s[N], t[N], r[N], d[N], dr[N], tmp1[N], tmp2[N];
bool check(int x)
{memcpy(tmp1, dr, sizeof(dr));for (int i = 1; i <= x; i++){tmp1[s[i]] -= d[i];tmp1[t[i] + 1] += d[i];}for (int i = 1; i <= n; i++){tmp2[i] = tmp2[i - 1] + tmp1[i];if (tmp2[i] < 0)return 0;}return 1;
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin >> n >> m;for (int i = 1; i <= n; i++)cin >> r[i], dr[i] = r[i] - r[i - 1];for (int i = 1; i <= m; i++)cin >> d[i] >> s[i] >> t[i];int L = 0, R = m + 1;while (L < R){int mid = (L + R) / 2;if (check(mid))L = mid + 1;elseR = mid;}if (L > 0 && L < m + 1)cout << "-1\n" << L;elsecout << 0;return 0;
}

相关新闻

  • 数值天气预报简介PPT 2
  • 2025年质量好的3D效果图装饰装修签单人气榜
  • 2025年比较好的pert塑料管材设备厂家推荐及选购参考榜

最新新闻

  • Appium自动化测试全解析:从核心原理到实战应用
  • 【Python】从IndexError到数据安全:NumPy/Pandas索引越界的深度防御与实战修复
  • SSD1306驱动库全面解析:支持8种OLED/LCD显示屏的跨平台解决方案
  • Python命名规范与代码风格:写出优雅代码
  • QT程序依赖的dll--自动导入
  • 如何永久保存微信聊天记录?WeChatMsg终极本地化数据管理指南

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号