09 2016 档案

摘要:Description 给你一个数列使他递增,交换两个元素的代价为两个数的和,最小化代价. Sol 置换群+离散化. 使一个数列恢复递增顺序,那么,他和他要到达的位置的数需要交换,这样就形成了一个置换. 对于一个有向圈的置换,我们可以证明它的最小代价就是这个有向圈中 最小元素*(有向圈的大小-1)+ 阅读全文
posted @ 2016-09-28 21:38 北北北北屿 阅读(282) 评论(0) 推荐(0)
摘要:Description 给出一个环形,n个点,每次只能访问k个点,求最短距离. Sol 贪心. CCF的题解. 首先只会最多走一趟环形,根据抽屉原理,如果一边不足k个才会到另一边,所以对于第二次以上的环形可以分别拆到两边. PS:人生第一道交互题. Code 阅读全文
posted @ 2016-09-27 20:00 北北北北屿 阅读(331) 评论(0) 推荐(0)
摘要:Description 给你一个序列,和m种可以使用多次的置换,用3种颜色染色,求方案数%p. Sol Burnside定理+背包. Burnside定理 \(N(G,\mathbb{C})=\frac {1}{\left | G \right |}\sum_{f\in G}\left |\math 阅读全文
posted @ 2016-09-27 15:48 北北北北屿 阅读(200) 评论(0) 推荐(0)
摘要:A.Price List Sol 求和查询 Code B.NanoApe Loves Sequence Sol 统计出来前面最大的绝对值,后面最大的绝对值,然后枚举中间位置就可以了. Code C.NanoApe Loves Sequence Ⅱ Sol 枚举左端点,做尺取法就可以了. Code D 阅读全文
posted @ 2016-09-26 20:36 北北北北屿 阅读(167) 评论(0) 推荐(0)
摘要:生成树结构 \(O(n)\) Update:20161207,修改了一下,变得方便了一下...maybe... 阅读全文
posted @ 2016-09-24 10:36 北北北北屿 阅读(253) 评论(0) 推荐(0)
摘要:Sol 暴力搜索...不用搜1,2张的情况,直接统计出来就可以了. 还有处理一下2和大王小王的位置,扔到最后面或者最前面就可以了. 搜索就搜 3+3,2+2+2,1+1+1+1+1 这三个就可以了. Code 阅读全文
posted @ 2016-09-24 09:23 北北北北屿 阅读(301) 评论(0) 推荐(0)
摘要:Description 给你一个序列,询问 \([L,R]\) 区间中颜色种数,支持修改操作,不强制在线. \(n,m\leqslant 10^4\) Sol 三维莫队. QAQ. 简单的说一下吧... 三维莫队就是维护三元组 \((L,R,T)\) 的答案,表示 \([L,R]\) 区间在进行了 阅读全文
posted @ 2016-09-21 20:57 北北北北屿 阅读(200) 评论(0) 推荐(0)
摘要:Sol Splay+Hash+二分答案. 用Splay维护Hash,二分答案判断. 复杂度 \(O(nlog^2n)\) PS:这题调了两个晚上因为没开long long.许久不写数据结构题感觉写完整个人都不好了... 感觉还是应该经常开几道数据结构题来毒自己. Code 阅读全文
posted @ 2016-09-19 20:52 北北北北屿 阅读(236) 评论(2) 推荐(0)
摘要:Sol DP+容斥. 这就是一个错排的扩展...可是想到容斥却仅限于种数的容斥,如果种数在一定范围内我就会做了QAQ. 但是容斥的是一定在原来位置的个数. 发现他与原来的位置无关,可以先把每个同种的糖看成本质不同的来DP. \(f[i][j]\) 表示前 \(i\) 种糖,一定有 \(j\) 个不合 阅读全文
posted @ 2016-09-18 15:37 北北北北屿 阅读(260) 评论(0) 推荐(0)
摘要:Sol 矩阵乘法+快速幂+欧拉定理. 首先观察题目可以发现 \(A_n\) 可以表示成关于 \(K\) 和 \(A_0\) 的几次幂的形式. \(A_0\) 就比较简单了 \(m^n\) 所以第一部分 \(ans1=A_0^{m^n}\) . 看看 \(k\) 找一下规律就可以发现, \(K\) 的 阅读全文
posted @ 2016-09-13 19:17 北北北北屿 阅读(245) 评论(0) 推荐(0)
摘要:Sol 期望DP+高斯消元. 根据本题题意列出期望方程\[E(i,j)=(1-p_i)(1-p_j)E(u,v)+(1-p_i)p_jE(u,j)+p_i(1-p_j)E(i,v)+p_ip_jE(i,j),u\in Edge(i,u),v\in Edge(j,v)\]移项得\[(1-p_i)(1- 阅读全文
posted @ 2016-09-11 20:50 北北北北屿 阅读(247) 评论(0) 推荐(0)
摘要:Sol 期望DP. \(f[i][j][k]\) 表示已经确定了 \(i\) 个点, 最大环大小为 \(j\) ,个数为 \(k\) 的方案数. 转移非常复杂,因为细节特别多. \(f[i][j][1]=\frac{A_{j}^{n}}{j},i=j,k=1\) \(f[i][j][1]=\frac 阅读全文
posted @ 2016-09-11 20:44 北北北北屿 阅读(439) 评论(0) 推荐(0)
摘要:Sol 期望DP. \(f[i][j]\) 表示剩下 \(i\) 张红牌, \(j\) 张黑牌的期望. 有转移方程. \(f[i][j]=0,i=0\) 没有红色牌了,最优方案就是不再翻了. \(f[i][j]=i,j=0\) 只剩下红色牌了,那就全部翻完啊. \(f[i][j]=max\{ 0,\ 阅读全文
posted @ 2016-09-11 20:26 北北北北屿 阅读(229) 评论(0) 推荐(0)
摘要:Sol 记忆化搜索. \(f[u][v]\) 表示聪聪在 \(u\) ,可可在 \(v\) ,聪聪抓到可可的期望. 预处理出 \(u\) 到 \(v\) 最短路径编号最小的点,记为 \(g[u][v]\) . 点 \(u\) 的度数记为 \(du[u]\) . 显然递归出口就是 \(u==v\) 那 阅读全文
posted @ 2016-09-11 20:15 北北北北屿 阅读(180) 评论(0) 推荐(0)
摘要:Sol 随机化算法+哈密顿路径. 好厉害的题...首先都会想到状压DP对吧,复杂度 \(O(n^2 2^n)\) . \(n=20\) exm?? \(10^8\) 有一种算法就是随机化算法 再调整. 通过随机化算法,再 \(O(n^2)\) 来调整. 调整方式如下: 如果有 \(dis(i-1,i 阅读全文
posted @ 2016-09-11 19:59 北北北北屿 阅读(261) 评论(0) 推荐(0)
摘要:Sol 树形DP. 听说有非常神奇的高斯消元的做法...orz... 然而我只会 \(O(n)\) 的树形DP. 首先一个点的状态只于他的父节点和子树有关,跟他 子树的子树 和 父亲的父亲 都没有任何关系. 这样就可以DP了. \(f[i][0/1][0/1]\) 表示\(i\)节点,点了 \(0/ 阅读全文
posted @ 2016-09-10 22:03 北北北北屿 阅读(298) 评论(0) 推荐(0)
摘要:Sol 并查集. 一个点所能到达的最远是单调不降的.然后将链延长到两倍,预处理出每个点到达的最远点,然后倒着计算深度. 再然后一直跳,跳到>=x+n的点,因为跳到的点都能到最终的点,并且不影响后面的答案. Code 阅读全文
posted @ 2016-09-10 21:57 北北北北屿 阅读(210) 评论(0) 推荐(0)
摘要:Sol 排序+树状数组. 我们要找一个满足下列条件的最长序列. \(j-w[j]<=i-w[i],j<i,w[j]<w[i]\) 就是维护一个偏序集的最长上升子序列,然后第一个和第三个式子加起来可以推出第二个式子,然后就是二维偏序,用树状数组来维护就可以了. Code 阅读全文
posted @ 2016-09-10 21:44 北北北北屿 阅读(167) 评论(0) 推荐(0)
摘要:Sol 线段树+Hash. 首先暴力 等差子序列至少3项就可以了,就枚举中项,枚举公差就可以了,只需要一个数在中项前出现,另一个数在中项前没出现过就可以了.复杂度 \(O(n^2)\) 然后我想了一个虽然复杂度没变(因为我不会设计这个数据结构...) 但是好像有点用的算法,就是枚举中项,考虑从一个中 阅读全文
posted @ 2016-09-10 14:10 北北北北屿 阅读(253) 评论(0) 推荐(0)
摘要:Sol 数学. 跟圆上的整点一样...TA写了个积性函数的算法...以后再说吧... \(x^2+3y^2=r^2\) \(3y^2=r^2-x^2\) \(3y^2=(r-x)(r+x)\) \(y^2=\frac{1}{3}(r-x)(r+x)\) \(d=(r-x)(r+x)\) \(r-x= 阅读全文
posted @ 2016-09-09 19:02 北北北北屿 阅读(667) 评论(0) 推荐(0)
摘要:Sol 数学. \(x^2+y^2=r^2\) \(y^2=r^2-x^2\) \(y^2=(r-x)(r+x)\) 令 \(d=(r-x,r+x)\) \(r-x=du^2,r+x=dv^2\) \(2r=d(u^2+v^2),(v,u)==1\) \(y^2=d^2u^2v^2\) 然后枚举 \ 阅读全文
posted @ 2016-09-08 20:24 北北北北屿 阅读(197) 评论(0) 推荐(0)
摘要:Sol Manacher. 非常裸的Manacher啊...为什么有那么多人写Manacher+并查集?Set?Treap?...好神奇... 你只需要在 \(p[i]++\) 的位置加上判断就可以了,不需要任何数据结构维护答案... 你要保证两个点都在'#'字符上就可以了... Code 阅读全文
posted @ 2016-09-08 19:04 北北北北屿 阅读(142) 评论(0) 推荐(0)
摘要:Sol Manacher. \(O(n)\) Manacher很简单啊.改一改转移就可以了. 然后我WA了.一开始天真的认为id只会是奇数,然后就GG. 一组 Hack 数据 然后就跳过偶数的拓展...就过了... Code 阅读全文
posted @ 2016-09-07 20:38 北北北北屿 阅读(142) 评论(0) 推荐(0)