02 2018 档案
摘要:【传送门:BZOJ3676】 简要题意: 给出一个字符串,每一个回文子串的价值为这个回文子串出现的次数*回文子串的长度,求出价值最大的回文子串的价值 题解: %%%又是一道新算法 本来想用AC自动机+马拉车搞一下的,结果不会 hzwer大佬的题解用了后缀自动机+马拉车 但是后缀自动机太难了 这时引出
阅读全文
摘要:【传送门:BZOJ2424】 简要题意: 给出n天所需要的货物和每一天的货物的单价,可以多买一些货物存放在容量为s的仓库里,每一个货物存放一天需要m的花费,求出满足n天所需的货物的最小花费 题解: 先写了个DP方程:f[i][j]=min(f[i][j],f[i-1][k]+d[i]*(j+u[i]
阅读全文
摘要:【传送门:BZOJ2435】 简要题意: 给出n个点,n-1条边,显然是一棵树,每条边有权值,而建设每条边的代价是这条边的权值乘上这条边左边的点数减去右边的点数的绝对值 求出总代价 题解: 很水 我们默认点1为树的根,DFS将每个点遍历一遍,求出每个点的深度和子树点数 然后遍历一遍所有的边,ans+
阅读全文
摘要:【传送门:BZOJ1266】 简要题意: 给出一个有n个点,m条无向边的图,每条边有长度和摧毁的代价,首先求出从1到n的最短路径,然后要求花费最小代价摧毁一些边,使得图中1到n的最短路径变长,求出最小代价 题解: 求最短路径,简直。。好吧,SPFA或floyd搞定 求最小代价,我们可以想一下,先把所
阅读全文
摘要:【传送门:BZOJ1083】 简要题意: 一个有n个点,m条无向边的图,每条无向边都有花费,请求出最少的边使得图变成连通图,并且使得这些边中的最大花费最小,并求出最大花费 题解: 最小生成树 作为一个连通图,想都不用想第一个输出就是n-1(这个有点弱智。。) 然后直接最小生成树,然后记录最大边的花费
阅读全文
摘要:【传送门:BZOJ1218】 简要题意: 给出一个平面直角坐标系,坐标系上有许多点,每个点都有相应的价值,现有一个炸弹,范围为一个R*R的正方形并且边与x轴或y轴平行,范围内的点将会被炸掉,正方形边上的点不会被炸掉,请问能炸掉的最大价值 题解: 肯定不能单纯的找出每个可能的正方形,然后找这个正方形中
阅读全文
摘要:【传送门:BZOJ2438】 简要题意: 有n个人,其中有一个人是杀手,现在作为警察的你要去找到杀手,那么你就要知道每个人的身份 知道一个人的身份可以直接询问这个人,或者询问认识这个人的人 如果当前询问的人是杀手,那么你就死了,如果不是,那么这个人会告诉你他认识的所有人的身份 请问找出杀手并保证自身
阅读全文
摘要:【传送门:BZOJ2330】 简要题意: 有n个小朋友,每一个人都想吃糖,但是有些小朋友之间有攀比风(不要学习),比如说A要比B吃的糖多之类的 给出k个攀比关系,每个关系输入t,x,y,有5种关系: t=1 x与y吃相同数量的糖果 t=2 x吃的糖果少于y吃的糖果 t=3 x吃的糖果不少于y吃的糖果
阅读全文
摘要:【传送门:BZOJ3224】 简要题意: 有一个数列,有6种操作: 1. 插入x数 2. 删除x数(若有多个相同的数,因只删除一个) 3. 查询x数的排名(若有多个相同的数,因输出最小的排名) 4. 查询排名为x的数 5. 求x的前驱(前驱定义为小于x,且最大的数) 6. 求x的后继(后继定义为大于
阅读全文
摘要:【传送门:BZOJ1606】 简要题意: 给出一个有容量的背包,和许多物品,物品有体积,请问最多能填充多大的容量 题解: 经典背包DP,裸题,不说话 参考代码:
阅读全文
摘要:【传送门:BZOJ1293】 简要题意: 有一条很长很长的线段,线段上有很多个点,每个点上有若干个彩珠(也可以没有),彩珠有颜色,取出最短的线段长,使得这条线段上有所有颜色的彩珠 题解: 一开始空间开太大了,搞得T了好几遍 然后优化了一下下 记录每个彩珠的位置和颜色,然后把彩珠按照位置排一遍,然后用
阅读全文