传送门 倍增水题…… 本来还想用LCT做的……然后发现根本不需要 ...
分类:
其他好文 时间:
2018-08-03 10:35:42
阅读次数:
145
题意 给出一个$n \times m$的网格,每个位置有一个小写字母,初始在$(1, 1)$,每次可以向上下左右走,问走到$(n, m)$的最小花费 设$(x, y)$为当前位置,$(nx, ny)$为下一位置。$s[x][y]$表示$(x, y)$位置的字符。 若$s[x][y] = s[nx][ ...
分类:
其他好文 时间:
2018-08-01 20:49:42
阅读次数:
182
链接: https://www.spoj.com/problems/COT/en/ 思路: 首先看到求两点之前的第k小很容易想到用主席树去写,但是主席树处理的是线性结构,而这道题要求的是树形结构,我们可以用dfs跑出所有点离根的距离-dep[i](根为1,dep[1]也为1)在dfs的过程 中,我们 ...
分类:
其他好文 时间:
2018-07-31 22:11:06
阅读次数:
189
传送门 话说这好像HH的项链啊…… 然后就说一说上次看到的一位大佬很厉害的办法吧 对于所有$r$相等的询问,需要统计有多少个不同的数,那么对于同一个数字,我们只需要关心它最右边的那一个 比如$1,2,3,4,1,2$,对于所有$r=5$的询问,我们不用去管第一个$1$因为它一定可以被第五个$1$代替 ...
分类:
编程语言 时间:
2018-07-31 11:18:53
阅读次数:
131
PS:先拿两个试一下,找到了。。。错误的排序方式,于是百度了两种做法。 (1)按照一个串的贡献进行排序,每次优先处理两个贡献大的串,然后用优先队列动态的对每次剩下的串排序。 //#include<bits/stdc++.h> #include<cstdio> #include<cstring> #i ...
分类:
其他好文 时间:
2018-07-26 21:08:12
阅读次数:
176
题意: t组测试数据,每组数据有 n 个只由 '(' 和 ')' 构成的括号串。 要求把这 n 个串排序然后组成一个大的括号串,使得能够匹配的括号数最多。 如()()答案能够匹配的括号数是 4,(()) 也是 4。 例如: n = 2 ) )(( 你可以将其排序为))((,数目为0,也可以将其排序为 ...
分类:
其他好文 时间:
2018-07-26 15:05:08
阅读次数:
97
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 using namesp... ...
分类:
其他好文 时间:
2018-07-26 00:00:13
阅读次数:
290
主席树: (不要管名字) 我们有的时候,会遇到很多种情况,对于每一种情况,都需要通过线段树的操作实现。 碰巧的是,相邻两种情况下的线段树的差异不大。(总体的差异次数是O(N)级别的,均摊就是O(常数)的了) 显然的是,我们不能对于每种情况都建造一棵线段树。n^n 空间直接MLE无疑。 救命稻草是:发 ...
分类:
其他好文 时间:
2018-07-25 22:06:26
阅读次数:
145
预处理+贪心 最后剩下的左括号的数量为l,右括号的数量为r, r==0 的在前,之后是l>=r的(r小的在先), ...
分类:
其他好文 时间:
2018-07-24 21:16:12
阅读次数:
208
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 我们贪心地把每一个括号序列能匹配都按照栈的规则都匹配出来。 (直接递增匹配对数 2就可以了 最后栈里面就只剩下类似))))(((((((这样的形式了。 现在就相当于有很多个这种字符串了。 让你把它们拼接在一起。 可以用sort贪 ...
分类:
其他好文 时间:
2018-07-24 20:53:09
阅读次数:
188