随笔分类 - OJ&Competition——BZOJ
摘要:【传送门:BZOJ2190】 简要题意: 给出一个有n*n个点的图,求出从左下角的点能够无障碍连接的点数 题解: 就稍微想了一下下 首先无障碍说明构成的直线上没有其他点,同时也说明当前被连接的点的纵距离/横距离为最简分数(可以用什么相似三角形之类的证明一下啦) 然后这道题就转化成求1到n-1中不同的
阅读全文
摘要:【传送门:BZOJ4514】 简要题意: 给出n种数a[i]和每种数的个数b[i],再给出c[i](1<=i<=n),如果a[i]和a[j]能配对当且仅当a[i]%a[j]==0&&a[i]/a[j]为质数,并且i和j配对的价值为c[i]*c[j],要求在总价值不小于0的情况下,求出最大配对数 题解
阅读全文
摘要:【传送门:BZOJ2748】 简要题意: 给出初始音量和能承受的最大音量,共有n首歌,每首歌可以增加或减少c[i]的音量,求出n首歌后的最大音量 题解: DP水题 设f[i][j]为第i首歌时能否达到j的音量,然后。。这么水就不用解释了吧 参考代码:
阅读全文
摘要:【传送门:BZOJ2431】 简要题意: 求出一个有n个1到n的自然数的数列中有k个逆序对数的数列数 题解: DP 设f[i][j]为前i个数有j个逆序对数的数列数 因为插入前i-1个数的时候方案已经得出了,我们需要插入第i个数获得新的一些序列。因为i比前面任何一个数都要大,所以插在第几位,就会比后
阅读全文
摘要:【传送门:BZOJ3289】 简要题意: 给出n个数,有m个询问,每个询问输入l,r,求出l到r中的所有数通过与相邻数交换变为上升序列的交换次数 题解: 一开始想用在线算法做 想不出来就用离线了 就想到用莫队 然后对于操作的继承,发现: ①在一列数的后面添加一个数,逆序对数会增加数列中比它大的数的个
阅读全文
摘要:【传送门:BZOJ1103】 简要题意: 给出一棵树,树上的根节点为1,一开始所有的边的边权都为1,给出两种操作: 1.M x求出x点到根节点的边权和 2.A x y表示x到y的这条边的边权变为0 题解: 树链剖分裸题 把题意简要提取之后就变成裸题了。。 没什么好讲 参考代码:
阅读全文
摘要:【传送门:BZOJ3993】 简要题意: 给出n个机器人,防御值为A[i],有m个武器,每个武器每秒会有B[i]的伤害,武器能打到一些机器人,求出最小的时间消灭所有机器人 题解: 二分+网络流 二分时间(假设为ans),然后st连向武器i,流量为B[i]*ans,如果武器能打到机器人,则武器连向机器
阅读全文
摘要:【传送门:BZOJ3155】 简要题意: 给出一个序列a[i],s[i]表示a[1]到a[i]的和,ss[i]表示s[1]到s[i]的和,对于这个序列有两种操作: 1.Query x,输出ss[x] 2.Modify x d,将a[x]改为d 题解: 本来想用树状数组,结果写炸了 还是老老实实写线段
阅读全文
摘要:【传送门:BZOJ1458】 简要题意: 给出一个n*m的矩阵,矩阵上的点可以放置至多1个士兵,矩阵上有些点是不能放士兵的,给出每一行的约束条件L[i]表示第i行至少要有L[i]个士兵,和每一列的约束条件C[i],求出最少放置多少个士兵使得满足所有约束条件 题解: 最小割 将L[i]和C[i]全部加
阅读全文
摘要:【传送门:BZOJ2429】 简要题意: 给出n只猴子以及n只猴子的跳跃距离,给出m棵树以及m棵树的坐标,每只猴子只能跳向与自己所在的树的欧几里得距离<=自己的跳跃距离的树,求出有多少只猴子能够通过跳跃到达所有的树 题解: 最小生成树有个定义就是最小生成树中的最大边一定最小,所以用最小生成树来做 将
阅读全文
摘要:【传送门:BZOJ3676】 简要题意: 给出一棵树,树上的边有权值(可正可负),对这棵树有5种操作: 1.SUM x y求出x点到y点所经过的边权和 2.MAX x y求出x点到y点所经过的边的最大边权 3.MIN x y求出x点到y点所经过的边的最小边权 4.C x y将输入的第x条边的边权改为
阅读全文
摘要:【传送门: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的后继(后继定义为大于
阅读全文

浙公网安备 33010602011771号