关闭

[CF750G]New Year and Binary Tree Paths

题目大意一颗无穷个节点的完全二叉树,编号满足线段树分配。 求有多少条树上的简单路径编号和为s?结论从根节点到一个编号为x的节点,到根编号和为2x-bitcount(x)。 用归纳法证明。 我们尝试枚举这条简单路径两个节点到lca分别的距离为a和b,设lca为x。 首先一定有x∗(2a+1+2b+1−3)x*(2^{a+1}+2^{b+1}-3)的编号和。 然后我们尝试把x子树所有编号都去掉...
阅读(100) 评论(0)

n根号n解决在线无修区间逆序对问题

做法带log的分块相信大家都会,今天我们来讲讲不带log。 首先先离散化,这样值域就变成n了。 我们以根号为阈值分块,然后我们记A->B的含义是将A和B两个序列拼接在一起有多少逆序对两个元素一个来自A另一个来自B。 首先考虑如何求A->B,可以发现A和B的内部顺序是没有关系的,因此如果我们把A和B排好序了,运用归并即可线性求得A->B。 现在我们先把每个块排序,然后预处理一个位置到块头的逆序...
阅读(148) 评论(0)

健美猫

题目大意旋转序列s使得∑ni=1|si−i|\sum_{i=1}^n|s_i-i|最小做法大致思路是可以拆绝对值记录个数即贡献,顺着扫,对于一个位置有两个位置很关键。 (我都不知道我在说什么#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace...
阅读(112) 评论(0)

春思

题目大意求a^b的约数和。基础题分解出a的质因数即可,然后算等比数列和可以倍增。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; typedef long long ll; const int mo=9901; ll i,j,k,l...
阅读(86) 评论(0)

[LibreOJ β Round #4]求和

题目大意∑ni=1∑mj=1μ2((i,j))\sum_{i=1}^n\sum_{j=1}^m\mu^2((i,j))反演∑ni=1μ(i)∗∑n/id=1μ2(d)∗(n/id)∗(m/id)\sum_{i=1}^n\mu(i)*\sum_{d=1}^{n/i}\mu^2(d)*(n/id)*(m/id) 可以发现后面在容斥,结果是(n/i/i)∗(m/i/i)(n/i/i)*(m/i/i)...
阅读(145) 评论(0)

[LibreOJ β Round #4]框架

题目描述有一个n×m的矩形框架,但其中有些边被删除了。qmqmqm想知道剩余部分中还有多少完整的正方形。只有当一个正方形的每一条边均被保留下来,这个正方形才是完整的。做法先预处理每个位置往四个方向的最远扩展长度。 枚举一条对角线,正方形的两个相对端点在该对角线上。 一个点作为左上角有一定修改范围,一个点作为右下角也有一定查询范围,可以用树状数组维护。#include #inclu...
阅读(112) 评论(0)

[LibreOJ β Round #4]子集

题目大意给你一个集合,请选出一个子集,使得两两元素的gcd或分别+1后的gcd至少一个不等于1,最大化子集的大小。最大团看起来是个最大团模型,裸上random_shuffle+greedy可过。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace s...
阅读(94) 评论(0)

[LibreOJ β Round #4]多项式

题目大意构造一个不超过6w次的非0多项式,使得每项系数是非负数且小于k,并使得任意数x代入后模k=0。扩展欧拉定理我们知道了扩展欧拉定理。 那么可以直接构造x2∗ϕ(k)−xϕ(k)x^{2*\phi(k)}-x^{\phi(k)}#include #include #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(...
阅读(94) 评论(0)

[LibreOJ β Round #4]游戏

题目大意一个含数字和X的序列。 两方轮流操作,每次在X里填入一个实数。 当X全部被填完时,根据序列逆序对的奇偶性判胜负。 问谁必胜。做法没有X的时候用数据结构求逆序对即可。 有X的时候,先特判n=1。 然后假设两人随便填,最后一个人填最后一个X时,假设最小数当前是t,显然他在这个位置填t+eps或t-eps可以使逆序对奇偶性不同。 他能直接获胜。 因此此时判断X个数的奇偶性即可。#in...
阅读(104) 评论(0)

[hdu6063]RXD and math

题目大意给你一个数学式子,要求计(zhao)算(chu)出(jie)来(lun)。显然任意数可唯一表示成a^2*b,其中μ(b)=1\mu(b)=1 式子相当于在枚举b,后面乘的系数是a的范围。 那么每个数都被算一次,答案是n^k。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using name...
阅读(148) 评论(0)

[hdu6105]Gameia

题目大意有一颗n个节点的树,每个节点初始没有颜色。A和B玩游戏,A先手。B有k次小动作,可以在游戏进行的任意时刻使用(可以在A操作前后使用,一次性可以使用多次),每次小动作他会选择切掉一条树边。 两人轮流操作,A每次将一个无色点染白,B每次将一个无色点染黑并将相连点染黑(即使已经有颜色)。当不能操作后,如果存在被染白的点,A胜,否则B胜。双方绝顶聪明,问谁胜。博弈题先给出的结论: 该树如果有完美...
阅读(159) 评论(2)

func

题目大意f(1)=1,f(2i)=f(i),f(2i+1)=f(i)+f(i+1)。 求f(m)=n的所有m。考虑如何计算一个f(m),先拆二进制位。 用f0和f1表示后面的位做完用多少进位和不进位。 我们只考虑最后一位是1的也就是奇数,那么初始f0=f1=1。 考虑一位上是1因为f(2i+1)=f(i)+f(i+1),所以我们将它减半后可以选择+1。 那么当一位是1时,如果后面没有进位,...
阅读(126) 评论(0)

merge

题目大意将两个排列随意归并,求能得到多少本质不同的序列。DP直接转移会算重。 手玩+感受一下发现容斥系数是卡特兰数。 详见代码。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; typedef long long ll; const int maxn=2000...
阅读(138) 评论(0)

[bzoj4934]kangroo

题目大意有一个园子,里面有n个草丛排成一排,标号1~n,有一个袋鼠,从s出发,每次跳一步跳到一个其他的草丛,经过 每个草丛恰好一次,最终到达t。显然他会跳跃n-1次为了不被人类发现,袋鼠每次跳跃的方向必须与前一次不同, 具体地,如果他现在在now,他是从prev跳跃一次到达now的,然后他跳跃一次到达next,那么如果prev<nowprev<now,就必 须有now<nextnow<next...
阅读(115) 评论(0)

Sequence

题目大意有两个序列a和b。 每次询问将一个区间a值排名在[x,y]的中找一个b值第k小。做法用主席树将排名的x和y变成具体的值。 接下来可以根据b整体二分,其余部分可以拆区间+扫描线+数据结构完成。#pragma GCC optimize(2) #include #include #define fo(i,a,b) for(i=a;i<=b;i++) usi...
阅读(106) 评论(0)
747条 共50页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:251938次
    • 积分:10104
    • 等级:
    • 排名:第1813名
    • 原创:743篇
    • 转载:4篇
    • 译文:0篇
    • 评论:189条
    最新评论
    文章分类