随笔分类 -  数据结构 CDQ分治

摘要:【题意】给定n台在时间di可以买入的机器,pi买入,可在任意时间ri卖出,买入和卖出之间的持有时间每天产生gi金钱,任意时间至多持有一台机器。给定初始钱数c和总天数T,求最大收益。n<=10^5。 【算法】动态规划+斜率优化(CDQ分治) 【题解】机器按di排序,添加一台时间为T+1的机器,令f[i 阅读全文
posted @ 2018-01-09 19:08 ONION_CYC 阅读(362) 评论(0) 推荐(1) 编辑
摘要:【题意】初始资金s,有两种金券A和B,第i天,买入时将投入的资金购买比例为rate[i]的两种股票,卖出时将持有的一定比例的两种股票卖出,第i天股票价格为A[i],B[i],求最大获利。n<=100000。 【算法】动态规划+斜率优化(CDQ分治) 【题解】为了最大获利,每次交易一定是全部买进和全部 阅读全文
posted @ 2018-01-08 14:59 ONION_CYC 阅读(278) 评论(0) 推荐(0) 编辑
摘要:【题意】给定1~n的排列,m次操作每次删除一个数,求每次操作前的逆序对数。n<=10^5,m<=50000。 【算法】CDQ分治+树状数组 【题解】先树状数组求逆序对,然后统计每次删除的逆序对数。 每个数字及其坐标构成一个二维坐标,逆序对就是两个相对位置在左上右下的点,那么删除一个点会减少的逆序对就 阅读全文
posted @ 2018-01-06 20:49 ONION_CYC 阅读(267) 评论(0) 推荐(1) 编辑
摘要:【题意】三维偏序,给定n个点(x,y,z),求每个点和(0,0,0)组成空间中的点数,有重点。1<=x,y,z<=2*10^5,1<=n<=10^5。 【算法】CDQ分治+树状数组 【题解】CDQ算法知识 三维偏序,一维排序扫描线(x),一维树状数组前缀和(y),一维CDQ分治(z作为时间维)。 1 阅读全文
posted @ 2017-12-18 22:06 ONION_CYC 阅读(179) 评论(0) 推荐(1) 编辑
摘要:【题意】n*n的矩阵,初始值为0(题面有误),m次操作,增加一个格子的权值,或查询子矩阵和。n<=2*10^6。(m应该较题面所述偏大)。 【算法】CDQ分治(算法知识见数据结构) 【题解】三维偏序,一维排序扫描线(x坐标),一维树状数组前缀和(y坐标),一维CDQ分治(操作时间)。 每个矩阵查询差 阅读全文
posted @ 2017-12-15 14:43 ONION_CYC 阅读(303) 评论(0) 推荐(0) 编辑
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2109) 评论(0) 推荐(6) 编辑