上一页 1 2 3 4 5 6 ··· 16 下一页
摘要: Description 【HAOI2008】硬币购物 给定4种硬币的价值。若干组询问,每次给出4种硬币的数量和要购买的花费,求恰好购买的方案数 Solution 背包dp计数+容斥 如果不考虑硬币数量的限制,那么这个问题就是完全背包方案数问题,一遍dp就可以解决 现在加上数量的限制,那么合法方案数就 阅读全文
posted @ 2019-08-20 16:25 AD_shl 阅读(213) 评论(0) 推荐(0) 编辑
摘要: Description UVa#11806 在一张$n\times m$的网格图中放k个人,要求第一行第一列最后一行最后一列都必须放人,每个人都必须放,同一位置只能有一个人 求方案数对1e6+7取模的结果 Solution 容斥原理+状压 由于非法的方案数十分好求,所以我们考虑用总数-非法方案数来求 阅读全文
posted @ 2019-08-20 15:24 AD_shl 阅读(201) 评论(0) 推荐(0) 编辑
摘要: Description UVa#10325 给定n和m个数,求1~n中不被这m个数中任意一个数整除的数的个数 Solution 容斥原理 假设现在求1~n中被这a,b中任意一个数整除的数的个数 这个区间中能被a整除的数的个数是$\lfloor\frac{n}{a}\rfloor$ 同理,能被b整除的 阅读全文
posted @ 2019-08-20 14:28 AD_shl 阅读(331) 评论(0) 推荐(0) 编辑
摘要: Description 给定若干个区间,每个区间的权值是该区间包含整数的个数,选出任意个不相交的区间使得权值和最大 Solution dp+二分查找 定义状态$f[i]$表示前$i$个区间的最大值是多少 那么我们可以将区间排序后二分找到离当前区间最近的区间 我们的决策有两种: 如果能找到上述区间,那 阅读全文
posted @ 2019-08-20 12:13 AD_shl 阅读(346) 评论(0) 推荐(0) 编辑
摘要: Description 维护一个数列的如下操作: 在某个位置后插入一段数列 在某个位置后删除一段数列 将连续的一段数列修改为某个值 将一段数列翻转 求一段数列的和 求整个数列的最大子段和 Solution 魔鬼Splay题 用Splay维护序列,以下标为权值建树。 如果插入一段序列,我们就将这段序列 阅读全文
posted @ 2019-08-18 16:54 AD_shl 阅读(253) 评论(0) 推荐(0) 编辑
摘要: Description 给定一棵树,求它的最小点权覆盖集,其中允许强制某个点选或不选 Solution ddp用LCT维护 明确一个关系式:最小点权覆盖集=全集-最大点权独立集 那么n≤2000的暴力就很简单了,暴力修改,然后求最大点权独立集就好了(我在考场上就是这么写的) 关于正解,我采用的是动态 阅读全文
posted @ 2019-08-17 11:20 AD_shl 阅读(327) 评论(0) 推荐(0) 编辑
摘要: Description 给定一棵树,点带点权,允许修改点权,求每次修改之后树的最大独立集 Solution ddp用LCT维护 前置知识(静态树的最大独立集问题) 首先,我们要明确静态树的最大独立集的解法 定义$f[i][0/1]$表示在以$i$为根的子树中,该节点选/不选的最大权值,那么有状态转移 阅读全文
posted @ 2019-08-16 17:37 AD_shl 阅读(331) 评论(0) 推荐(0) 编辑
摘要: Description 给定一张无向图,边有a,b两种边权,求一条1~n的路径,使得路径上a最大值与b最大值之和尽可能小 Solution LCT维护生成树 将边按照a从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有联通,那么直接在LCT上连边即可 如果当前这条边的两个端点已经连通, 阅读全文
posted @ 2019-08-15 09:44 AD_shl 阅读(222) 评论(0) 推荐(0) 编辑
摘要: Description 给定一张n个点,m条边的无向图,求出边权最大值和最小值差值最小的生成树 Solution LCT+并查集 按照最小生成树的思路,先将边按照边权从小到大排序,然后顺序考虑每一条边 如果当前这条边的两个端点没有连通,那么直接连通 如果两个端点已经连通,我们加上这条边会形成一个环, 阅读全文
posted @ 2019-08-14 20:38 AD_shl 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Description 给定n个点的树,每个点有点权,维护如下操作: 将某一条链上的点的点权加或者乘一个数 将原有的一条边删除,加入一条新边,并保证操作完之后是一棵树 询问某一条链上所有点权之和 Solution LCT维护 每一个点维护如下信息:父亲,儿子,点权,子树大小,子树的点权和,翻转标记, 阅读全文
posted @ 2019-08-14 11:06 AD_shl 阅读(164) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 16 下一页