G.Pot

2024-01-26 11:58
文章标签 pot

本文主要是介绍G.Pot,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

区间加 , 区间最值

#include <bits/stdc++.h>
#pragma GCC optimize(3 , "Ofast" , "inline")
using namespace std;
typedef long long ll ;
const int INF = 0x3f3f3f3f , N = 1e5 + 10 ;
void read(int &x)
{x = 0 ;char c = getchar() ;while(!isdigit(c)) c = getchar() ;while(isdigit(c)) x = x * 10 + c - 48 , c = getchar() ;
}
int n , q ;
struct node
{int l , r , sum , tag ;
}tree2[N << 2] , tree3[N << 2] , tree5[N << 2] , tree7[N << 2];
void build(int l , int r , int rt , node *a)
{a[rt].l = l , a[rt].r = r , a[rt].sum = a[rt].tag = 0 ;if(l == r) return ;int mid = l + r >> 1 ;build(l , mid , rt << 1 , a) , build(mid + 1 , r , rt << 1 | 1 , a) ;
}
void push_down(int rt , node *a)
{if(a[rt].l == a[rt].r){a[rt].tag = 0 ;return ;}a[rt << 1].sum += a[rt].tag ;a[rt << 1 | 1].sum += a[rt].tag ;a[rt << 1].tag += a[rt].tag ;a[rt << 1 | 1].tag += a[rt].tag ;a[rt].tag = 0 ;
}
void update(int l , int r , int rt ,int k , node *a)
{if(l == a[rt].l && r == a[rt].r){a[rt].sum += k ;a[rt].tag += k ;return ; }if(a[rt].tag) push_down(rt , a) ;int mid = a[rt].l + a[rt].r >> 1 ;if(r <= mid) update(l , r , rt << 1 , k , a) ;else if(l > mid) update(l , r , rt << 1 | 1 , k , a) ;else {update(l , mid , rt << 1 , k , a) ;update(mid + 1 ,r , rt << 1 | 1 , k , a) ;}a[rt].sum = max(a[rt << 1].sum , a[rt << 1 | 1].sum) ;
}
int query(int l , int r , int rt ,node *a)
{if(a[rt].tag) push_down(rt , a) ;if(l == a[rt].l && r == a[rt].r)return a[rt].sum ;int mid = a[rt].l + a[rt].r >> 1 ;if(r <= mid) return query(l , r ,rt << 1 , a) ;else if(l > mid) return query(l , r , rt << 1 | 1 , a) ;else return max(query(l , mid , rt << 1 , a) , query(mid + 1 , r , rt << 1 | 1 , a)) ;
}
int main()
{read(n) , read(q) ;build(1 , n , 1 , tree2) , build(1 , n , 1 , tree3) , build(1 , n , 1 , tree5) , build(1 , n , 1 , tree7) ;for(int i = 1; i <= q; i ++){char s[20] ;int l , r , x ;scanf("%s" , s) ;read(l) , read(r) ;if(s[1] == 'A') {int max1 = max(query(l , r , 1 , tree2) ,query(l , r , 1 , tree3) ) ;int max2 = max(query(l , r , 1 , tree5) ,query(l , r , 1 , tree7) ) ;printf("ANSWER %d\n" , max(max1 , max2)) ;}else {read(x) ;if(x == 2) update(l , r , 1 , 1 , tree2) ;else if(x == 3) update(l , r , 1 , 1 , tree3) ;else if(x == 4) update(l , r , 1 , 2 , tree2) ;else if(x == 5) update(l , r , 1 , 1 , tree5) ;else if(x == 6) update(l , r , 1 , 1 , tree2) , update(l , r , 1 , 1 , tree3) ;else if(x == 7) update(l , r , 1 , 1 , tree7) ;else if(x == 8) update(l , r , 1 , 3 , tree2) ;else if(x == 9) update(l , r , 1 , 2 , tree3) ;else if(x == 10) update(l , r , 1 , 1 , tree2) , update(l , r , 1 , 1 , tree5) ;}}return 0 ;
}

这篇关于G.Pot的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646731

相关文章

Program-of-Thoughts(PoT):结合Python工具和CoT提升大语言模型数学推理能力

Program of Thoughts Prompting:Disentangling Computation from Reasoning for Numerical Reasoning Tasks github:https://github.com/wenhuchen/Program-of-Thoughts 一、动机 数学运算和金融方面都涉及算术推理。先前方法采用监督训练的形式,但这种方

T-Pot多功能蜜罐实践@debian12@FreeBSD

T-Pot介绍 T-Pot是一个集所有功能于一身的、可选择分布式的多构架(amd64,arm64)蜜罐平台,支持20多个蜜罐和很多可视化选项,使用弹性堆栈、动画实时攻击地图和许多安全工具来进一步改善欺骗体验。GitHub - telekom-security/tpotce: 🍯 T-Pot - The All In One Multi Honeypot Platform 🐝 可能是当前更新

装机必备工具软件:Pot-Player、WiseCare365、CCleaner、IObit Driver Booster

目录 Pot-Player 播放器 Pot-Player 下载安装 Pot-Player 直播 CCTV pot-player 设置快进秒数 WiseCare365 系统清理和加速 CCleaner PC 加速、垃圾清理、问题修复 IObit Driver Booster 驱动管理工具 Pot-Player 播放器 Pot-Player 下载安装 1、Pot-Player

4月17日 | 【NDSS 2020】Melting Pot of Origins

Melting Pot of Origins: Compromising theIntermediary Web Services that Rehost Websites 原文:link 作者: Takuya WatanabeEitaro ShiojiMitsuaki Akiyama 上学期还读了他的一篇文章~Tatsuya Mori lab:NTT 这个网站过于复杂,不想看了 Abstr

推荐一款开源的跨平台划词翻译和OCR翻译软件:Pot

Pot简介 一款开源的跨平台划词翻译和OCR翻译软件 下载安装指南  根据你的机器型号下载对应版本,下载完成后双击安装即可。 使用教程 Pot具体功能如下: 划词翻译输入翻译外部调用鼠标选中需要翻译的文本,按下设置的划词翻译快捷键即可按下输入翻译快捷键呼出翻译窗口,输入待翻译文本后按下 回车 翻译通过被其他软件调用实现更加方便高效的功能, 详见 外部调用 剪切

【7K⭐】Pot:一款开源免费支持跨平台划词翻译和OCR的软件

【7K⭐】Pot:一款开源免费支持跨平台划词翻译和OCR的软件 如果你经常需要阅读英文文档或者图片,你可能会遇到以下问题: 浏览器自带的翻译功能翻译效果不佳,无法对照原文,而且不能翻译图片中的文字翻译插件虽然支持多个翻译源,但是在国内使用速度很慢,而且会干扰正常的操作其他的划词翻译软件只能在浏览器中使用,不能翻译其他应用中的文字,而且不支持 OCR 功能 那么,有没有一款软件可以解决这些问题

shell脚本的国际化——gettext与pot、po、mo

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 简介准备测试脚本生成pot编辑pot生成po编辑po生成mo实现国际化 简介 在编写shell脚本时,我们可能需要shell脚本在运行时,根据用户操作系统的语言环境,自动选择对应语言的字符串进行