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

浙公网安备 33010602011771号