上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 38 下一页
摘要: 从左往右枚举右端点,用一棵线段树维护每个左端点的去重后的区间和。 那么对于$a[r]$,需要在$[pre[a[r]]+1,r]$里区间加上$a[r]$。 将线段树可持久化,并维护区间最大值,就可以在线询问形如“给定$r$以及$a,b$”,问$l$在$[a,b]$里$[l,r]$的区间和的最大值的问题 阅读全文
posted @ 2016-04-08 01:05 Claris 阅读(1061) 评论(3) 推荐(0)
摘要: \[\begin{eqnarray*}x_i&=&x_{i-1}+x_{i-2}\\x_i^2&=&x_{i-2}^2+x_{i-1}^2+2x_{i-2}x_{i-1}\\x_{i-1}x_i&=&x_{i-1}^2+x_{i-2}x_{i-1}\end{eqnarray*}\] 故可以构造转移矩 阅读全文
posted @ 2016-04-04 17:42 Claris 阅读(648) 评论(0) 推荐(0)
摘要: 首先判断一下是否无解,并剔除孤立点。 根据best theorem,有向图中以$i$为起点的欧拉回路个数为: 以$i$为根的树形图个数$\times\prod_{i=1}^n (deg(i)-1)!$。 根据matrix tree theorem,以$i$为根的树形图个数$=$基尔霍夫矩阵去掉第$i 阅读全文
posted @ 2016-04-03 00:37 Claris 阅读(650) 评论(2) 推荐(0)
摘要: 首先要将这个图连通,方法是通过扫描线+set求出每个连通块最高的点上方的第一条边,然后向交点连边。 然后把边拆成两条双向边,每次找到一条没走过的边,找到极角排序后它的反向边的后继,直到回到这条边。 根据叉积可以求出面积,如果面积非负,那么就说明找到了一个封闭区域。 然后再进行一次扫描线,找到一个点上 阅读全文
posted @ 2016-03-30 01:00 Claris 阅读(529) 评论(0) 推荐(0)
摘要: $(i,1)$对答案的贡献为$l_iC(2n-i-2,n-i)a^{n-1}b^{n-i}$。 $(1,i)$对答案的贡献为$t_iC(2n-i-2,n-i)*a^{n-i}b^{n-1}$。 $(i,j)$的$c$对答案的贡献为$cC(2n-i-j,n-i)a^{n-j}b^{n-i}$。 $c$ 阅读全文
posted @ 2016-03-22 22:26 Claris 阅读(984) 评论(0) 推荐(1)
摘要: 首先将坐标离散化,因为区间互不包含,可以理解为对于每个起点输出最少需要多少个战士。 将环倍长,破环成链,设$f[i]$表示区间左端点不超过$i$时右端点的最大值,可以通过$O(n)$递推求出。 那么如果将$f[i]$看成$i$的祖先的话,它实际上形成了一棵以$2n$为根的树。 首先暴力计算出1号点的 阅读全文
posted @ 2016-03-21 23:48 Claris 阅读(1411) 评论(0) 推荐(0)
摘要: 最大流=最小割,而因为本题点的度数不超过3,所以最小割不超过3,EK算法的复杂度为$O(n+m)$。 通过分治求出最小割树,设$f[i][j][k]$表示最小割为$i$时,$j$点在第$k$次分治过程中是否与$S$连通,$h[i][j]$为$f[i][j][k]$的hash值,那么如果$h[k][i 阅读全文
posted @ 2016-03-20 03:02 Claris 阅读(824) 评论(0) 推荐(0)
摘要: 二分答案,没有出现过的时刻没有用,可以进行离散化。 首先如果某个时刻出现多个人数,那么肯定矛盾。 然后按时间依次考虑,维护: $t$:剩余可选人数。 $s$:现在必定有的人数。 $cl$:往左延伸的人数。 $cr$:往右延伸的人数。 如果现在有人必须加入,那么优先踢掉$cl$的人。 如果当前人多了, 阅读全文
posted @ 2016-03-19 03:05 Claris 阅读(566) 评论(0) 推荐(0)
摘要: 首先如果一段连续子序列里没有任何幸运数,那么显然可以缩成一个点。 设幸运数个数为$m$,那么现在序列长度是$O(m)$的,考虑暴力枚举$R_1$,然后从右往左枚举$L_1$。 每次碰到一个幸运数,就将它删去,维护出被删的数它左边右边连续能到的位置,然后用组合数计算贡献。 考虑给每个被删数字一个删除时 阅读全文
posted @ 2016-03-18 23:11 Claris 阅读(395) 评论(0) 推荐(0)
摘要: 如果一个区间包含另一个区间,那么这两个区间是否在一起的生产率是一样的。 将所有这种包含了其他区间的区间放入数组$b$,其余的放入数组$c$,有多个相同的时候则从$b$移一个到$c$。 那么$c$里所有区间左端点递增,右端点也递增,设$f[i][j]$为$c$中前$j$个区间划分成$i$组的最大收益, 阅读全文
posted @ 2016-03-18 17:14 Claris 阅读(831) 评论(0) 推荐(0)
摘要: 最小值肯定是把树看作二分图,此时答案为$n-1$。 最大值一定是选取重心为根,任意一个子树要么全部指向根,要么全部背离根,这样可以制造最大的星型图。 统计出每个子树的大小后做01背包,如果小于$\sqrt{n}$,那么二进制拆分,否则这种子树不超过$\sqrt{n}$个,直接DP即可。 用bitse 阅读全文
posted @ 2016-03-17 21:10 Claris 阅读(675) 评论(0) 推荐(0)
摘要: 暴力搜索出所有可行的形状,可以发现本质不同的形状数只有6000个左右。 对于每个形状,它的大小不超过$8\times 8$,故可以按照右下角为原点重建坐标系,用一个unsigned long long来存储。 然后对于每个中心,先进行第一步扩展,若能成功扩展,则扫描所有形状,看看是否匹配即可。 时间 阅读全文
posted @ 2016-03-17 19:35 Claris 阅读(385) 评论(0) 推荐(0)
摘要: 设$f[i]$为最优策略下调试$i$行代码的时间,则: $f[1]=0$ $f[i]=\min((j-1)\times p+f[\lceil\frac{i}{j}\rceil])+r$ 意义为枚举printf语句的个数,然后尽量均分,并假设坏点在最大的段落里。 考虑记忆化搜索,注意到对于每个$i$来 阅读全文
posted @ 2016-03-17 01:24 Claris 阅读(500) 评论(0) 推荐(0)
摘要: 最多只有一个连通块大小大于$nk$,所以用hash表进行BFS的时候只扩展$nk$步即可。 时间复杂度$O(n^2k)$。 阅读全文
posted @ 2016-03-16 18:04 Claris 阅读(490) 评论(0) 推荐(0)
摘要: 枚举左端点$i$,那么可行的右端点$j$的最小值单调不下降,可以通过双指针求出,检验可以通过在后缀数组里检查相邻height值做到$O(1)$。 那么左端点为$i$,右端点在$[j,n]$,它对前面一段的贡献为定值,对后面一段的贡献为等差数列,线段树维护即可。 时间复杂度$O(n\log n)$。 阅读全文
posted @ 2016-03-14 23:32 Claris 阅读(382) 评论(0) 推荐(0)
摘要: 本题就是求重复数最多的字典序最小的$runs$,如果重复数为1,那么做法显然,然后只考虑重复数大于1的情况。 从小到大枚举长度$len$,对于每个关键点$x=i\times len$,有且仅有一个长度为$len$的串经过它。 算出$x$与$x+len$的最长公共前缀$A$和最长公共后缀$B$后,贡献 阅读全文
posted @ 2016-03-14 23:30 Claris 阅读(783) 评论(0) 推荐(1)
摘要: 轮廓线插头DP。 设$f[i][j][a][b][c][d][e]$表示考虑到了$(i,j)$,轮廓线上3个下插头的位置分别为$a,b,c$,是否有右插头,已经放了$e$个$L$的方案数。 然后直接DP即可。 时间复杂度$O(nm^4)$。   阅读全文
posted @ 2016-03-13 18:51 Claris 阅读(650) 评论(0) 推荐(1)
摘要: 将每个点拆成三个点,并将转移转化为矩阵乘法,然后倍增即可求出第$k$短路的长度,注意对爆long long情况的处理。 时间复杂度$O(n^3\log k)$。   阅读全文
posted @ 2016-03-13 02:35 Claris 阅读(743) 评论(0) 推荐(0)
摘要: 求出前缀和$s$,设$f[i]=s[i+d-1]-s[i-1]$。 从左到右枚举的右端点$i$,左端点$j$满足单调性,若$s[i]-s[j-1]-\max(区间内最大的f)\leq p$,则可行。 用单调队列维护即可,时间复杂度$O(n)$。   阅读全文
posted @ 2016-03-13 02:34 Claris 阅读(463) 评论(0) 推荐(0)
摘要: 首先只有一种字符的情况可以通过双指针在$O(n)$的时间内处理完毕。 设$cnt[i][j]$表示前$i$个字符中$j$字符出现的次数,那么对于两个位置$j<i$: 如果 $cnt[i][0]-cnt[j][0]\neq cnt[i][1]-cnt[j][1]$ $cnt[i][0]-cnt[j][ 阅读全文
posted @ 2016-03-13 02:33 Claris 阅读(756) 评论(0) 推荐(0)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 38 下一页