有奖求调!!!

news/2025/4/19 4:22:56/文章来源:https://www.cnblogs.com/YuenYouth/p/18447733

T3 求调,12:00 之前调成功悬一袋红烧牛肉面

#include<bits/stdc++.h>
#define Type int
#define qr(x) x=read()
typedef long long ll;
using namespace std;inline Type read(){char c=getchar(); Type x=0;while(!isdigit(c))c=getchar();while(isdigit(c))x=(x<<1)+(x<<3)+(c^48),c=getchar();return x;
}const int N = 2e5 + 10;
const int mod = 1e9 + 7;int n, q, f[N];
char s[N];int P(char A, char B){if(A == '#' or B == '@') return 1;if(A == B) return 0;if(A == 'R'){if(B == 'S') return 1;else return -1;}else if(A == 'S'){if(B == 'P') return 1;else return -1;}else{if(B == 'R') return 1;else return -1;}
}
struct tree{int v, pos, tag;bool operator < (const tree &A) const{return v < A.v;}}t[N<<3];
namespace Tree
{#define lson rt<<1#define rson rt<<1|1inline void pushup(int rt){if(t[lson].v < t[rson].v) t[rt].v = t[lson].v, t[rt].pos = t[lson].pos;else t[rt].v = t[rson].v, t[rt].pos = t[rson].pos;}inline void pushdown(int rt){if(t[rt].tag){t[lson].tag += t[rt].tag, t[rson].tag += t[rt].tag;t[lson].v += t[rt].tag, t[rson].v += t[rt].tag;t[rt].tag = 0;}}inline void build(int rt, int l, int r){if(l == r){t[rt].v = f[l], t[rt].pos = l;return;}int mid = (l + r) >> 1;build(lson, l, mid),build(rson, mid+1, r);pushup(rt);// if(t[rt].pos == 0) cout<<"CTHisSB\n";}inline void update(int rt, int l, int r, int pos, int val){if(pos <= l and r <= n){t[rt].tag += val, t[rt].v += val;return;}pushdown(rt);int mid = (l + r) >> 1;if(pos <= mid) update(lson, l, mid, pos, val);if(n > mid) update(rson, mid+1, r, pos, val);pushup(rt);}inline tree query(int rt, int l, int r, int L, int R){if(L <= l and r <= R) return t[rt];pushdown(rt); int mid = (l + r) >> 1;if(R <= mid) return query(lson, l, mid, L, R);else{if(L > mid) return query(rson, mid+1, r, L, R);else return min(query(lson, l, mid, L, R), query(rson, mid+1, r, L, R));}}
}signed main(){freopen("a.in", "r", stdin), freopen("a.out", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);qr(n), qr(q), cin>>(s+1);f[1] = 1; s[0] = '#', s[n+1] = '@';for(int i=2; i<=n; i++)f[i] = f[i-1] + P(s[i-1], s[i]);Tree::build(1, 1, n);while(q--){int qr(op);switch(op){case 1:{int qr(p); char c; cin>>c; int now = P(s[p-1], c) - P(s[p-1], s[p]);Tree::update(1, 1, n, p, now); now = P(c, s[p+1]) - P(s[p], s[p+1]);Tree::update(1, 1, n, p+1, now); s[p] = c;  break; }default:{int qr(l), qr(r); cout<<s[Tree::query(1, 1, n, l, r).pos]<<"\n"; break;}}}return 0;
}

为了方便判断,我让 s[0]='#',但交到 oj 上却输出了这个:

显然是返回了 0,但是毫无缘由,代码里注释部分是输出树上所有点的 pos,结果没有为 0 的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/808399.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react 之 fiber 架构

一、为什么要用 fiber架构在react16 之前,react是用 diff 算法对vitrulDom进行对比更新渲染,这种 diff 算法对比 如果遇到需要大量时间执行的方法任务时,就会造成页面卡顿 二、什么是 fiber 架构fiber架构简单点说就是 任务切片(一个耗时任务在浏览器空闲时,分多次执行),…

关于容联云

https://www.cnblogs.com/Neeo/articles/16672659.html#配置过程

Windows Powershell and WSL terminal 路径

在windows powershell中访问C, D盘cd C:,cd D:,...:PS C:\Users\phil> cd C: PS C:\Users\phil> pwdPath ---- C:\Users\philPS C:\Users\phil>在windows powershell中访问WSL:PS C:\Users\phil> cd \\wsl.localhost\Ubuntu\home\phil\在 WSL中访问C,D盘,c,d...都…

c盘清理指南

1.清理缓存文件 快捷键Win+R输入%temp%2.磁盘清理直接win键+搜索磁盘清理3.休眠文件关闭关机时下次开机powercfg -h off 有需要休眠文件的时候再powercfg -h on 4.临时文件 设置→系统→存储→临时文件,删除! 5.把ubuntu从c移到d出现0x80073cf6错误代码 https://www.yundongf…

轻松找到并查看织梦CMS的数据库配置文件,从而获取数据库连接信息

使用FTP工具连接到服务器。 导航到 /var/www/html/include 目录。 打开 config.inc.php 文件。使用SSH连接到服务器。 切换到相应目录:bashcd /var/www/html/include使用文本编辑器打开文件:bashvi config.inc.php通过以上步骤,你可以轻松找到并查看织梦CMS的数据库配置文件…

[赛记] csp-s模拟7

median 50pts 错解50pts(有重复的数就不行); 赛时想容斥了,其实不用容斥(好像也不能容斥); 题解做法:将每个数存一个二元组,按大小排序,枚举每一个数作为中位数,再枚举每个位置的种类,看它前面和后面有多少这些种类的数,乘起来即可; 这样就巧妙地避免了重复的情况…

正则表达式判断是否是数字

c++ bool isNum(string str){ regex num_check("^[0-9]+$"); return regex_match(str, num_check); } fighting

使用ValueConverters扩展实现枚举控制页面的显示

1、ValueConverters 本库包含了IValueConverter接口的的最常用的实现,ValueConverters用于从视图到视图模型的值得转换,某些情况下,可用进行反向转换。里面有一些抽象类、模板类的定义,可以继承这些类实现一些自己想要实现的功能,方便快速。像BoolToValueConverterBase、V…