上一页 1 ··· 5 6 7 8 9 10 11 12 下一页
摘要: Description 同上题. Sol KMP+树状数组. 写这题的时候我灰常naive...不管了...直接贴代码... Code 阅读全文
posted @ 2016-10-30 20:36 北北北北屿 阅读(271) 评论(0) 推荐(0) 编辑
摘要: Description 匹配字符串A,B,匹配条件是在A长度为=B的子串中,排名顺序相同. Sol KMP+树状数组. KMP匹配的时候计算排名就可以了啊...这个东西可以用树状数组维护. 这题是个双倍经验啊... 其实不用树状数组也可以,因为字符集很小,开个什么数组就可以搞,我就根据辣个题改了改而 阅读全文
posted @ 2016-10-30 20:34 北北北北屿 阅读(268) 评论(0) 推荐(0) 编辑
摘要: Description 询问一个树上与两点距离相等的点的个数. Sol 倍增求LCA. 一棵树上距离两点相等,要么就只有两点的中点,要么就是与中点相连的所有点. 有些结论很容易证明,如果距离是偶数,那么他们没有中点,树上不存在距离两点相等的点. 如果中点恰好是两点LCA,那么答案就是\(n-size 阅读全文
posted @ 2016-10-30 20:24 北北北北屿 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Windows 开栈命令 Linux 开栈命令 Linux 永久开栈 在最后添加一句 Gedit 配置 自己闲的用Python写的对拍模板 阅读全文
posted @ 2016-10-29 20:13 北北北北屿 阅读(525) 评论(2) 推荐(1) 编辑
摘要: Description 问选择一个序列上的所有数的最少操作次数,跟电脑上选择文件一样,输出操作方案. Sol 贪心. 用Shift一段文件只能使用一次,之后必须一直按Ctrl了. 然后就是看用Shift选哪段区间了. 如果选 \((l,r)\) 那么答案就是 \((C_{l-1})+(C_{n}-C 阅读全文
posted @ 2016-10-28 15:24 北北北北屿 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Description 给出一个图,求添加一条边使得添加后的图的桥(割边)最少. Sol Tarjan. 一遍Tarjan求割边. 我们发现连接的两个点一定是这两个点之间的路径上的桥最多,然后就可以贪心的搞. Tarjan的同时记录一下到该点的桥个数的最大值和次大值,然后统计答案就可以. 注意要满足 阅读全文
posted @ 2016-10-28 15:17 北北北北屿 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Description 给你一下长度为 \(n\) 的序列. \(a_i=a_j\) \(l_1 \leqslant i \leqslant r_1\) \(l_2 \leqslant i \leqslant r_2\) 询问满足条件的 \((i,j)\) 对数. Sol 分块+前缀和. 非常乱搞啊 阅读全文
posted @ 2016-10-27 21:40 北北北北屿 阅读(209) 评论(0) 推荐(0) 编辑
摘要: Description 给出一个字符串,只包含3个字母,询问最长的一个子串,3个字母出现次数相同. Sol map. 如果一个子串满足条件,那么它端点处的三个字母的个数两两差值都是一样的,直接存个状态强行上map. 注意要加入一个初始状态. Code 阅读全文
posted @ 2016-10-26 19:07 北北北北屿 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Description \(n\) 个点, \(m\) 条边,边有权值和黑/白色,求含有 \(need\) 个白边的生成树. Sol 二分+Kruskal. 将每条白边都加上一个权值,然后跑最小生成树. 二分这个权值,显然随着权值的增加,白边个数减少,让权值尽可能大. 最后再减去权值即可. Code 阅读全文
posted @ 2016-10-25 20:16 北北北北屿 阅读(146) 评论(0) 推荐(0) 编辑
摘要: Description 给你一堆块,每个块有颜色,每次可以消去相邻颜色块,并获得块大小平方的分数,求最高得分. Sol DP/记忆化搜索. \(f[i][j][k]\) 表示 \((i,j)\) 这个区间并且 \(j\) 后面有 \(k\) 个与它颜色相同的块,枚举断点,区间DP. Code 阅读全文
posted @ 2016-10-24 20:06 北北北北屿 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Decription 询问深度为 \(d\) 的 \(n\) 元树个数, \(n\) 元树所有节点的孩子都有 \(n\) 个. Sol 递推+高精度. \(f[i]\) 表示深度为 \(i\) 的 \(n\) 元树个数,我这里深度是从 \([1,k+1]\) 的... 转移就是从上方添加一个节点,子 阅读全文
posted @ 2016-10-23 21:35 北北北北屿 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 随手写个2048全当练模拟了...上下左右,WASD都是可以的...你的操作会保存在 log.txt 中... 顺手贴代码. 阅读全文
posted @ 2016-10-19 21:57 北北北北屿 阅读(301) 评论(0) 推荐(0) 编辑
摘要: Description [0,x]中全是1,其余全是0,每个点有一个权值,求最坏情况下得到x的最小权值. Sol DP+单调队列. 你可以去看我的这篇Blog...开这篇纯属为了骗访问... http://www.cnblogs.com/beiyuoi/p/5974574.html Code 阅读全文
posted @ 2016-10-18 19:32 北北北北屿 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Description [0,x]中全是1,其余全是0,每个点有一个权值,求最坏情况下得到x的最小权值. Sol DP+单调队列. 首先就是一个 \(O(n^3)\) 的DP. \(f[i][j]\) 表示x在 \(i,j\) 之间的最小权值. 转移就是 \(f[i][j]=min \{ max \ 阅读全文
posted @ 2016-10-18 19:29 北北北北屿 阅读(1700) 评论(0) 推荐(0) 编辑
摘要: Description 求不跨过直线 \(y=x\) ,到达 \((n,m)\) 的方案数. Sol 组合数学+高精度. 这个推导过程跟 \(Catalan\) 数是一样的. 答案就是 \(C^{n+m}_n-C^{n+m}_{n+1}\) 自己随便化简一下就是 \(\frac {(n+m)!(n- 阅读全文
posted @ 2016-10-16 10:16 北北北北屿 阅读(356) 评论(0) 推荐(0) 编辑
摘要: Description 有 \(6\) 种尺码的衣服,有的人只适合 \(1\) 种衣服,有的人适合相邻的 \(2\) 种,问是否存在合法方案,并输出. Sol 贪心. 首先,只适合 \(1\) 种衣服的直接减去就好了,如果个数小于 \(0\) 了直接不合法. 然后考虑适合两种衣服的.首先就是,可以跑 阅读全文
posted @ 2016-10-15 21:31 北北北北屿 阅读(211) 评论(0) 推荐(0) 编辑
摘要: Description 求长度为 \(2n\) 的序列.要求 1. \(a_1<a_3<a_5<...<a_{2n-1}\) . 2. \(a_2<a_4<a_6<...<a_{2n}\) . 3. \(a_{2k-1}<a_{2k} ,1\leqslant k\leqslant n\) . Sol 阅读全文
posted @ 2016-10-15 10:17 北北北北屿 阅读(294) 评论(0) 推荐(0) 编辑
摘要: Description 有 \(n\) 个点,每个点有一个入流和出流,每个点与编号比它大的点连边,容量为 \(c\) ,求最大流. Sol DP. 这种特殊的图可以DP,把最大流转化成最小割. 最小割就是 \(\sum s_i,i\in S + \sum p_j,j \in T + c \sum [ 阅读全文
posted @ 2016-10-13 19:01 北北北北屿 阅读(178) 评论(0) 推荐(0) 编辑
摘要: Description 求字符串的最小循环表示. Sol SAM. 把原串复制一遍,建出SAM,然后每次选最小的一个跑 \(len\) 次,这就是最小循环表示的最后一个节点,然后 \(x-len+1\) 即为答案. Code 阅读全文
posted @ 2016-10-13 08:01 北北北北屿 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Description 给出一串数字,求每次插入一个数字后本质不同的子串. Sol SAM. 在 SAM 上添加节点的时候统计一下 \(val[np]-val[par[np]]\) 就可以了... 用 map 存一下边,复杂度 \(O(nlogn)\) Code 阅读全文
posted @ 2016-10-12 20:04 北北北北屿 阅读(135) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 下一页