自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 ZJOI 2018

从NOIP2017到THUWC2018就预感自己很快就要退役了呢。 果然ZJOI2018就退役了呢。

2018-03-21 22:04:08 1210

原创 [背包DP] UOJ #181. 【UR #12】密码锁

SolutionSolutionSolution因为这是一张竞赛图,所以把强连通分量缩起来以后回事一条链的情况。 那么强连通分量的数量就是相当于缩起来以后的点的数量。 对于图 G(V,E)G(V,E)G(V, E) 来说,这样的点集 S⊆VS⊆VS \subseteq V ,满足两个点集的边是这样的关系 e∈E^={(u,v)|u∈S,v∈V−S}e∈E^={(u,v)|u∈S,v∈V−S...

2018-03-16 13:54:02 628

原创 [生成函数][DP] Codeforces 891 E. Lust

SolutionSolutionSolution设最后是这个样子 a=(ai−bi)a=(ai−bi)\textbf{a}=(a_i-b_i) ,可以通过数学归纳得到 res=∏iai−∏i(ai−bi)res=∏iai−∏i(ai−bi)res=\prod_{i}a_i-\prod_{i}(a_i-b_i) 那么考虑组合意义:E∑ibi=k∏i(ai−bi)==k!∏ibi!1nk∑∑ibi...

2018-03-14 10:26:08 562

原创 [多项式ln][多项式exp][生成函数] LOJ #6268. 分拆数

SolutionSolutionSolution设分拆数的生成函数F(x)=∑k≥0fkxkF(x)=∑k≥0fkxkF(x)=\sum_{k\ge0}f_kx^k几个显然的等式就是F(x)lnF(x)===∏k=1∞11−xk∑k=1∞ln11−xk∑k=1∞∑i≥1xkiiF(x)=∏k=1∞11−xkln⁡F(x)=∑k=1∞ln⁡11−xk=∑k=1∞∑i≥1xkii\begin{eq...

2018-03-13 20:54:26 813

原创 [Contest]CodeChef March Challenge 2018

MIXCOLOR:每次把一个数加上最大的数一定能保证最优。 XXOR:从高到低枚举贪心。 MINVOTE:算一下前缀后缀最值,差分一下。 GCDCNT:推一下式子,每个因子开一颗线段树,只要考虑 μ2(x)≠0μ2(x)≠0\mu^2(x)\neq0 的。 PSHTRG:对于最大的三条边 a≤b≤ca≤b≤ca\le b\le c ,如果不合法,显然的如果 a≤b2a≤b2a\le{b\o...

2018-03-13 10:47:31 327

原创 [交互][FWT] UOJ #328. 【UTR #3】量子破碎

SolutionSolutionSolution矩阵 A=[111−1]A=[111−1]A=\left[\begin{matrix} 1 & 1 \\ 1 & -1 \\\end{matrix}\right] 好像就是 FWTFWT\text{FWT} 的变换矩阵。 对每一位都变换以后,考虑FWT的式子。 fS^=∑T⊆U(−1)|S∩T|fTfS^=∑T...

2018-03-13 08:12:47 491

原创 [单调队列][决策单调性DP] BZOJ 2216: [Poi2011]Lightning Conductor

SolutionSolutionSolution考虑 j≤ij≤ij\le i 和 j>ij>ij\gt i 。 ansi=max{aj+|i−j|−−−−−√−ai}ansi=max{aj+|i−j|−ai}ans_i=\text{max}\{a_j+\sqrt{|i-j|}-a_i\} 有决策单调性,单调队列。#include <bits/stdc++.h&g...

2018-03-12 13:25:37 322

原创 [FNT][DP][矩阵] Codeforces 947 E - Perpetual Subtraction

SolutionSolutionSolution暴力DP很简单fi,j=∑k≥jfi−1,kkfi,j=∑k≥jfi−1,kkf_{i,j}=\sum_{k\ge j}{f_{i-1,k}\over k} 因为转移形式都一样,可以写出转移矩阵。A=⎡⎣⎢⎢⎢⎢⎢⎢1n+10⋮01n+11n⋮0⋯⋯⋱⋯1n+11n⋮1⎤⎦⎥⎥⎥⎥⎥⎥A=[1n+11n+1⋯1n+101n⋯1n⋮⋮⋱⋮00⋯1...

2018-03-12 07:34:31 1117 1

原创 [Manacher][线段树] Codeforces 100032 K - Subpalindromes

SolutionSolutionSolution%%%%%%%%%%%%%%%%%%%%%%%%LargestJN大佬教我做题。 大佬说有点麻烦的大概就是这个东西min{i−L,R−i,len}min{i−L,R−i,len}\text{min}\{i-L,R-i,len\}。 大佬说如果在询问的中点处将询问分开,回文中心在一边的就可以去掉一个minmin\text{min}里的东...

2018-03-11 19:14:32 435 1

原创 [DP][容斥原理] 2017 TCC India Online Div1 Hard ConsecutivePalindromes

SolutionSolutionSolution考虑其反面,就是不存在一个子序列是回文串。 实际上需要考虑的只有连续的两个和三个字符。因为其他情况都已经包含在这个之中。 设dpi,l,0/1,0/1,0/1dpi,l,0/1,0/1,0/1dp_{i,l,0/1,0/1,0/1}表示考虑到iii,长度为lll,i,i−1,i−2i,i−1,i−2i,i-1,i-2是否选取的状态为0/10/...

2018-03-11 16:16:27 281

原创 [回文自动机][DP] Codeforces gym 100543 G - Virus synthesis

SolutionSolutionSolution考虑在回文自动机上DP fufuf_u表示回文自动机中uuu节点所代表的回文串最少需要几次才能得到lenulenulen_u为奇数,fu=lenufu=lenuf_u=len_u。lenulenulen_u为偶数,fu=min(fp+1,fhalfu+(lenu2−lenhalfu)+1)fu=min(fp+1,fhalfu+(lenu...

2018-03-11 15:19:40 308

原创 [贪心] 2012 TCO Algorithm Round 1C - Division I, Level Three PasswordXPalindrome

SolutionSolutionSolution如果是奇数先把中间swap好。把无解的判掉。 因为每个字母出现不超过2次。 考虑把字母sisis_i和sn−i−1sn−i−1s_{n-i-1}连起来。 显然会形成若干个环。 我们要把这个图调整成全部是自环的情况。 一个做法就是交换环上相邻的字母所在的位置。// BEGIN CUT HERE// END CUT HERE#...

2018-03-10 17:37:27 307

原创 [DP][容斥原理][斯特林数] Codeforces715 E - Complete the Permutations

SolutionSolutionSolution先dfsdfs\text{dfs}出四个量c1,c2,cyc,blkc1,c2,cyc,blkc1,c2,cyc,blk表示缩边以后x→ 0x→ 0x\rightarrow~0,0→x0→x0\rightarrow x,自环和0→00→00\rightarrow0的边的数量。 fifif_i表示用c1c1c1可以搞出至少ii...

2018-03-09 15:34:53 962

原创 [DP][容斥原理] ARC064 F - Rotated Palindromes

SolutionSolutionSolution要求的就是长度为 nnn 的可通过循环位移得到回文串的串的本质不同的个数。 我们考虑枚举长度为 x(x|n)x(x|n)x(x|n) 的回文串作为其最小循环节来计数。 可以发现回文串的循环节也是循环的。那长度为 xxx 的循环节为 k⌈x2⌉k⌈x2⌉k^{\lceil{x\over2}\rceil} 种。 但这样求出来的并不是作为最小循环...

2018-03-08 13:39:30 386

原创 [分治][Trie][prufer数列] 51Nod 1601 完全图的最小生成树计数

SolutionSolutionSolution考虑从高位到低位枚举。 显然是把相同的放在一边,不同的找到权值最小的连边,这个可以TrieTrie\text{Trie}。 这样分治下去,最后得到一个没有限制的联通块,贡献就是sizesize−2sizesize−2size^{size-2}。 因为偷懒写了vectorvector\text{vector},还必须得预处理nn−2nn−2n...

2018-03-07 21:14:44 372

原创 [DP][分治] 51Nod 1934 受限制的排列

SolutionSolutionSolution一个显然的想法就是去找最小的那个数。 最小的数的 lll 和 rrr 就应该是 111 和 nnn 。 因为这是一个排列,我们把问题从最小值处 pospospos 分开,得到两个一样的问题 (1,pos−1)(1,pos−1)(1,pos-1) 和 (pos+1,n)(pos+1,n)(pos+1,n) 。设区间长度为 lenlenlen ,...

2018-03-07 18:45:28 425

原创 [最短路图][DP] ARC090 E - Avoiding Collision

SolutionSolutionSolution刚开始读错题+1 首先转化为总方案数减去不合法的方案数。 先建出最短路图。DP出从S,TS,TS,T到每个点的方案数fu,gufu,guf_u,g_u。 考虑在边上还是点上相遇。 点上的话就考虑disT=2disudisT=2disu\text{dis}_T=2\text{dis}_u的点,贡献是f2ug2ufu2gu2f_u^2g_u^...

2018-03-07 16:10:25 538

原创 [后缀自动机][树上启发式合并] LOJ #6041. 「雅礼集训 2017 Day7」事情的相似度

SolutionSolutionSolutionO(nn−−√logn)O(nnlog⁡n)\mathcal{O}(n\sqrt n\log n)的莫队连500005000050000都过不了qwq。%%%gjghfdgjghfd教我SAM+树上启发式合并的做法。 每两个后缀的贡献会在LCA处统计到。 一个暴力的想法就是枚举LCA,那就只需要考虑子树中的点对。有实际贡献意义的就...

2018-03-07 10:23:30 495

原创 [多项式ln][多项式exp][背包DP][生成函数] LOJ #556. 咱们去烧菜吧

SolutionSolutionSolution就是个背包DP咯。 答案长这个样子ans=[xn]∏i=1m1−xaibi+ai1−xaians=[xn]∏i=1m1−xaibi+ai1−xaians=[x^n]\prod_{i=1}^m{1 - x^{a_ib_i+a_i}\over 1-x^{a_i}}考虑取个lnln\lnlnans=∑i=1m(ln(1−xaibi+ai)−ln(1−...

2018-03-06 14:45:00 880

原创 [多项式ln][多项式exp][多项式求幂][生成函数][DP][FNT] BZOJ 3684: 大朋友和多叉树

SolutionSolutionSolution把DP写成生成函数的形式。f(x)=x+∑d∈Dfd(x)f(x)=x+∑d∈Dfd(x)f(x)=x+\sum_{d\in D}f^d(x)设g(f(x))=xg(f(x))=xg\big(f(x)\big)=x,有g(f(x))g(x)==f(x)−∑d∈Dfd(x)x−∑d∈Dxdg(f(x))=f(x)−∑d∈Dfd(x)g(x)=x−∑...

2018-03-06 13:00:59 806

原创 [斯特林数] Codeforces 932E. Team Work

SolutionSolutionSolution可能也算是裸题了咯。 求∑i=1n(ni)ik∑i=1n(ni)ik\sum_{i=1}^n{n\choose i}i^k用斯特林数把ikiki^k展开。∑d=0kd!S(k,d)(nd)2n−d∑d=0kd!S(k,d)(nd)2n−d\sum_{d=0}^kd!S(k,d){n\choose d}2^{n-d}O(k2)O(k2)\math...

2018-03-06 07:08:21 418

原创 [NTT][DP][树链剖分][分治] LOJ #6289. 花朵

SolutionSolutionSolutionfu,0/1,ifu,0/1,if_{u,0/1,i}表示uuu子树中选了iii个点,uuu选不选的答案。 转移显然就是一个卷积的形式。 考虑重链剖分。 先把轻儿子卷到根,这样只需要考虑重链。 再考虑重链上的DP。 考虑头尾选不选gu,0/1,0/1gu,0/1,0/1g_{u,0/1,0/1}。这也是个卷积,可以分治+FFT。#i...

2018-03-05 16:48:57 883

原创 [DP][CDQ分治] BZOJ 4553: [Tjoi2016&Heoi2016]序列

SolutionSolutionSolution设位置iii最大可变成ririr_i,最小lilil_i。 fifif_i为iii位置的答案。容易得到fi=max{fj+1|j<i,rj≤ai,aj≤li}fi=max{fj+1|j<i,rj≤ai,aj≤li}f_i=\text{max}\{f_j+1|j\lt i, r_j\le a_i,a_j\le l_i\}把(rj,aj...

2018-03-03 13:52:07 303

原创 [后缀数组][trie合并][启发式合并][并查集] LOJ #6198. 谢特

SolutionSolutionSolution求出后缀数组heightiheighti\text{height}_i后。 问题转化为maxi≠j{mini<k≤j{heighti}+(wi xor wj)}maxi≠j{mini<k≤j{heighti}+(wi xor wj)}\text{max}_{i\neq j}\{\text{mi...

2018-03-02 19:09:21 525

原创 [DFT][Matrix-Tree定理][高斯消元] LOJ #6271. 生成树求和 加强版

SolutionSolutionSolution可以把每位分开来做。 这样每一位都是一个长度为3的循环卷积。 DFTDFT\text{DFT}后就是独立相乘了,可以矩阵树定理。 考虑三次单位根ω3,1+ω3+ω23=0ω3,1+ω3+ω32=0\omega_3,1+\omega_3+\omega_3^2=0。 如何证明a=b=0a=b=0a=b=0是a+bω=0a+bω=0a+b\om...

2018-03-02 14:38:01 769

原创 [Bluestein's Algorithm][DFT] CodeChef REALSET

SolutionSolutionSolution由F(b)≠0,F(a∗b)=0F(b)≠0,F(a∗b)=0\mathcal{F}(\textbf{b}) \neq \textbf{0},\mathcal{F}(\textbf{a}*\textbf{b})=0可以得到F(a)F(a)\mathcal{F}(\textbf{a})至少有一项为000。 考虑aa\textbf{a}向量的DFT...

2018-03-01 21:42:56 633

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除