刷题模板
刷题道路上的各种模板记录~
心一QAQ
总是学不会,再聪明一点!
展开
-
括号匹配问题
题目描述 给一组包含两种括号的序列,检查是否是合法的。 如:()[],([]),[()]是合法的;()),(),[,([)]是非法的。 输入格式 输入包含多组测试数据,对于每组数据,输入一个只包含’[’,’]’,’(’,’)’,四种字符的括号序列S(1<=length(S)<=100000) 输出格式 对于每组数据,如果括号序列合法输出Yes,否则输出No。 输入输出样例 ()) [(]) ([]) 输出 #1 No No Yes #include<iostream&g.原创 2020-11-10 15:37:34 · 144 阅读 · 0 评论 -
树状数组
P3374 【模板】树状数组 1 题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n,mn,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 nn 个用空格分隔的整数,其中第 ii 个数字表示数列第 ii 项的初始值。 接下来 mm 行每行包含 33 个整数,表示一个操作,具体如下: 1 x k 含义:将第 x 个数加上 k 2 x y 含义:输出区间 [x,y] 内每个数的和 输出格式 输出包含原创 2020-10-07 18:27:04 · 102 阅读 · 0 评论 -
并查集(Union_Find)
并查集的介绍 并查集主要涉及到两种操作,合并和查找。举例说明应用的场景:有一个朋友圈,朋友圈存在若干好友关系。如果两个人有直接或者间接好友关系,那么他们就在同一个朋友圈中。如果A是B的好友,而B和C是好友,那么A和C也是好友。因为朋友圈中会有新的朋友关系出现,这时候需要对当中某些人是否在同一朋友圈中进行查找和合并,这就是一个典型的合并-查找问题,既包含了合并操作,又包含了查找操作。 并查集的实现 (1)初始化操作,初始状态每个结点都是自己的根结点。 const int N =原创 2020-07-23 21:24:10 · 155 阅读 · 0 评论