06 2018 档案

摘要:题目链接 "BZOJ3550" 题解 单纯形裸题 题意不清,每个位置最多选一次 cpp include include include include include include include include define Redge(u) for (int k = h[u],to; k; k 阅读全文
posted @ 2018-06-30 20:50 Mychael 阅读(180) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1061" 题解 今天终于用正宗的线性规划A了这道题 题目可以看做有N个限制和M个变量 变量xi表示第i种志愿者的人数,对于第i种志愿者所能触及的那些天,xi的系数都为1,其余为0 也就是 $$ min \; z = \sum\limits 阅读全文
posted @ 2018-06-30 19:00 Mychael 阅读(278) 评论(0) 推荐(0) 编辑
摘要:"uoj179" 输入后转化为线性规划标准形式 maxz=j=1ncjxj $$ \left\{ \begin{aligned} \sum\limits_{j = 1}^{n}a_{ij}x_j = b_j \quad i \in [1, 阅读全文
posted @ 2018-06-30 17:03 Mychael 阅读(374) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3834" 题解 容易想到对于gcd(x,y)=Dd的倍数一定存在于两个区间中 换言之 $$\lfloor \frac{a 1}{D} \rfloor include include include include include define Redge(u) f 阅读全文
posted @ 2018-06-30 12:29 Mychael 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3835" 题解 对于k,设s[i]为深度大于i的点数 ans=max{i+s[i]k} 最优决策一定是一开始每一层拿不满k个点,然后之后一直往下拿的同时通过中间层剩余的点拿满k个点 我们就有前 阅读全文
posted @ 2018-06-30 10:48 Mychael 阅读(245) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3829" 题解 设f[i]为从i父亲进入i之前开始计时,i的子树中最晚装好的时间 同时记siz[i]为节点i子树大小的两倍,即为从父亲进入并回到父亲的时间 那么有 f[i]=max{C[i],f[to]+sizpre}+1 阅读全文
posted @ 2018-06-29 15:00 Mychael 阅读(166) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3836" 题解 显然这是个NP完全问题,此题的解决全仗 任意两点间不存在节点数超过10的简单路径 的性质 这意味着什么呢? dfs树深度不超过10 10很小呐,可以状压了呢 我们发现一个点不但收祖先影响,而且受儿子影响,比较难处理 我们就先处理该点及其祖先,然后 阅读全文
posted @ 2018-06-29 12:08 Mychael 阅读(337) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2800" 题解 区间加极难操作,差分之后可转化为两点一加一减 那么现在问题就将每个点暂时独立开来 先判定每个点是否被(A,B)整除,否则无解 之后我们先将A,B化为互质,所有数除一个(A,B) 求得 Ax+By=1 那么对于点d[i],满足 $$ 阅读全文
posted @ 2018-06-29 07:43 Mychael 阅读(335) 评论(0) 推荐(0) 编辑
摘要:题目链接 "CF321E" 题解 题意:将n个人分成K段,每段的人两两之间产生代价,求最小代价和 容易设f[k][i]表示前i个人分成k段的最小代价和 设val(i,j)ij两两之间产生的代价和,容易发现就是一个矩形,可以预处理前缀和O(1)计算 那么有 $$ 阅读全文
posted @ 2018-06-28 15:58 Mychael 阅读(372) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2079" 题解 题意就是黑白染色,要求相邻点存在不同颜色的点 显然从一个点出发,相邻点如果没有染色,染不同颜色,那么一个联通块一定会满足要求 证明:在dfs树上,每个点父亲和它不同色 所以只需检查有无孤立的点 C++ include include include incl 阅读全文
posted @ 2018-06-28 12:28 Mychael 阅读(95) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3522" 题解 就是询问每个点来自不同子树离它等距的三个点的个数 数据支持O(n2),可以对每个距离分开做 设f[i][j]表示i的子树中到i距离为j的点的个数 利用换根法可得到每个点作为根时的值 然后随便容斥一下就是答案 C++ include incl 阅读全文
posted @ 2018-06-28 11:57 Mychael 阅读(144) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2802" 题解 这样的问题通常逆序贪心 每个A[i]只能用来满足后面的B[i] 就用当前A[i]不断提供给最小的B[i]即可 用一个堆维护 阅读全文
posted @ 2018-06-28 09:55 Mychael 阅读(156) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ" 题解 如果我们给A中所有字母按顺序编号,给B中所有字母编上相同的号码 对于B中同一种,显然号码应该升序 然后求逆序对即可 C++ include include include include include include include define Redg 阅读全文
posted @ 2018-06-28 08:57 Mychael 阅读(155) 评论(0) 推荐(0) 编辑
摘要:题目链接 "uoj" 题解 以前看别人博客,在考场上用费用流做,一直以为这题是毒瘤网络流题 没想到竟然是贪心模拟题。。。 如果只有一个蔬菜呢?这就是一个经典的普及难度的贪心,正着推面临优先选择的困难,而逆着推由于不存在淘汰,所以可以贪心选最大的 首先si的限制很容易处理,只需将每一个蔬菜分出一 阅读全文
posted @ 2018-06-28 08:16 Mychael 阅读(666) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2525" 题解 就是要求所有有炸弹的点到点燃点距离最大值最小 显然二分答案距离D 然后按深度排序,贪心点燃当前没覆盖的深度最深的点往上第D层的点 每覆盖一个点要标记其能到达的点 显然暴力标记均摊是O(n)的 复杂度O(nlogn) 阅读全文
posted @ 2018-06-27 16:34 Mychael 阅读(128) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2529" 题解 要组成三角形,当且仅当最长边长度小于另两条边之和 我们就枚举最长边,另两条边当然是越大越好 我们将所有边排序,从小枚举并记录各个颜色的最长边 当枚举到当前边时,找到除了当前颜色外其它颜色最长边的最大值和次大值,检查一下加起来是否大于当前边长度 复杂度$O(nlo 阅读全文
posted @ 2018-06-27 15:07 Mychael 阅读(158) 评论(0) 推荐(0) 编辑
摘要:题目链接 "uoj132" 题解 真是一道大码题,,,肝了一个上午 老司机的部分是一个dp,观察点是按y分层的,而且按每层点的上限来看可以使用O(nd)dp,其中d是每层的点数 我们设f[i]表示从i点进入该层,直到走完为止所经过的最多点的数量,我们把原点也看做一棵树, 阅读全文
posted @ 2018-06-27 12:18 Mychael 阅读(212) 评论(0) 推荐(0) 编辑
摘要:"板题" Miiler Robin素数测试 目前已知分解质因数以及检测质数确定性方法就只能sqrtn试除 但是我们可以基于大量测试的随机算法而有大把握说明一个数是质数 Miler Robin素数测试基于以下两个原理: 费马小定理 即我们耳熟能详的 对于质数p $$a^{p 1} \equ 阅读全文
posted @ 2018-06-26 20:08 Mychael 阅读(440) 评论(0) 推荐(0) 编辑
摘要:题目链接 "hdu4336" 题解 最值反演 也叫做minmax容斥,在计算期望时有奇效 max{S}=TS(1)|T|+1min{T} 证明: 记S={ai},其中对于$i include include 阅读全文
posted @ 2018-06-26 17:19 Mychael 阅读(285) 评论(0) 推荐(1) 编辑
摘要:题目链接 "loj2542" 题解 设f[i][S]表示从i节点出发,走完S集合中的点的期望步数 记de[i]i的度数,E为边集,我们很容易写出状态转移方程 ①若iS $$f[i][S] = \frac{1}{de[i]}\sum\limits_{(i, 阅读全文
posted @ 2018-06-26 15:20 Mychael 阅读(1154) 评论(1) 推荐(3) 编辑
摘要:题目链接 "loj2540" 题解 有一个朴素三进制状压dp,考虑当前点三种状态:没考虑过,被选入集合,被排除 就有了O(n3n)的转移 但这样不优,我们考虑优化状态 设f[i][S]表示独立集大小为i,不可选集合为S【要么是已经在独立集中,要么已经被排除了】 那么剩余点都 阅读全文
posted @ 2018-06-26 10:28 Mychael 阅读(172) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3601" 题解 挺神的 首先有 $$ \begin{aligned} f(n) &= \sum\limits_{x = 1}^{n} x^{d} [(x,n) = 1] \\ &= \sum\limits_{x = 1}^{n} x^{d} \sum\limits_{c|(x, 阅读全文
posted @ 2018-06-25 20:37 Mychael 阅读(184) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3672" 题解 如果暂时不管l[i]的限制,并假使这是一条链 设f[i]表示i节点的最优答案,我们容易得到dp方程 f[i]=min{f[j]+(d[i]d[j])p[i]+q[i]} 显而易见可以斜率优化 化为 $$f[j] = p[ 阅读全文
posted @ 2018-06-25 17:52 Mychael 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2217" 题解 如果只判定存不存在方案的话,我倒是想到可以将2拆成两个1,其中一个不能作为区间开头,线段树优化计算补集方案数 但是一看这道题要输出方案啊,,, 怎么办? 考虑如果凑不出x,那一定可以凑出x+1 我们就找到前缀和为x的位置,如果没有,就找$ 阅读全文
posted @ 2018-06-25 09:31 Mychael 阅读(100) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ5389" 题解 太sb了,这种题都想不出来 发现复杂度允许nn,我们可以对于每个位置n枚举约数,然后维护比例的最晚出现的位置,维护每种数出现的最晚位置 询问按r排序,在维护的同时回答询问,只需看该比例最晚位置是否在l右侧即可 这样 阅读全文
posted @ 2018-06-25 07:58 Mychael 阅读(119) 评论(0) 推荐(0) 编辑
摘要:题目链接 "loj" 题解 感谢珂神的指导orz 观察式子i×j1(modm),显然i,j是模m意义下成对的逆元,只需统计模m意义下存在逆元的数的个数,即与m互质的数的个数φ(m) 每对逆元的连边有两种情况,记逆元对数为x,则 阅读全文
posted @ 2018-06-25 07:37 Mychael 阅读(199) 评论(0) 推荐(1) 编辑
摘要:题目链接 "BZOJ4416" 题解 建立序列自动机,即预处理数组nxt[i][j]表示i位置之后下一个j出现的位置 设f[i]表示合法字符集合为i的最短前缀,枚举最后一个加入的字符进行转移 注意到合法串长度是O(n2)级别的,所以n21直接判掉 C++ includ 阅读全文
posted @ 2018-06-24 10:19 Mychael 阅读(159) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2159" 题解 显然不能直接做点分之类的,观察式子中存在式子nk 可以考虑到 nk=i=0{ki}(ni)i! 发现k很小,对于每个点可 阅读全文
posted @ 2018-06-23 21:46 Mychael 阅读(167) 评论(0) 推荐(0) 编辑
摘要:当需要求质数P的原根G,只需枚举a[2,P1],检验对P1的所有质因子piaP1pimodP是否等于1,若都不等于1,则aP的原根 "51Nod原根" C++ include include include 阅读全文
posted @ 2018-06-23 21:04 Mychael 阅读(2587) 评论(0) 推荐(1) 编辑
摘要:题目链接 "BZOJ2530" 题解 如果我们删去一对不连边的仍然存在的点的话,这对点肯定不同时在那个23n的团中,也就是说,每次删点至少删掉一个外点,至多删掉一个内点 那么我们要删掉团外的点最多使用13n个团内的点就可以了,剩下的至少$\frac{1}{ 阅读全文
posted @ 2018-06-23 19:44 Mychael 阅读(151) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2213" 题解 考虑任意一对点的贡献,单独拿出那些点所在位置 一个设为1,一个设为1,从头到尾扫一遍维护前缀和,以及当前最小前缀和 两者相减更新答案 需要注意的是当前最小前缀和更新的位置之后必须存在另一个字符,否则就不满足最小出现次数最少大于0的限制 由于每个位置 阅读全文
posted @ 2018-06-23 18:34 Mychael 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2276" 题解 一开始看错题,以为求的是可以不连续的,想出一个奇怪的线段树,发现空间根本开不下?? 题目要我们求连续的最长可能不下降区间 对于区间[l,r]如果合法,当且仅当对于i[l,r],jr[i]显然就不满足不下降性 我 阅读全文
posted @ 2018-06-23 16:09 Mychael 阅读(133) 评论(0) 推荐(0) 编辑
摘要:多项式除法解决这样一个问题: 有一个n次多项式A(x)和一个m次多项式B(x),你希望求得多项式Q(x)R(x),使得 A(x)=Q(x)B(x)+R(x) 其中degQnm,$deg_R include include include i 阅读全文
posted @ 2018-06-23 12:27 Mychael 阅读(659) 评论(0) 推荐(0) 编辑
摘要:题目链接 "loj2538" 题解 比较明显的是,由于强化牌倍数大于1,肯定是能用强化牌尽量用强化牌 如果强化牌大于等于k,就留一个位给攻击牌 所以我们将两种牌分别排序,企图计算F(i,j)表示i张强化牌选出最强的j张的所有方案的倍数和 G(i,j)表示从i张攻击牌选出最 阅读全文
posted @ 2018-06-23 08:32 Mychael 阅读(183) 评论(0) 推荐(0) 编辑
摘要:题目链接 "loj2537" 题解 观察题目的式子似乎没有什么意义,我们考虑计算出每一种权值的概率 先离散化一下权值 显然可以设一个dp,设f[i][j]表示i节点权值为j的概率 如果i是叶节点显然 如果i只有一个儿子直接继承即可 如果i有两个儿子,对于儿子x,设另一 阅读全文
posted @ 2018-06-22 19:39 Mychael 阅读(227) 评论(0) 推荐(0) 编辑
摘要:题目链接 "CF600E" 题解 容易想到就是线段树合并,维护每个权值区间出现的最大值以及最大值位置之和即可 对于每个节点合并一下两个子节点的信息 要注意叶子节点信息的合并和非叶节点信息的合并是不一样的 由于合并不比逐个插入复杂度高,所以应是O(nlogn)的 C++ include inclu 阅读全文
posted @ 2018-06-21 20:10 Mychael 阅读(240) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2216" 题解 学过高中数学都应知道,我们要求p的极值,参变分离为 hj+sqrt|ij|hip 实际上就是求hj+sqrt|ij|hi的最大值 就可以设f[i]表示对i最大的该式的值 绝对值通常要去掉,一般可以 阅读全文
posted @ 2018-06-21 19:06 Mychael 阅读(154) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2212" 题解 一棵子树内的顺序不影响其与其它子树合并时的答案,这一点与归并排序的思想非常相似 所以我们只需单独处理每个节点的两棵子树所产生的最少逆序对即可 只有两种情况,要么正序要么逆序,且这两种情况数目是互补的 如果左子树大小为Sl,右子树大小为Sr,那么总对数 阅读全文
posted @ 2018-06-20 19:03 Mychael 阅读(127) 评论(0) 推荐(0) 编辑
摘要:题目链接 "CF487E" 题解 圆方树 + 树剖 裸题 建好圆方树维护路径上最小值即可 方点的值为其儿子的最小值,这个用堆维护 为什么只维护儿子?因为这样修改点的时候就只需要修改其父亲的堆 这样充分利用了一对一的特性优化了复杂度 如此询问时如果lca为方点,再询问一下lca的父亲即可 复杂 阅读全文
posted @ 2018-06-20 11:43 Mychael 阅读(163) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1367" 题解 又是一道神题,, 我们考虑一些简单的情况: 我们先假设bi单调不降,而不是递增 对于递增序列{ai},显然答案{bi}满足bi=ai 对于递减序列{ai},显然答案{bi}满足biai的中位 阅读全文
posted @ 2018-06-20 10:09 Mychael 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ5333" 题解 看到式子,立即想到二叉树上一个点及其k个父亲权值和【如果有的话】模m意义下为0 考虑如何满足条件 我们假设1号为第0层 那么我们先满足第k层的条件 由于第k+1层也满足条件 由同余的性质第k+1层的权值等于第1层的权值 阅读全文
posted @ 2018-06-20 08:01 Mychael 阅读(149) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1264" 题解 平凡的LCSO(n2)的 显然我们要根据题目的性质用一些不平凡的LCS求法 这就很巧妙了,, 我们考虑A序列的每个位置可能匹配B位置的哪些位置 而A序列中匹配的位置一定是单调递增的 那么我们就把A的每个位置所能匹配B的位置找出 阅读全文
posted @ 2018-06-19 20:12 Mychael 阅读(212) 评论(0) 推荐(0) 编辑
摘要:题目链接 "URAL1519" 题解 看题型显然插头dp 考虑如何设计状态 有这样一个方案 当我们决策到某个位置 轮廓线长这样 你会发现插头一定是相互匹配的 所以我们实际上可以把状态用括号序列表示 如上图就是( )() 是一个三进制数 那么我们设f[i][j][s]表示决策到(i,j)阅读全文
posted @ 2018-06-19 16:12 Mychael 阅读(314) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ5315" 题解 题目好吓人= =点仙人掌 + 斯坦纳树 我们只需求出对于所有选点的方案的斯坦纳树边长总和 n那么大当然不能状压,但是考虑一下如果这是一棵树,一个方案的贡献就是连接这些点的所有边 我们可以考虑计算每条边的贡献 一条边在树上有贡献,当且仅当它两端的树都存在被选择 阅读全文
posted @ 2018-06-19 10:43 Mychael 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4608" 题解 建个序列自动机后 第一问暴搜 第二问dp + 高精 设f[i][j]为两个序列自动机分别走到ij节点的方案数,答案就是f[0][0] 由于空间卡的很紧,高精不仅要压位,还要动态开内存 由于有些状态是没用的,记忆化搜索以减少内存损失 C++ inc 阅读全文
posted @ 2018-06-18 22:00 Mychael 阅读(314) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4606" 双倍经验: "弱化版" 题解 两点之间必经的点就是圆方树上两点之间的圆点 所以只需建出圆方树 每次询问建出虚树,统计一下虚树边上有多少圆点即可 还要讨论一下经不经过根1的情况 P4606 cpp include include include include inc 阅读全文
posted @ 2018-06-18 11:53 Mychael 阅读(236) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3509" 题解 化一下式子,就是 2A[j]=A[i]+A[k] 所以我们对一个位置两边的数构成的生成函数相乘即可 但是由于这样做是O(n2logn)的,我们考虑如何优化 显然可以分块做,我们不对所有数左右求卷积,只对B个块左右做,这样ik阅读全文
posted @ 2018-06-17 20:41 Mychael 阅读(213) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3771" 题解 做水题放松一下 先构造Aix指数的生成函数A(x) 再构造2Ai为指数的生成函数B(x) 再构造3Ai为指数的生成函数C(x) 那么只需计算 $$A(x) + \frac{A^2(x) B(x)}{2} + \frac{A^{ 阅读全文
posted @ 2018-06-17 15:34 Mychael 阅读(179) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4735" 题解 给定一个序列,有的位置为wi1,有的位置为1,问有多少种排列,使得任意前缀和非负? 我们末尾加上一个1,就是要保证除了末尾外的前缀和非负 我们考虑把所有元素进行圆排列,对于一个圆排列,无论从哪个位置断开,最小值的位置是固定的 最小值显然必须是 阅读全文
posted @ 2018-06-17 12:35 Mychael 阅读(229) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ2595" 题解 著名的斯坦纳树问题 设f[i][j][s]表示点(i,j)与景点联通状况为s的最小志愿者数 设val[i][j](i,j)需要的志愿者数 有两种转移 一种是自己转移 $$f[i][j][s] = min\{f[i][j][e] + f[i] 阅读全文
posted @ 2018-06-17 10:36 Mychael 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ5314" 题解 设f[i][j][0|1][0|1]表示i为根的子树,用了j个监测器,i节点是否被控制,i节点是否放置的方案数 然后转移即可 O(nk2)?? 用上子树大小来优化就是O(nk)的 对于子树大小都超过k的子树,转移O(k2) 阅读全文
posted @ 2018-06-17 08:47 Mychael 阅读(157) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4559" 题解 只会做70分的O(nlog2n) 如果本来就在区间内的人是不用动的,区间右边的人往区间最右的那些空位跑,区间左边的人往区间最左的那些空位跑 找到这些空位就用二分 + 主席树 理应可以在主席树上的区间二分而做到O(nlogn),但是写不出来,先留着坑 阅读全文
posted @ 2018-06-16 19:52 Mychael 阅读(120) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3782" 题解 我们把终点也加入障碍点中,将点排序,令f[i]表示从(0,0)出发,不经过其它障碍,直接到达(xi,yi)的方案数 首先我们有个大致的方案数(xi+yixi) 但是中途可能会经过一些其它障碍点,那么就减去 所以 $ 阅读全文
posted @ 2018-06-16 17:31 Mychael 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4630" 题解 看了一下部分分,觉得树的部分很可做,就相当于求一个点对路径长之和的东西,考虑一下能不能转化到一般图来? 一般图要转为树,就使用圆方树呗 思考一下发现,两点之间经过的点双,点双内所有点一定都可以作为中介点 那么我们将方点赋值为点双大小,为了去重,剩余点赋值1 阅读全文
posted @ 2018-06-16 11:34 Mychael 阅读(175) 评论(0) 推荐(0) 编辑
摘要:题目链接 "hdu1693" 题解 插头dp 特点:范围小,网格图,连通性 轮廓线:已决策点和未决策点的分界线 插头:存在于网格之间,表示着网格建的信息,此题中表示两个网格间是否连边 状态表示:当前点(i,j)和轮廓线上m+1个插头的状态 状态转移: 我们用f[i][j][s]阅读全文
posted @ 2018-06-16 07:38 Mychael 阅读(213) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P4609" 题解 感性理解一下: 一神带n坑 所以我们只需将除了n外的n1个元素分成A+B2个集合,每个集合选出最大的在一端,剩余进行排列,然后选出A1个集合放左边,剩余放右边 容易发现分割集合并内部排列实质对应第一类斯特林数$$\begin{bmat 阅读全文
posted @ 2018-06-15 20:14 Mychael 阅读(236) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷T30212" 题解 式子很容易推出来,二项式定理展开后对于k的答案即可化简为如下: $$k!(\sum\limits_{i = 0}^{k} \frac{\sum\limits_{x = 1}^{n} a_x^{i}}{i!} \centerdot \frac{\sum\lim 阅读全文
posted @ 2018-06-15 19:02 Mychael 阅读(175) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3456" 题解 真是一道经典好题,至此已经写了分治NTT,多项式求逆,多项式求ln三种写法 我们发现我们要求的是大小为n无向联通图的数量 而n个点的无向图是由若干个无向联通图构成的 那么我们设F(x)为无向联通图数量的指数型生成函数 设G(x)为无向图数 阅读全文
posted @ 2018-06-15 16:34 Mychael 阅读(593) 评论(1) 推荐(0) 编辑
摘要:指数型生成函数 我们知道普通型生成函数解决的是组合问题,而指数型生成函数解决的是排列问题 对于数列{an},我们定义其指数型生成函数为 $$G(x) = a_0 + a_1x + a_2\frac{x^2}{2!} + a_3\frac{x^3}{3!} + a_4\frac{x^4}{4 阅读全文
posted @ 2018-06-15 16:11 Mychael 阅读(4558) 评论(0) 推荐(10) 编辑
摘要:题目链接 "BZOJ5093" 题解 点之间是没有区别的,所以我们可以计算出一个点的所有贡献,然后乘上n 一个点可能向剩余的n1个点连边,那么就有 $$ans = 2^{{n 1 \choose 2}}n \sum\limits_{i = 0}^{n 1} {n 1 \choose i} 阅读全文
posted @ 2018-06-15 11:33 Mychael 阅读(176) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4408" 题解 假如我们已经求出一个集合所能凑出连续数的最大区间[1,max],那么此时答案为max+1 那么我们此时加入一个数x,假若xmax+1,显然对答案没有影响 但是假若xmax+1,显然最大区间变为[1,max+x] 阅读全文
posted @ 2018-06-15 10:17 Mychael 阅读(190) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4070" 题解 考虑暴力建图,将每个Bi向其能到的点连边,复杂度O(npi),当p比较小时不适用 考虑优化建图,每个doge能移动的点实际上是一组模p同余的点,那么只要对每个pn个点,然后内部距离为p的点连边,然 阅读全文
posted @ 2018-06-15 08:18 Mychael 阅读(186) 评论(0) 推荐(0) 编辑
摘要:题目链接 "loj2541" 题解 思路很妙啊, 人傻想不到啊 觉得十分难求,考虑容斥 由于1号可能不是最后一个被杀的,我们容斥一下1号之后至少有几个没被杀 我们令A=i=1nwi,令S表示选出那几个在i之后的wi和 我们淘汰人 阅读全文
posted @ 2018-06-14 21:59 Mychael 阅读(672) 评论(0) 推荐(1) 编辑
摘要:AFO在即的年迈的Mychael由于体力~~懒惰~~原因,对于部分~~懒得动手的~~题目,就堆砌在这里啦 省一点精力与时间 "hdu5896&5552" 就是要求n个点带环无向图个数 补集转化,用无向图总数减去森林个数 无向图总数是2(n2)很好办 森林总数显然就 阅读全文
posted @ 2018-06-14 19:41 Mychael 阅读(409) 评论(0) 推荐(0) 编辑
摘要:题目链接 "hdu5279" 题解 给出若干个完全图,然后完全图之间首尾相连并成环,要求删边使得两点之间路径数不超过1,求方案数 容易想到各个完全图是独立的,每个完全图要删成一个森林,其实就是询问n个点有标号森林的个数 设f[i]表示i个点有标号森林的个数 枚举第一个点所在树大小,我 阅读全文
posted @ 2018-06-12 12:42 Mychael 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题目链接 "ZOJ3899" 题解 比较累,做一道水题 还被卡常= = 我在ZOJ交过的两道NTT都被卡常了。。 哦,题意就是求第二类斯特林数,然后线段树维护一下集合数量就可以了 阅读全文
posted @ 2018-06-11 20:22 Mychael 阅读(122) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1069" 题解 首先四个点一定在凸包上 我们枚举对角线,剩下两个点分别是两侧最远的点 可以三分,复杂度O(n2logn) 可以借鉴旋转卡壳的思想,那两个点随着对角线的一定单调不减,可以用两个指针维护,复杂度O(n2) C++ include include incl 阅读全文
posted @ 2018-06-10 17:15 Mychael 阅读(141) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3724" 题解 构造矩阵的思路真的没想到 选x就不能选2x3x,会发现实际可以转化为矩阵相邻两项 $$\begin{matrix}1 & 3 & 9 & 27 & ... \\2 & 6 & 18 & 54 & ... \\4 & 12 & 36 & 108 & 阅读全文
posted @ 2018-06-10 15:31 Mychael 阅读(189) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ3451" 题解 考虑每个点产生的贡献,即为该点在点分树中的深度期望值 由于期望的线性,最后的答案就是每个点贡献之和 对于点对(i,j),考虑j成为i祖先的概率,记为P(i,j) 那么 $$ans = \sum\limits_{i = 1}^{n}\sum\lim 阅读全文
posted @ 2018-06-10 11:46 Mychael 阅读(228) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ1997" 题解 显然相交的两条边不能同时在圆的一侧,2sat判一下就好了 但这样边数是O(m2)的,无法通过此题 但是n很小,平面图 边数上界为3n6,所以过大的m可以判掉 C++ include include include include inc 阅读全文
posted @ 2018-06-09 20:49 Mychael 阅读(302) 评论(0) 推荐(0) 编辑
摘要:题目链接 "POJ1275" 题解 显然可以差分约束 我们记W[i]i时刻可以开始工作的人数 令s[i]为前i个时刻开始工作的人数的前缀和 每个时刻的要求r[i],可以通过如下限制满足: s[i]s[i8]r[i] $$0 \le s[i] s[i 1] 阅读全文
posted @ 2018-06-09 19:59 Mychael 阅读(124) 评论(0) 推荐(0) 编辑
摘要:题目链接 "POJ1201" 题解 差分约束 令a[i]表示是否选择is[i]表示a[i]的前缀和 对s[i]i[1,50000]分别建立一个点 首先有 s[i]s[i1]0 s[i]s[i1]1 然后就是限 阅读全文
posted @ 2018-06-09 17:18 Mychael 阅读(126) 评论(0) 推荐(0) 编辑
摘要:题目链接 "洛谷P1912【原题,需输出方案】" "BZOJ1563【无SPJ,只需输出结果】" 题解 四边形不等式 什么是四边形不等式? 一个定义域在整数上的函数val(i,j),满足对abcd有 $$val(a,d) + val(b,c) \ 阅读全文
posted @ 2018-06-08 20:51 Mychael 阅读(239) 评论(0) 推荐(0) 编辑
摘要:题目链接 "BZOJ4197" 题解 两个人选的数都互质,意味着两个人选择了没有交集的质因子集合 容易想到将两个人所选的质因子集合作为状态dp n以内质数很多,但容易发现n22.3,这里边的质数只有8个,而大于n的质因子只会出现一次, 阅读全文
posted @ 2018-06-08 18:32 Mychael 阅读(167) 评论(0) 推荐(0) 编辑
摘要:day 1 打点行囊,从学校出发去火车站 day0 在火车上一觉醒来便快到了北京,直接前往了宾馆安置 下午报道,一脸向往地第一次走入清华园,感觉十分的梦幻,心里一直喃喃:“希望以后也能经常在这条路上徘徊” 报道和试机地点是最向往的软工学院,发了狗牌和一件白色纪念衫 试机 依旧是WC时操作蛋疼的$ 阅读全文
posted @ 2018-06-08 18:18 Mychael 阅读(417) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示