随笔分类 - DP
状压 背包 区间 环形 树形 数位
摘要:Description 对于一个n*m的地图,每个格子有五种可能:平地,障碍物,出口,入口和神器。一个有效的地图必须满足下列条件: 1.入口,出口和神器都有且仅出现一次,并且不在同一个格子内。 2.入口,出口和神器两两都是连通的。 连通性判断为四连通。 现在给出一个n*m的地图,其中一些格子的状态已
阅读全文
摘要:1415: [Noi2005]聪聪和可可 Description Input 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数。 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号。 接下来E行,每行两个整数,第i+2行的两个整数A
阅读全文
摘要:1076: [SCOI2008]奖励关 Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的宝物以后也不能再吃)。 宝物一共有n种,系统每次抛出这n种宝物
阅读全文
摘要:Description 对于一个数列,其混乱度定义为连续相等的数的段数。如:1 2 1 2 1,其混乱度为5,而:1 2 2 3 3,其混乱度为3。现给出一个数列,允许取出k个数并允许插入数列中的任意一个位置,要求该数列的混乱度尽量小,并求出这个最小混乱度。 对于100%的数据:1 <= k <=
阅读全文
摘要:Description 给你一棵二叉树,每个点有点权(整数),你可以改变某些点的点权(只能改成整数),使这棵树满足二叉搜索树的性质,求满足条件最少的修改的点的数目。 n <= 1e5 Solution 一看到二叉搜索树,就要做中序遍历,得到序列a 要使修改的点的数量最少,即保留的最多原来的点。 如果
阅读全文
摘要:4521: [Cqoi2016]手机号码 Description 人们选择手机号码时都希望号码好记、吉利。比如号码中含有几位相邻的相同数字、不含谐音不 吉利的数字等。手机运营商在发行新号码时也会考虑这些因素,从号段中选取含有某些特征的号 码单独出售。为了便于前期规划,运营商希望开发一个工具来自动统计
阅读全文
摘要:4380: [POI2015]Myjnie Description 有n家洗车店从左往右排成一排,每家店都有一个正整数价格p[i]。有m个人要来消费,第i个人会驶过第a[i]个开始一直到第b[i]个洗车店,且会选择这些店中最便宜的一个进行一次消费。但是如果这个最便宜的价格大于c[i],那么这个人就不
阅读全文
摘要:4726: [POI2017]Sabota? Description 某个公司有n个人, 上下级关系构成了一个有根树。其中有个人是叛徒(这个人不知道是谁)。对于一个人, 如果他下属(直接或者间接, 不包括他自己)中叛徒占的比例超过x,那么这个人也会变成叛徒,并且他的所有下属都会变成叛徒。你要求出一个
阅读全文
摘要:4197: [Noi2015]寿司晚宴 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。 在晚宴上,主办方为大家提供了 n−1 种不同的寿司,编号 1,2,3,…,n−1,其中第 i 种寿司的美
阅读全文
摘要:题意: 有一些战士,他们有战斗力和讨厌的人,选择一些战士,使他们互不讨厌,且战斗力最大,范围1e6 分析: 把战士看作点,讨厌的关系看作一条边,连出来的是一个基环树森林。 对于一棵基环树,我们找出环,选择环上一条边(u,v)。 那么只需考虑两种情况:1、u不选,v任意;2、v不选,u任意。答案取ma
阅读全文
摘要:题意: 有一个水槽,边界的两块板是无穷高的,中间有n-1块隔板(有高度),现有一些条件(i,y,k),表示从左到右数的第i列中,在高度为(y+0.5)的地方是否有水(有水:k = 1),问最多能同时满足多少个条件。范围:1e5 分析: 考虑按隔板的高度从小到大合并隔板相邻的两列,合并的时候新开一个节
阅读全文
摘要:题解 这题是一道非常好的插头题,与一般的按格转移的题目不同,由于m很大,要矩阵乘法,这题需要你做一个按列转移的插头DP。 按列转移多少与按格转移不同,但大体上还是基于连通性进行转移。每一列只有右插头是对下一列的转移有影响的,那么我们只需要记录每一列的右插头的连通情况,用最小表示法表示为当前列的状态。
阅读全文
摘要:题意: 有一个N*M的图,每个格子有独立概率p变成障碍物。你要从迷宫左上角走到迷宫右下角。求每个格子成为一个有解迷宫中的障碍物的概率。N <= 5,M <= 6 分析: 这真是一道好题,网上几乎没有任何关于四连通的插头DP的任何资料,这道题目很好地反映了这类问题。 四连通中,只要你存在了右插头,必然
阅读全文
摘要:简单路径的题目,其实就是在状态后面多记了有多少个独立插头。 分类讨论独立插头: 1、只存在上插头或者左插头,可以选择作为独立插头。 2、都不存在上插头和左插头,选择作为独立插头的同时要标号为新的连通块。 换行时需特别注意,因为还有独立插头的判断,如果进行了换行操作,就会乱,特别是在不存在上插头和左插
阅读全文
摘要:这是一道经典的插头DP单回路模板题。 用最小表示法来记录连通性,由于二进制的速度,考虑使用8进制。 1、当同时存在左、上插头的时候,需要判断两插头所在连通块是否相同,若相同,只能在最后一个非障碍点相连;若不相同,则把这两个连通块连起来。 2、如果只存在左或上插头的时候,则要延续连通块。 3、若都不存
阅读全文
摘要:这是一道入门题,只需判断插头有无。 具体分为: 1、上插头和左插头都有 2、有上插头或有左插头 3、上插头和左插头都没有 用HASHMAP储存状态,具体有一些小技巧(见程序)。 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring>
阅读全文
摘要:题意 一个游戏里有k种装备,一开始等级为1,每打败一个怪兽,会随机掉落一件一种类型的装备,它的等级为[1,t+1]中的随机一个数,t为当前佩戴的类型的装备的等级,若掉落t+1等级的装备,就会佩戴该装备,否则不换,然后卖掉不要的装备,卖掉等级为i的装备(任意类型)得到金币i。问打n次怪兽之后的期望金币
阅读全文
摘要:题意 有两个栈分别有n和m个数,每次从任意栈中取出一个数,令k为不同输出序列的总数,其中第i种输出序列的产生方式有ai个,求Σai2。 n <= 500 分析 此题是关于ai2转换。咋一看此题好像很复杂,但巧妙转化ai2之后就变得极其简单。 ai2到底是什么呢?如果单纯把它当做一个值来看待,可能做不
阅读全文
摘要:题意: 一根数轴上有n只怪物,第i个怪物所在的位置为ai,另有m个特殊点,第i个特殊点所在的位置为bi。你可以对怪物进行移动,若两怪物相邻,那么你不能把他们分开,移动时要看作一个整体。你可以选择向左或向右移动,直到撞到怪物,移动的次数不限制。现在要求最大数量的呆在特殊点上的怪物。 n <= 1000
阅读全文
摘要:题意: 有一个栈,有n个数1~n按顺序插进栈中,但弹出顺序不定。另有m个限制,表示为a b,即数a必须在数b弹出之前弹出。问有多少种弹出的方案数。n <= 300,m <= 90000 分析 一开始看这题,怎样都没有头绪,画出模型也没看出什么东西来。 模拟一下进出栈,发现,若数x是最后弹出的,那么1
阅读全文

浙公网安备 33010602011771号