摘要:
Mark一下实用的东西 阅读全文
摘要:
作为本校的竞赛生,我必须为我大OJ打call caioj,小白菜oj,顾名思义,就是为刚踏进OI的“小白菜”们准备的网站,里面包含了许多专题内容,各种模版和讲解视频 而且对于刚学习C++的同学,更有帮助,OJ题目的第一版就已经为这些同学展现了C++的魅力与学习方式,让各位“小白菜”能够轻松的入门 你 阅读全文
摘要:
GD弱校的退役生 滚回去搞文化课了 阅读全文
摘要:
【传送门:BZOJ3170】 简要题意: 给出n个点的坐标,规定两个点的距离=max(|x1-x2|,|y1-y2|) 要求选出一个点,使得这个点到所有点的距离和最小 题解: 切比雪夫转换例题 将一个点(x,y)的坐标变为(x+y,x−y)后 原坐标系中的切比雪夫距离=新坐标系中的曼哈顿距离 求最小 阅读全文
摘要:
【传送门:BZOJ2286】 简要题意: 给出一棵根为1的树,树边有边权 有m个询问,每个询问输入k个点的编号,求出在使得这k个点不能与根节点连通的情况下,总共要删掉的边权的总和最小,求出最小总边权 题解: 假如只有一个询问,那么我们可以直接dp 对于树上的点x,转移分为两种情况 1.断开自己与父亲 阅读全文
摘要:
【传送门:BZOJ1190】 简要题意: 给出n个物品以及背包的总容量W,每个物品有一个价值v和体积w,保证w=a*2b(a<=10且b<=30) 求出最大价值 题解: 直接01背包显然爆炸 实际上我们可以将b相同的物品分成一组,f[i][j]表示b=i的所有物品,组成j*2b为总体积所能得到的最大 阅读全文
摘要:
【传送门:BZOJ1486】 简要题意: 给出一张n个点m条边的连通图,求出这个图中,所有环中,环上的边权和/环上的点数的最小值 题解: 直接01分数规划二分答案,然后类似与SPFA的dfs判负环就行了 参考代码: 阅读全文
摘要:
【传送门:BZOJ5285】 简要题意: 懒惰成性 PS:and和or运算符在这道题里面是相同优先级的 题解: 显然&1或者|0都是没有意义的操作 我们把运算符也当成01,&表示1,|表示0 这样子对于一个运算式,就可以转成一个01字符串了 我们可以一列一列处理值 若某一列的最终值为1,则需要满足最 阅读全文
摘要:
【传送门:BZOJ3697】 简要题意: 给出一棵n个点的树,树上的边权要么为0,要么为1 要求找出有多少条路径,满足: 1.路径上0的数量等于1的数量 2.能够在这条路径上找到一个点(不包括起点和终点),使得起点到这个点,终点到这个点所构成的两条路径都满足条件1 题解: 点分治 对于一个分治中心, 阅读全文
摘要:
【传送门:BZOJ1552&BZOJ3506】 简要题意: 给出一个长度为n的序列,现在要将它们进行排序,排序的操作为: 如果当前是第i次排序,则先找到当前序列中的最i小值所在位置x(如果有多个,则找到一开始给出序列顺序中排在最前面的数),然后将第i到第x的位置上的数都翻转 求出每次操作中x的值 题 阅读全文
摘要:
【传送门:BZOJ1316】 简要题意: 给出一棵n个点的带边权有根树 有q个询问,每个询问输入len,判断在树上是否存在长度为len的路径 题解: 直接点分治,用set保存链的长度就行了 参考代码: 阅读全文
摘要:
【传送门:BZOJ3307】 简要题意: 给出一棵n个点的树,有m个操作 每个操作输入x,y,z,表示x到y的路径上的所有点都放一个编号为z的物品 最后输出每个点存放最多的物品是哪个(如果有存放数量相同的物品,输出编号小的) 题解: 对于每种操作相当于区间增值,那就树上差分,而因为物品不同,所以每个 阅读全文
摘要:
【传送门:BZOJ3942】 简要题意: 给出一个母串和一个模式串,当前一个一个地将母串插入到一个字符串中,如果在插入的过程中,当前字符串以模式串为后缀,则将这个模式串从字符串中删除,然后继续插入 求出最后得到的字符串 题解: KMP,先求模式串的p数组 然后直接一个一个地插入母串,实时更新q数组就 阅读全文
摘要:
闲谈: 最后一个星期还是不浪了,做一下模拟赛(还是有点小虚) #30.candy 题目: 有一个人想买糖吃,有两家商店A,B,A商店中第i个糖果的愉悦度为Ai,B商店中第i个糖果的愉悦度为Bi 给出n,W,表示每个商店都有n个糖果且两个商店的每个糖果的价格都是W 求出最大的min(Sa,Sb)-D* 阅读全文
摘要:
【传送门:51nod-1462】 简要题意: 给出一棵n个点的树,每个点有两个权值v,t 有Q个操作,有两种操作: 1.将x到根上的路径上的点的v值都加上d 2.将x到根上的路径上的点的t值都加上每个点的v值*d 最后求出所有点的t值 题解: 显然可以直接树链剖分做,不过lazy标记下放真麻烦,因为 阅读全文
摘要:
【传送门:51nod-1363】 简要题意: 给出一个数n,求出1到n的数与n的最小公倍数的和 多组数据 题解: 理所当然推柿子 原题相当于求$\sum_{i=1}^{n}\frac{i*n}{gcd(i,n)}$ 先枚举d=gcd(i,n),然后化简得到$$n*\sum_{d|n}\sum_{i= 阅读全文