【tyvj1039】忠诚2
来源:互联网 发布:域名是做什么的 编辑:程序博客网 时间:2024/05/01 02:22
tyvj1039
主要是我太愚蠢。。。switch写错了卡了一会儿233
#include<cstdio>using namespace std;const int INF=300000+10;int m, n, minv[INF], a[INF];int x, y, _min;int min(int x, int y) {return x < y ? x : y;}void ctb(int o, int l, int r){ if(l == r){ minv[o] = a[l]; } else { int m = l + (r-l)/2; ctb(o*2, l, m); ctb(o*2+1, m+1, r); minv[o] = min(minv[o*2], minv[o*2+1]); }}void update(int o, int l, int r){ int m = l + (r-l)/2; if(l == r) minv[o] = y; else { if(x <= m) update(o*2, l, m); else update(o*2+1, m+1, r); minv[o] = min(minv[o*2], minv[o*2+1]); }}void query(int o, int l, int r){ if(x <= l && r <= y){ _min = min(_min, minv[o]); } else { int m = l + (r-l)/2; if(x <= m) query(o*2, l, m); if(y > m) query(o*2+1, m+1, r); }}int main() { scanf("%d %d", &m, &n); int i, p; for(i = 1; i <= m; i++) scanf("%d", &a[i]); ctb(1, 1, m); while(n--){ scanf("%d %d %d", &p, &x, &y); if(p==1) { _min=1<<30; query(1, 1, m); printf("%d ", _min); } else if(p==2) { update(1, 1, m); } } return 0;}
0 0
- tyvj1039忠诚2
- 【tyvj1039】忠诚2
- tyvj1039忠诚2
- 【tyvj1039】忠诚2
- Tyvj 1039 忠诚2
- tyvj p1039 忠诚2
- [TYVJ P1039] 忠诚2
- 忠诚
- Tyvj 1038-1039 忠诚1-2 【线段树】
- JD2715 忠诚2——线段树(线段树裸题)
- 谈谈“忠诚”
- 【wikioi2173】 忠诚
- tyvj1038忠诚
- tyvj1038忠诚
- 【tyvj1038】忠诚
- 【tyvj1038】忠诚
- tyvj-忠诚
- TyvjOJ 题目P1039 忠诚2(线段树单点跟新,区间最小值)
- Jenkins进阶系列之——17Jenkins升级、迁移和备份
- Terminal Prompt
- java基础之七:
- leetcode Longest Palindromic Substring 005
- Jenkins进阶系列之——18Jenkins语言本地化
- 【tyvj1039】忠诚2
- 为什么深度神经网络难以训练Why are deep neural networks hard to train?
- 沙盒(SandBox)的文件目录获取
- C:/MinGW/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `WinMain@16'
- 利用三维旋转矩阵在空间中旋转平面
- Java基础之八:数组
- 深度学习Deep learning
- 浅谈Java中的Set、List、Map的区别
- Jenkins进阶系列之——06FTP publisher plugin插件下载(支持绝对路径)