上一页 1 2 3 4 5 6 7 8 ··· 21 下一页
摘要: 首先题目等价于求出满足运行二分程序后最后r=k的排列种数。 显然对于这样的二分程序,起作用的只有mid点,mid处的值决定了接下来要递归的子区间。 于是可以一遍二分求出有多少个mid点处的值<=m,有多少个mid点处的值>m,不妨设为x和y, 那么由组合数学可以推出最后的答案是 C(x,m)*C(y 阅读全文
posted @ 2017-06-14 18:24 free-loop 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 题意:有两个长度为n的排列p和s。要求通过交换使得p变成s。交换 pi 和 pj 的代价是|i-j|。要求使用最少的代价让p变成s。 考虑两个数字pi和pj,假如交换他们能使得pi到目标的距离减少,pj到目标的距离减少。那么应该交换他们,这是一个必要的操作,也是答案的下界。 如果每一次都能找到这样的 阅读全文
posted @ 2017-06-14 13:12 free-loop 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一张完全图,所有的边的边权都是 y,现在给出图的一个生成树,将生成树上的边的边权改为 x,求一条距离最短的哈密顿路径。 先考虑x>=y的情况,那么应该尽量不走生成树上的边,如果生成树上有一个点的度数是n-1,那么必然需要走一条生成树上的边,此时答案为x+y*(n-2). 否则可以不走生成树 阅读全文
posted @ 2017-06-09 23:05 free-loop 阅读(636) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一棵无根树,每个节点有一个权值,现在要让dfs序的前k个结点的最小值最大,求出这个值。 考虑二分答案,把>=答案的点标记为1,<答案的点标记为0,现在的任务时使得dfs序的前k个节点都为1. 考虑树形DP。 用dp[u]表示从节点u开始在子树中进行dfs最多可以经过多少个为1的结点,显然, 阅读全文
posted @ 2017-06-09 11:36 free-loop 阅读(401) 评论(0) 推荐(1) 编辑
摘要: 题意:现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正 阅读全文
posted @ 2017-06-02 15:09 free-loop 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题意:求n-五边形的生成树个数。 结论题,答案为4*n*5^(n-1). 首先中心的n边形一定需要切掉一个边,C(1,n). 然后每个五边形都切一个边,C(1,4)*5^(n-1). 于是答案就是4*n*5^(n-1). # include <cstdio> # include <cstring> 阅读全文
posted @ 2017-06-02 13:40 free-loop 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个n*m的01矩阵,以及k个a*b的01矩阵,问每个是否能匹配原来的01矩阵。 由于k个矩阵的长和宽都是一样的,所以把原矩阵的所有a*b的子矩阵给hash出来。然后依次查找是否存在即可。 map被卡,用lower_bound即可。 # include <cstdio> # include 阅读全文
posted @ 2017-06-02 13:28 free-loop 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 怎么题解都是用费用流做的啊。。。用单调队列多优美啊。 题意:某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为零,问如何安排这n个月订购计划,才能使成本最低?每月月初订购,订 阅读全文
posted @ 2017-06-01 17:13 free-loop 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 刷个清新的数据结构题爽一爽? 题意: 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个节点 x 到根的路径中所有点的点权和。 阅读全文
posted @ 2017-05-31 22:42 free-loop 阅读(959) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一对数a,b,你可以任意使用(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问你能不能拼出另一个向量(x,y)。 实际上前四个向量能拼出(ma,nb)(m%2=n%2).后四个向量拼出(xb,ya)(x% 阅读全文
posted @ 2017-05-25 22:29 free-loop 阅读(205) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 21 下一页