随笔分类 -  数据结构 莫队算法

摘要:【题目】D. Huffman Coding on Segment 【题意】给定n个数字,m次询问区间[l,r]的数字的哈夫曼编码总长。1<=n,m,ai<=10^5。 【算法】哈夫曼树+莫队+分块 【哈夫曼树】哈夫曼树又称最优构造树,n个数字的哈夫曼树是含有n个给定权值叶子的点权路径和最小的二叉树。 阅读全文
posted @ 2018-04-16 14:50 ONION_CYC 阅读(442) 评论(0) 推荐(0)
摘要:【题意】给定n个节点的树,每个节点有一个数字ai,m次操作:修改一个节点的数字,或询问一条树链的数字集合的mex值。n,m<=5*10^4,0<=ai<=10^9。 【算法】树分块+带修改莫队算法 【题解】和【BZOJ】3052: [wc2013]糖果公园 树分块+待修改莫队算法差不多。 区别在于如 阅读全文
posted @ 2018-03-16 13:35 ONION_CYC 阅读(280) 评论(0) 推荐(1)
摘要:【题意】给定n个数字,m次操作,每次询问区间不同数字的个数,或修改某个位置的数字。n,m<=10^4,ai<=10^6。 【算法】带修改的莫队算法 【题解】对于询问(x,y,t),其中t是前面的修改次数,所有修改记录改前和改后。 首先按belong[x],然后按belong[y],最后按t排序。(块 阅读全文
posted @ 2018-03-16 09:10 ONION_CYC 阅读(242) 评论(0) 推荐(0)
摘要:【题目】#58. 【WC2013】糖果公园 【题意】给定n个点的树,m种糖果,每个点有糖果ci。给定n个数wi和m个数vi,第i颗糖果第j次品尝的价值是v(i)*w(j)。q次询问一条链上每个点价值的和或修改一个点的糖果ci。n,m,q<=10^5。 【算法】树分块+带修改莫队算法 【题解】参考:W 阅读全文
posted @ 2018-03-15 13:36 ONION_CYC 阅读(434) 评论(0) 推荐(0)
摘要:【题意】给定长度为n的排列,m次询问区间[L,R]的最长连续值域。n<=50000。 【算法】莫队算法 【题解】考虑莫队维护增加一个数的信息:设up[x]表示数值x往上延伸的最大长度,down[x]表示数值x往下延伸的最大长度。 增加一个数x时,up[x]=up[x+1]+1,down[x]=dow 阅读全文
posted @ 2018-03-14 18:58 ONION_CYC 阅读(634) 评论(1) 推荐(4)
摘要:【题意】给定n个数字ai,每次询问一个区间中随机抽选两个数字,数字相同的概率,以分数最简形式输出。n,ai<=50000。 【算法】莫队算法 【题解】参考:莫队……讲稿? by Foreseeable 使用莫队算法的关键在于维护区间信息的增减。 对于区间[L,R],令其中数字i的出现次数为xi,则a 阅读全文
posted @ 2018-02-12 17:56 ONION_CYC 阅读(285) 评论(0) 推荐(0)
摘要:【平衡树】★平衡树 by onion_cyc 【莫队算法】 问题:给定长度为n的序列和m个区间询问,支持快速增减相邻元素维护区间信息。 将询问按左端点分块,块大小为$Q=\frac{n}{\sqrt m}$,块内按右端点排序。 然后依次回答询问,需要O(1)从(l,r)转移到(l,r+1),(l,r 阅读全文
posted @ 2017-03-25 17:10 ONION_CYC 阅读(849) 评论(0) 推荐(0)
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2144) 评论(0) 推荐(6)