daimayuan 代码源大富翁游戏

简介: daimayuan 代码源大富翁游戏

线段树基础题,动态在线维护区间最大值和最小值,一发过

具体看注释:

/*********************************************************************
    程序名:
    版权: Joecai
    作者: Joecai
    日期: 2022-04-06 14:55
    说明:
*********************************************************************/
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
# define rep(i,be,en) for(int i=be;i<=en;i++)
# define pre(i,be,en) for(int i=be;i>=en;i--)
typedef pair<int, int> PII;
#define ll long long
#define endl "\n"
#define LOCAL
#define pb push_back
#define eb emplace_back
#define sp(i) setprecision(i)
const int N = 1e6 + 10, INF = 0x3f3f3f3f;
struct node
{
  int l;//区间左端点
  int r;//区间右端点
  int mi;//区间最小值
  int mx;//区间最大值
} tr[N << 2];
int a[N];
void init(int n)
{
  for (int i = 1; i <= n; i++)
  {
    a[i] = 100;
  }
}
void pushup(int u)//传递子树对父亲的影响
{
  tr[u].mi = min(tr[u << 1].mi, tr[u * 2 + 1].mi);//维护区间最小值
  tr[u].mx = max(tr[u << 1].mx, tr[u << 1 | 1].mx);//维护区间最小值
}
void build(int u, int l, int r)//构建线段树
{
  tr[u] = {l, r};
  if (l == r)
  {
    tr[u].mx = a[r];
    tr[u].mi = a[r];
    return;
  }
  int mid = l + r >> 1;
  build(u << 1, l, mid);
  build(u << 1 | 1, mid + 1, r);
  pushup(u);
}
void add(int u, int p, int x)//直接单点修改
{
  if (tr[u].l == tr[u].r)
  {
    if (tr[u].l == p)
    {
      tr[u].mi += x;
      tr[u].mx += x;
    }
    return;
  }
  int mid = tr[u].l + tr[u].r >> 1;
  if (p <= mid) add(u << 1, p, x);
  else add(u << 1 | 1, p, x);
  pushup(u);
}
int querymi(int u, int l, int r)//直接传递1-n的最小值
{
  return tr[u].mi;
}
int querymx(int u, int l, int r)//直接传递1-n,的最大值
{
  return tr[u].mx;
}
void solve()
{
  int n, m;
  cin >> n >> m;
  init(n);
  build(1, 1, n);
  for (int i = 1; i <= m; i++)
  {
    int t;
    cin >> t;
    if (t == 1)
    {
      int p, x;
      cin >> p >> x;
      a[p] += x;
      add(1, p, x);
    } else
    {
      cout << querymx(1, 1, n) << ' ' << querymi(1, 1, n) << endl;
    }
  }
}
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);
  //#ifdef LOCAL
  //freopen("data.in.txt","r",stdin);
  //freopen("data.out.txt","w",stdout);
  //#endif
  int __ = 1;
  //cin>>__;
  while (__--)
  {
    solve();
  }
  return 0;
}

点个赞再走叭~

目录
相关文章
|
网络协议
免费的几款内网穿透工具
免费的几款内网穿透工具
13671 1
|
机器学习/深度学习 编解码 PyTorch
DenseNet的应用--语义分割--(DenseASPP )
转载自:https://blog.csdn.net/u011974639 DenseASPP DenseASPP for Semantic Segmentation in Street Scenes 原文地址:DenseASPP 收录:CVPR2018(IEEE Conference on Computer Vision and Pattern Recognition) 代码: PyTorch 简介: 将DeepLab系列中的ASPP和DenseNet中的密集连接相结合,构成了DenseASPP。
5929 1
|
6月前
|
数据采集 机器学习/深度学习 数据可视化
基于python大数据的小说数据可视化及预测系统
本研究基于Python构建小说数据可视化与预测系统,整合多平台海量数据,利用爬虫、数据分析及机器学习技术,实现热度趋势预测与用户偏好挖掘。系统结合Django、Vue等框架,提供动态交互式可视化界面,助力平台精准运营、作者创作优化与读者个性化阅读体验,推动网络文学数据智能化发展。
|
大数据 数据挖掘 BI
几款主流的App统计工具解析:友盟、Talking Data、openinstall
本文简要分析友盟、Talking Data、openinstall的优劣势以及特点,希望能给入门人员一点帮助
6177 0
|
JavaScript 安全 前端开发
Gzm Design:开源神器!用 Vue3、Vite4、TypeScript 革新海报设计,免费开源的海报设计器,主流技术打造,轻松高效
海报设计在各个领域都有着广泛的应用,无论是商业广告、活动宣传还是个人创意表达。今天要给大家介绍一款免费开源的海报设计器——Gzm Design,它基于最新的主流技术开发,为用户提供了丰富的功能,让海报设计变得轻松又高效。
735 64
|
监控 安全 数据挖掘
这些屏幕监控软件一键轻松监控员工,速来试用
本文介绍了几款顶级屏幕监控软件,如WorkWin和Teramind,用于提升团队效率和保障企业安全。WorkWin提供远程控制、USB管理、权限分配等功能,确保合规运营和信息安全。Teramind能监控员工应用使用,发送实时警报,并进行数据分析。而ActivTrak则有实时屏幕监控和详细分析报告,帮助管理者优化工作流程。这些工具助力企业有效管理团队,提高生产力。
743 4
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
1638 1
|
机器学习/深度学习 并行计算 PyTorch
使用PyTorch Profiler进行模型性能分析,改善并加速PyTorch训练
加速机器学习模型训练是工程师的关键需求。PyTorch Profiler提供了一种分析工具,用于测量CPU和CUDA时间,以及内存使用情况。通过在训练代码中嵌入分析器并使用tensorboard查看结果,工程师可以识别性能瓶颈。Profiler的`record_function`功能允许为特定操作命名,便于跟踪。优化策略包括使用FlashAttention或FSDP减少内存使用,以及通过torch.compile提升速度。监控CUDA内核执行和内存分配,尤其是避免频繁的cudaMalloc,能有效提升GPU效率。内存历史记录分析有助于检测内存泄漏和优化批处理大小。
2028 1
|
安全 量子技术 芯片
光量子计算:实现通用量子计算机的路径
【10月更文挑战第3天】光量子计算作为量子计算的重要技术路径,利用光学原理处理量子信息,以光子作为量子比特,通过操控光子状态实现高效量子运算。其具备高速、高精度、易集成及低环境要求等优势,是实现通用量子计算机的关键。目前全球量子计算正处于快速发展阶段,中美等国在该领域取得显著进展,光量子计算有望在量子通信、量子化学等多个领域发挥重要作用,推动科技进步。
|
缓存 JavaScript
computed/watch深度监听
computed/watch深度监听
634 1