首页 > 其他分享 >洛谷 P1672

洛谷 P1672

时间:2024-09-28 22:13:25浏览次数:10  
标签:f2 洛谷 rr int sum P1672 -- ll

前缀和

降低区间和查询问题时间复杂度,一维和二维

一种数据预处理手段,一般配合其他算法查分、二分搜索

二分:容斥原理。

sum[i][j] = sum[i - 1][j] +sum[i][j - 1] - sum[i - 1][j - 1] + a[i][j];

差分

前缀和相对的策略,可当做求和的逆运算

a[l]++; a[r + 1]--;

洛谷 P1672

https://www.luogu.com.cn/problem/P1672

牛的个数: C

收到运来的饲料: F1

到 D 天为止

剩下饲料:F2

判断饲料最近一次运到的时候

原理:F1 + ( D 天到 x 天的和 ) = F2

输入数据,差分记录

cin >> c >> f1 >> f2 >> d;
for (int i = 1; i <= n; ++ i ) {
	int l, r;
	cin >> l >> r;
	ll = min(ll, l);
	rr = max(rr, r);
	diff[l]++;
	diff[r + 1]--;
}

差分转前缀

for (int i = ll; i <= rr; ++ i) {
	sum[i] = sum[i - 1] + diff[i];
}

时间从后往前推,算出最近的,加sum[i]的数,使数达到F1

int x = d + 1; //天数
while (f1 != f2) {
	// f2 += sum[--x]; 优化
	f2 += sum[x];
	x--;
}

输出

cout << x;

完整代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;

int c, f1, f2, d, a[N], sum[N], rr = -INT_MAX, ll = INT_MAX;

signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> c >> f1 >> f2 >> d;
  for (int i = 1; i <= c; ++i) {
    int l, r;
    cin >> l >> r;
    a[l]++;
    a[r + 1]--;
    ll = min(ll, l);
    rr = max(rr, r);
  }
  for (int i = ll; i <= rr; ++i) {
    sum[i] = sum[i - 1] + a[i];
  }
  int x = d + 1;
  while (f2 != f1) {
    f2 += sum[--x];
  }
  cout << x;
}

标签:f2,洛谷,rr,int,sum,P1672,--,ll
From: https://www.cnblogs.com/Mono-Awen/p/18438503

相关文章

  • 洛谷P1827 [USACO3.4] 美国血统 题解
    上题目:题目描述农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序遍历”和......
  • 洛谷P1162 填涂颜色题解
    老规矩上题目:题目描述由数字 00 组成的方阵中,有一任意形状的由数字 11 构成的闭合圈。现要求把闭合圈内的所有空间都填写成 22。例如:6×66×6 的方阵(n=6n=6),涂色前和涂色后的方阵如下:如果从某个 00 出发,只向上下左右 44 个方向移动且仅经过其他 00 的情况下,无法......
  • 【洛谷】P4819 [中山市选] 杀人游戏 的题解
    【洛谷】P4819[中山市选]杀人游戏的题解题目传送门题解Tarjan我可爱的Tarjan嘻嘻qaq枚举每一个点,然后枚举每条出边,如果相连的两个点在同一个强连通分量中,或者xx......
  • 【洛谷】AT_abc178_d [ABC178D] Redistribution 的题解
    【洛谷】AT_abc178_d[ABC178D]Redistribution的题解洛谷传送门AT传送门题解一个水水的动态规划,阿巴巴巴。题目大概是这样:给定一个正整数SSS,问有多少个数满足以......
  • 【洛谷】P1168 中位数 的题解
    【洛谷】P1168中位数的题解题目传送门题解不懂就问,这是什么标签啊,《线段树》《二分》《堆》《树状数组》qaq谔谔,教练讲的这是一题线段树,看半天看不出来,也不会做,只好去看题解。其他的题解讲什么主席树,平衡树,分块,结果看完第一篇人都傻了。什么东西嘛qaq(恼vector直接一......
  • 洛谷题单指南-分治与倍增-P4155 [SCOI2015] 国旗计划
    原题链接:https://www.luogu.com.cn/problem/P4155题意解读:在m个点的环上,有n个区间,且各个区间之间没有包含关系,计算从每个区间开始,最少要多少个区间能覆盖环上所有m个点。解题思路:本质上是一个区间覆盖问题!1、破环成链由于题目中是一个环,对于环的问题,在区间DP中介绍过,经典处理......
  • 洛谷每日一题(P1540 [NOIP2010 提高组] 机器翻译)
    原题目链接:P1540[NOIP2010提高组]机器翻译-洛谷|计算机科学教育新生态(luogu.com.cn)原题目截图:思路分析:读懂题意,直接模拟过程即可。这是一道很简单的题目。思路过程很类似模拟页面置换算法中的先进先出(FIFO)策略。因此我们很容易想到,要用队列来实现。下面是......
  • 洛谷 P2241 统计方形(数据加强版)
    统计方形(数据加强版)题目背景1997年普及组第一题题目描述有一个n×mn\timesmn×m方格的棋盘,求其方格包......
  • 洛谷题单指南-分治与倍增-P3517 [POI2011] WYK-Plot
    原题链接:https://www.luogu.com.cn/problem/P3517题意解读:有n个连续的点p1,p2,...,pn,将这n个点分成不超过m堆,每堆点连续,每一堆都缩成一个点qi,要使得原来的点p1~ps距离qi的最大值最小(最相似),求这个相似度,并计算一共分成几堆,以及每堆缩到的点qi的坐标。解题思路:要使得若干点缩到一......
  • bfs 与优先队列————洛谷p1126(历经两个小时总算AC了,哭晕)
    机器人搬重物题目描述机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径\(1.6\)米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个\(N\timesM\)的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时......