上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页
摘要: 【题意】初始资金s,有两种金券A和B,第i天,买入时将投入的资金购买比例为rate[i]的两种股票,卖出时将持有的一定比例的两种股票卖出,第i天股票价格为A[i],B[i],求最大获利。n<=100000。 【算法】动态规划+斜率优化(CDQ分治) 【题解】为了最大获利,每次交易一定是全部买进和全部 阅读全文
posted @ 2018-01-08 14:59 ONION_CYC 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 【题意】给定1~n的排列,m次操作每次删除一个数,求每次操作前的逆序对数。n<=10^5,m<=50000。 【算法】CDQ分治+树状数组 【题解】先树状数组求逆序对,然后统计每次删除的逆序对数。 每个数字及其坐标构成一个二维坐标,逆序对就是两个相对位置在左上右下的点,那么删除一个点会减少的逆序对就 阅读全文
posted @ 2018-01-06 20:49 ONION_CYC 阅读(269) 评论(0) 推荐(1) 编辑
摘要: Catalan数列:1 1 1 2 5 14 42 132 429 1430 4862 16796 【计数映射思想】 参考:卡特兰数 — 计数的映射方法的伟大胜利 计数映射:将难以统计的数映射为另一种形式的可以统计的数。 一、入栈出栈序 n个数字,有多少种合法的入栈出栈序列?n=3时的合法序列之一: 阅读全文
posted @ 2018-01-06 09:36 ONION_CYC 阅读(1604) 评论(0) 推荐(1) 编辑
摘要: 【题目】E. New Year and Entity Enumeration 【题意】给定集合T包含n个m长二进制数,要求包含集合T且满足以下条件的集合S数:长度<=m,非和与的结果都在集合中。(详细的题意见原题) 【算法】数学(贝尔数) 【题解】这道题确实不太能理解这种做法,所以就简单写写了。 先 阅读全文
posted @ 2018-01-05 19:46 ONION_CYC 阅读(293) 评论(0) 推荐(1) 编辑
摘要: 【题目】C. LRU 【题意】给定空间为k的背包和n个物品,每次每个物品有pi的概率加入(Σpi=1),加入时若发现背包中已有该物品则不改变,若背包满k个物品后再加入新物品则弹出最早加入的物品,求加入10^100次后每个物品在背包中的概率。n,k<=20 【算法】概率DP 【题解】进行10^100次 阅读全文
posted @ 2018-01-05 11:32 ONION_CYC 阅读(275) 评论(0) 推荐(1) 编辑
摘要: 【题目】Good Bye 2017 D. New Year and Arbitrary Arrangement 【题意】给定正整数k,pa,pb,初始有空字符串,每次有pa/(pa+pb)的可能在字符串末尾+a,有pb/(pa+pb)的可能在字符串末尾+b,求加到组成至少k对子序列“ab"时的期望子 阅读全文
posted @ 2018-01-05 07:00 ONION_CYC 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 【题意】给两个小写字母串A,B,请你计算: (1) A的一个最短的子串,它不是B的子串 (2) A的一个最短的子串,它不是B的子序列 (3) A的一个最短的子序列,它不是B的子串 (4) A的一个最短的子序列,它不是B的子序列 不存在输出-1,1<=len(A),len(B)<=2000。 【算法】 阅读全文
posted @ 2018-01-04 12:32 ONION_CYC 阅读(397) 评论(0) 推荐(0) 编辑
摘要: 【题意】给定n个点的无向完全图,有n-1个公司各自分管一部分路,要求所有公司都有修路的生成树数。n<=17。 【算法】容斥原理+生成树计数(矩阵树定理) 【题解】每个生成树方案是一个公司有无修路的01排列,定义集合x为公司x有修路的方案集合,则题目要求集合交。 对于若干集合的集合并补集,即x个公司不 阅读全文
posted @ 2017-12-30 11:29 ONION_CYC 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 【题目】给定两边节点数为n和m的完全二分图,求生成树数取模给定的p。n,m,p<=10^18。 【算法】生成树计数(矩阵树定理) 【题解】参考自 [bzoj4766]文艺计算姬 by WerKeyTom_FTD 构造完全二分图的基尔霍夫矩阵的余子式如下(去除第一行第一列):n=3,m=3,空白格皆为 阅读全文
posted @ 2017-12-29 10:25 ONION_CYC 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 【题意】给定无向带权图,求最小生成树数。n<=100,m<=1000,相同权值边数<=10。 【算法】最小生成树(MST),DFS 【题解】首先需要一个结论:同个图的不同MST一定满足同个权值的边数相同。 考虑kruskal算法的过程,已经统计了<x的所有边,现在考虑=x的边,根据生成树的性质一定要 阅读全文
posted @ 2017-12-29 09:42 ONION_CYC 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 【排列】 对于1~n的一个排列,定义对换:交换两个相邻元素的位置形成新的排列。 每次对换:要么消除一个逆序对,要么创造一个逆序对,可以证明当序列中不存在相邻逆序对时,序列升序排列。 所以对于给定排列,通过对换得到升序数列的次数奇偶性就是逆序对个数的奇偶性。 【行列式】 仅方阵有行列式。 $det(A 阅读全文
posted @ 2017-12-29 06:57 ONION_CYC 阅读(797) 评论(0) 推荐(1) 编辑
摘要: 【题目】给定n行m列的矩阵,每个位置有一个指示方向(上下左右)或没有指示方向(任意选择),要求给未定格(没有指示方向的位置)确定方向,使得从任意一个开始走都可以都出矩阵,求方案数。n,m<=200,k<=300(未定格数量)。 【算法】生成树计数(矩阵树定理) 【题解】先对定向格DFS找环判断是否无 阅读全文
posted @ 2017-12-28 22:02 ONION_CYC 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 【题目】C. Bipartite Segments 【题意】给定n个点m条边的无向连通图,保证不存在偶数长度的简单环。每次询问区间[l,r]中包含多少子区间[x,y]满足只保留[x,y]之间的点和边构成的图是一个二分图。 【算法】Tarjan缩点(找环) 【题解】如果两个奇数长度的环相交,会得到一个 阅读全文
posted @ 2017-12-28 08:36 ONION_CYC 阅读(243) 评论(0) 推荐(1) 编辑
摘要: 【题意】给定只含小写字母的字符串s,定义价值为回文子串的长度*出现次数,求最大价值。n<=3*10^5。 【算法】回文树 【题解】回文树上一个点的被访问次数是其作为最长回文子串的出现次数。 将fail边反向连接建树后,每个点的子树访问次数和就是这个回文子串的出现次数,可以dfs解决。 注意:要从-1 阅读全文
posted @ 2017-12-27 19:03 ONION_CYC 阅读(352) 评论(0) 推荐(1) 编辑
摘要: 【题意】给定长度为n的小写字母字符串S,求第k小子串。n<=5*10^5。 给定T,T=0时不同位置的相同子串算一个,T=1时算多个。 【算法】后缀自动机 【题解】对S建立SAM,T=0则每个节点算1次,T=1则每个节点算Right次,那么第k小就是dfs到恰好前k个的位置就是答案(SAM自带字典序 阅读全文
posted @ 2017-12-27 13:30 ONION_CYC 阅读(457) 评论(0) 推荐(1) 编辑
摘要: 【题目】B. GCD of Polynomials 【题意】给定n,要求两个最高次项不超过n的多项式(第一个>第二个),使得到它们GCD的辗转次数为n。n<=150。 【算法】构造 【题解】辗转n次是最坏情况——每次辗转至少会使被模数的最高次项变到模数的最高次项-1,也就是必须构造两个多项式满足这种 阅读全文
posted @ 2017-12-27 13:29 ONION_CYC 阅读(368) 评论(0) 推荐(1) 编辑
摘要: 【题意】给定长度为n的小写字母字符串,令Ti表示以i开头的后缀,求Σ[Ti+Tj-2*lcp(Ti,Tj)],1<=i<j<=n。 【算法】后缀自动机 【题解】Σ(Ti+Tj)只与n有关,那么关键在于计算Σ2*lcp(Ti,Tj)。 对逆序串建后缀自动机,其parent树就是原串的后缀树,lcp(T 阅读全文
posted @ 2017-12-27 08:57 ONION_CYC 阅读(297) 评论(0) 推荐(1) 编辑
摘要: 【题意】给定两个字符串S和T,求最长公共子串。len<=10^5。 【算法】后缀自动机 【题解】对字符串S建SAM,然后令串T在S上跑匹配。 这是自动机最原本的功能——匹配,就是串T在SAM(S)上走,不能匹配就沿失配边走,这样得到的是T上以每个字符结尾的子串中与S的最长公共子串,取Max即是答案。 阅读全文
posted @ 2017-12-26 16:42 ONION_CYC 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 【题意】给定长度为n和m的两个字符串S和T,要求在字符串S中取出若干段拼成T(可重复取),求最小段数,n,m<=50000。 【算法】后缀自动机 || 后缀数组 【题解】对串S建SAM,然后在上面尽可能地匹配T,匹配几次得到T就是答案。 #include<cstdio> #include<cstri 阅读全文
posted @ 2017-12-26 15:46 ONION_CYC 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 后缀自动机是用于识别子串的自动机。 学习推荐:陈立杰讲稿,本文记录重点部分和感性理解(论文语言比较严格)。 刷题推荐:[后缀自动机初探],题目都来自BZOJ。 【Right集合】 后缀自动机真正优于后缀树的方面在于:结合了有限状态自动机,从而实现了O(n)的时空复杂度。 trans(s,str)表示 阅读全文
posted @ 2017-12-26 10:33 ONION_CYC 阅读(2331) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 25 下一页