随笔分类 - hdu
摘要:题意: n个板,每个板有重量和强度w和s,还有PDV值(上面的总重量-该板的强度) 对于某种叠放方式,PDV的最大值为其代表值 求该值的最小值 考虑只有两个板的情况:a和b,很显然下面的比上面的容易损坏,所以下面的PDV大。假设a在上面,其PDV值 = pdvb = wa - sb。假设b在上面,其
阅读全文
摘要:题意: 维护一个栈,支持以下操作: 从当前栈顶加入一个0或者1; 从当前栈顶弹掉一个数; 将栈顶指针和栈底指针交换; 询问a[top] nand a[top-1] nand ... nand a[bottom]的值。 nand是这样定义的: ∙∙ 0 nand 0 = 1 ∙∙ 0 nand 1 =
阅读全文
摘要:题意:给你一棵树。q次询问,每次给你一些非关键点,其他的点都是关键点,让你输出树中既不是关键点,也不是关键点的lca的点的数量。 对每次询问的非关键点按照深度从深到浅排序,依次处理,最开始每个点受到的警告次数为零。如果一个点的儿子数-它受到的警告数量>=2(就是它能够从至少2个子树中各取一个关键点,
阅读全文
摘要:题意:一张n*m的网格图(n和m可以达到10^9),其中K个点是障碍物(不超过200个),问你没有被障碍物占据的点形成了几个连通块?并且输出各个连通块的大小。 容易证明,大小超过40000的连通块最多只有一个。于是可以从每个与障碍物邻接的非障碍点出发bfs,限制步数不超过40000,这样就可以找到所
阅读全文
摘要:题意:一个机器人在正方形迷宫的左上角,迷宫里有些格子有障碍物,每一步机器人会等概率地向能走的格子转移(包含自身)。问你无限长的时间之后,机器人处于矩形对角线的右下方的概率。 无限长时间意味着,起点没有了意义。只需统计右下方每个格子的贡献之和比上所有格子的贡献之和。 假设迷宫不是离散的,而是连续的,那
阅读全文
摘要:题意:一开始有1个物品,总价是1。你的一次操作可以要么使得物品数量+1,总价加上当前物品的单价。要么可以使得总价+1,物品数量不变。问你最少要几次操作从初始状态到达有x个物品,总价是y的状态。这里的y可以有小数点后的部分,会抹去。 如果x>y,显然无解。 因为不管怎样操作,物品的单价是单调不下降的。
阅读全文
摘要:题意:给你一个01矩阵,让你选择尽可能少的行数,使得这些行的并集能够覆盖到所有列。 DLX算法求解重复覆盖问题模板,使用估价函数进行剪枝。
阅读全文
摘要:题意: 维护一个数据结构,支持三种操作: ①在平面上(x,y)处添加一个颜色为c的点。 ②询问平面上(1,y1)-(x,y2)范围内,有多少种不同颜色的点。 ③清除平面上所有点。 颜色数量很少,对于每种颜色分别建立线段树,然后用线段树维护y坐标,对每个y坐标只存下来x坐标最小的点的x坐标,然后每次询
阅读全文
摘要:题意:给你一张有向图,求从1出发,回到1的欧拉回路数量。 先特判掉欧拉回路不存在时的情况。 看这个吧:http://blog.csdn.net/yuanjunlai141/article/details/76691680。 这是求有向图(以某个点为根的)生成外向树的方法。
阅读全文
摘要:题意:给定一个n次多项式f(x)的各项系数,让你求f(x-Σai)的各项系数。 http://blog.csdn.net/v5zsq/article/details/76780053 推导才是最关键的部分……我的数学推导能力很弱,比赛的时候很难推出来……尤其是累加变量交换顺序、换元这两个常用的技巧在
阅读全文
摘要:给你n个数,问你将它们取任意多个异或起来以后,所能得到的第K小值? 求出线性基来以后,化成简化线性基,然后把K二进制拆分,第i位是1就取上第i小的简化线性基即可。注意:倘若原本的n个数两两线性无关,也即线性基的大小恰好为n时,异或不出零,否则能异或出零,要让K减去1。 这也是线性基的模板。
阅读全文
摘要:部分引用自:http://blog.csdn.net/v5zsq/article/details/77255048 所以假设方程 x^2+x+1=0 在模p意义下的解为d,则答案就是满足(ai/aj) mod p = d的数对(i,j)的数量(i<j)。 现在把问题转化为解这个模意义下的二次方程。
阅读全文
摘要:题意:给你一个字符串和一个正整数K,让你输出恰好出现K次的子串的数量。 对后缀链接树进行dp预处理后,SAM每个点的endpos大小就是该点结尾的子串出现的次数,maxlen-minlen+1就是子串的数量,所以直接对endpos大小为K的点的(maxlen-minlen+1)求和即可。
阅读全文
摘要:看这个题解吧:http://blog.csdn.net/wubaizhe/article/details/77338332 代码里顺便把几个常用的线性筛附上了。 Key:1、gcd(i,j)==1利用莫比乌斯函数的性质进行转化。 2、变换求和符号的顺序。 3、发现,该式可以递推。 4、线性筛约数个数
阅读全文
摘要:题意:给你n个任务的开始时间和结束时间,一个机器同时最多执行一个任务,问你最少要几个机器。保证机器最少的前提下,问你每个机器的开动时间(最后一次关闭-第一次开启)之和最少是多少。 把这些线段画在数轴上,最大的重叠数就是最少要几个机器。 开动时间怎么算呢?第i个机器的开动时间其实就是(再也不需要>=i
阅读全文
摘要:一个舰队的目标状态如上图。红色是旗舰。然后给你初始局面,每一次决策可以把旗舰和其上一层或下一层的两个相邻的进行交换。如果能在20步内出解的话,输出最小步数;否则输出“too difficult”。 把每个方块当成0~5的数,整个状态正好可以压缩成1个21位的6进制数,恰好可以用long long存下
阅读全文
摘要:题意:给你一张简单无向图,问你1到n的次短路。注意,可以不是简单路径。 存个次短路板子,原理还是挺简单,直接看代码吧。然后这份代码还是个fread的示例用法。
阅读全文
摘要:n个半径为R的圆是否有公共部分,等价于询问是否存在一个半径小于R的圆,能覆盖所有n个圆的圆心。 对这n个点求最小圆覆盖即可。从网上扒了个随机增量法的代码。 这样算上二分,复杂度就是nlogn了。
阅读全文
摘要:题意:一棵n个结点的完全二叉树,初始i号结点的权值为i。有两种操作:单点修改;询问经过某个结点的路径中,权值和最大的路径的权值和是多少。 修改的时候,暴力修改到根节点的路径上的点的f(x)即可。 跟虚树的思想只是有点点像而已,实际上不是一个东西啦。 队友的代码:
阅读全文
摘要:题意:一棵树,每个点有个权值,m次询问,每次给你一条链和两个值a,b,问你这条链上权值在[a,b]之间的权值的和是多少。 std竟然是2个log的……完全没必要链剖,每个结点的主席树从其父节点转移过来,这样每个结点的主席树存储的就是它到根点的权值。 然后链询问,直接在主席树上作差,T[u]+T[v]
阅读全文

浙公网安备 33010602011771号
