摘要: 分块,暴力。 将序列分成$sqrt(n)$块,每块$sqrt(n)$个元素,每块内排序。 每次操作要计算这个区间中比$a[p1]$大的有几个,小的有几个,比$a[p2]$大的有几个,小的有几个,端点的块内暴力找,中间的块内二分找。 交换完数字之后,可以直接重新$sort$排个序。 总体时间复杂度$O 阅读全文
posted @ 2017-05-17 18:37 Fighting_Heart 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 枚举,容斥原理,范德蒙恒等式。 先预处理每个位置之前有多少个左括号,记为$L[i]$。 每个位置之后有多少个右括号,记为$R[i]$。 然后枚举子序列中第一个右括号的位置,计算这个括号的第一个右括号的方案数。 即在它左边取$k$个左括号,在右边取$k-1$个右括号都是合法的方案,这个东西可以用范德蒙 阅读全文
posted @ 2017-05-17 18:33 Fighting_Heart 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 二分。 如果$n≤m$,显然只能$n$天。 如果$n>m$,至少可以$m$天,剩余还可以支撑多少天,可以二分计算得到,也可以推公式。二分计算的话可能爆$long$ $long$,上了个$Java$。 阅读全文
posted @ 2017-05-17 18:27 Fighting_Heart 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 简单判断。 找第一类区间中$R$最大的,以及第二类区间中$L$最小的,判断距离。 找第二类区间中$R$最大的,以及第一类区间中$L$最小的,判断距离。 两种情况取个最大值即可。 阅读全文
posted @ 2017-05-17 18:25 Fighting_Heart 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 简单判断。 分别判断每个单词是几面体,加起来就是答案。 阅读全文
posted @ 2017-05-17 18:22 Fighting_Heart 阅读(189) 评论(0) 推荐(0) 编辑