摘要:
CDQ分治 cdq分治与其说是算法,不如说是一种解决问题的思想或方式。与常规分治对比,常规分治是通过解决左右两个子区间的问题,合并得到大区间问题的解。但cdq分治通过处理左区间对右区间的影响来得到大区间的解。一般来说,cdq分治可以顶替一层数据结构,而且常数小,空间开销也小。缺点是需要离线。 离线为 阅读全文
摘要:
最远 Manhattan 距离 处理问题 K维空间下的n个点,求两点最远曼哈顿距离 思路 以二维为例介绍算法思想,即可类推到k维。对于P,Q两点,曼哈顿距离|Px Qx|+|Py Qy|可看作(±Px±Py) (±Qx±Qy),不难发现Px应该与Qx的符号相同,Py与Qy符号相同,因此共四种情况。这 阅读全文
摘要:
线性基 本文在学习了博客 "线性基学习笔记" ,总结自己的一些理解 处理的问题 对于一组数,通过构造一组线性无关的基底来求解异或最值、异或第k小值以及某值是否可得到的问题。 构造方法 维护一组线性基:对于每一个给定的数,对其二进制表示,从高位到低位扫描,当发现第x位是1时,若当前最高位为x的基底(即 阅读全文
摘要:
"Codeforces 869E. The Untended Antiquity" 题意: 在一张mxn的格子纸上,进行q次操作: 1,指定一个矩形将它用栅栏围起来。 2,撤掉一个已有的栅栏。 3,询问指定两点之间是否连通(即能否从其中一点不翻越栅栏走到另一点) 思路: 对于操作1,将给定的矩形哈希 阅读全文
摘要:
"Codeforces 955C Sad powers" 题意 q组询问,每次询问给定L,R,求[L,R]区间内有多少个数可以写成ap的形式,其中a 0,p 1,1 ≤ L ≤ R ≤ 1e18。 思路 对于p 2的情况,由于随着指数p的增大,小于1e18的p次幂的数量会急剧减小,总数量的级别在1e 阅读全文
摘要:
看了网上三四篇博客,学习了AVL树维护平衡的方式。但感觉他们给出的代码都有一点瑕疵或者遗漏,懂得了思想之后,花了一些时间把他们几篇的长处结合起来,没有使用指针,实现了一下。每个小逻辑功能都抽象成了函数,应该比较好理解,代码逻辑看起来也比较清晰。 下面给出主要的功能插入和删除 。至于其他一些没有动到树 阅读全文
摘要:
"Educational Codeforces Round 53 E. Segment Sum" 题意: 问[L,R]区间内有多少个数满足:其由不超过k种数字构成。 思路: 数位DP裸题,也比较好想。由于没考虑到前导0,卡了很久。但最惨的是,由于每次求和的时候需要用到10的pos次幂,我是用提前算好 阅读全文
摘要:
之前做后端开发的时候,因为都是很小的功能或项目,所以基本都是手写原生php。不过这样的开发效率在面对稍大一些的项目的时候是比较低的。因此花时间学习一下php相关框架CI的使用。 MVC架构 在学习CI框架之前,先了解了一下MVC。它是一种设计典范,CI框架也是基于此的。 MVC全名是Model Vi 阅读全文
摘要:
"Codeforces 959D. Mahmoud and Ehab and another array construction task" 题意 构造一个任意两个数都互质的序列,使其字典序大等于a序列且最小。 思路 其实这题乱搞就行了。用到了之前HDdalao教我的 "素因子分解" 方法,可以快 阅读全文
摘要:
"Codeforces 55D. Beautiful numbers" 题意 求[L,R]区间内有多少个数满足:该数能被其每一位数字都整除(如12,24,15等)。 思路 一开始以为是数位DP的水题,觉得只需要记录搜到当前位出现了哪些数字作为状态即可,明显是假算法...感觉这是一道数位DP好题。可以 阅读全文