共 11 页: 上一页 1 2 3 4 5 6 下一页 末页
摘要:转化题意 这题目乍一看十分玄学,完全不可做。 但实际上,假设我们在原序列 从小到大排序 之后,选择开的宝箱编号是$p_{1\sim Z}$,则最终答案就是: $$\sum_{i=1}^Za_{p_i}(p_{i+1} p_i)$$ 其中$p_{Z+1}=n+1$。 有了这个式子,就可做了许多。 暴力 阅读全文
posted @ 2019-08-11 17:43 TheLostWeak 阅读 (21) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 让你把一个长度为$n$的序列划分成$m$块,求每块数总和的最小方差乘$m^2$的值。 转化方差 首先方差显然是一个比较复杂的东西,需要进行一定转化。 设$p_i$为第$i$块数总和;$s_i$为原序列的前缀和,即$s_i=\sum_{i=1}^ia_i$;$\bar p$ 阅读全文
posted @ 2019-08-08 12:21 TheLostWeak 阅读 (24) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你一个序列,对于每个$i$求最小的自然数$p$使得对于任意$j$满足$a_j\le a_i+p \sqrt{|i j|}$。 证明单调性 考虑到$\sqrt{|i j|}$的增长是逐渐变慢的,所以若当前位置$i$受$x$影响,那么对于任意$y define Tp tem 阅读全文
posted @ 2019-08-08 08:40 TheLostWeak 阅读 (18) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你一张图,每条边有一定存在概率。求存在的图刚好为一棵树的概率。 矩阵树定理是什么 如果您不会矩阵树定理,可以看看蒟蒻的这篇博客: "初学矩阵树定理" 。 矩阵树定理的应用 此题中,直接根据$p_{i,j}$来套矩阵树定理显然是不可以的。 考虑我们把每个$p_{i,j}$ 阅读全文
posted @ 2019-08-07 20:36 TheLostWeak 阅读 (25) 评论 (0) 编辑
摘要:矩阵树定理,最基础的作用是用于求一张无向图中的生成树个数。当然它还能扩展到有向图,以及有其他许多应用。 阅读全文
posted @ 2019-08-07 20:30 TheLostWeak 阅读 (26) 评论 (0) 编辑
摘要:简单声明 我是蒟蒻不会推式子。。。 所以我用的是乱搞做法。。。 大自然的选择 这里我用的乱搞做法被闪指导赐名为“自然算法”,对于这种输入信息很少的概率题一般都很适用。 比如此题,对于一组$n,m$,我们可以进行$10^6$次随机,每次随机$n$个$0\sim1$之间的实数表示这个点在圆上的位置,然后 阅读全文
posted @ 2019-08-07 19:51 TheLostWeak 阅读 (23) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你两棵$n$个点的树,对于第一棵树中的每条边$e_1$,求存在多少条第二棵树中的边$e_2$,使得第一棵树删掉$e_1$加上$e_2$、第二棵树删掉$e_2$加上$e_1$后皆仍为生成树。 题意转化 考虑对于$e_1(x,y)$,合法的$e_2(u,v)$,必然存在于第 阅读全文
posted @ 2019-08-07 19:11 TheLostWeak 阅读 (40) 评论 (0) 编辑
摘要:树上启发式合并,即$DSU\ on\ Tree$,是一个挺好用、挺实用的树上信息维护方法。 阅读全文
posted @ 2019-08-07 18:38 TheLostWeak 阅读 (44) 评论 (0) 编辑
摘要:线段树上$DP$ 首先发现,每个数肯定是向自己的前驱或后继连边的。 则我们开一棵权值线段树,其中每一个节点记录一个$f_{0/1,0/1}$,表示在这个区间左、右端点是否连过边的情况下,使这个区间符合条件的最小代价。 合并时考虑如果左儿子的右端点或右儿子的左端点中有一个没有连过边,就必须连边,否则就 阅读全文
posted @ 2019-08-07 17:40 TheLostWeak 阅读 (34) 评论 (0) 编辑
摘要:从暴力考虑转化题意 考虑最暴力的做法,我们枚举路径的两端,然后采用类似求树上路径长度的做法,计算两点到根的贡献,然后除去$LCA$到根的贡献两次。 即,设$v_i$为$i$到根路径上的边权异或和,那么$(x,y)$的答案就是: $$v_x\ xor\ v_y\ xor\ v_{LCA(x,y)}\ 阅读全文
posted @ 2019-08-07 17:39 TheLostWeak 阅读 (31) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 求$\prod_{i=1}^n\prod_{j=1}^mf(gcd(i,j))$。 推式子 首先,按照套路我们枚举$gcd$,得到: $$\prod_{d=1}^{min(n,m)}f(d)^{\sum_{i=1}^{\lfloor\frac nd\rfloor}\sum 阅读全文
posted @ 2019-08-06 17:42 TheLostWeak 阅读 (19) 评论 (0) 编辑
摘要:$2019$年暑假慈溪集训。 阅读全文
posted @ 2019-08-06 17:31 TheLostWeak 阅读 (185) 评论 (4) 编辑
摘要:数位$DP$ 首先考虑二进制数$G(i)$的一些性质: $G(i)$不可能有连续两位第$x$位和第$x+1$位都是$1$。因为这样就可以进位到第$x+2$位。其余情况下,这个$G(i)$必然合法。 对于一对$x,y$满足$x define Tp template define Ts template 阅读全文
posted @ 2019-07-31 09:58 TheLostWeak 阅读 (19) 评论 (0) 编辑
摘要:打表+暴搜 这道题目,显然是需要打表的,不过打表的方式可以有很多。 我是打了两个表,分别表示 每个数字所需的火柴棒根数 以及 从一个数字到另一个数字,除了需要去除或加入的火柴棒外,至少需要几根火柴棒 。 然后我们就可以暴搜了,大体就是枚举等式左边两个数每一位的值,并枚举中间的运算符是$+$还是$ $ 阅读全文
posted @ 2019-07-31 09:44 TheLostWeak 阅读 (30) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 有一个$1\sim 2^n$的排列,$n\le7$,每次交互告诉你有几个位置上的数是正确的,让你在$1000$轮以内猜出每个位置上的数。 二分 显然,我们可以通过二分来求解此题。 具体地,我们先把所有位置填满$1$,然后暴力枚,找到一个位置填上$2$使得此时没有一个位置上 阅读全文
posted @ 2019-07-28 18:54 TheLostWeak 阅读 (28) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你$n$个区间,求最多有多少个区间重叠,以及平均每个点被多少个区间覆盖。 第一个询问 这个应该可以直接离散化+差分,即我们先把每个区间右端点加$1$,然后对于一个离散化后的区间$[l,r+1]$,我们在第$l$个位置上加$1$,第$r+1$个位置上减$1$,然后扫一遍求 阅读全文
posted @ 2019-07-28 18:47 TheLostWeak 阅读 (27) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你一个只含$C,H,O$的化学式,问需要几$mol$的氧气才能使其完全燃烧成$CO_2$和$H_2O$。 模拟+~~化学~~ 首先,我们模拟求出化学式中$C,H,O$的个数(~~这一部分请自行思考~~)。 然后,假设我们有$C$个$C$,$H$个$H$,$O$个$O$。 阅读全文
posted @ 2019-07-28 18:41 TheLostWeak 阅读 (29) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 求$(n 1)!\ mod\ n$的值。 大力猜结论 首先,看到样例,我们可以猜测: 当$n$为质数时,答案为$n 1$。 当$n$为合数时,答案为$0$。 ~~这样一交,你就会发现你WA了。~~ 那么上面的结论错在哪里呢? 其实只要特判$n=4$时输出$2$即可。 ~~ 阅读全文
posted @ 2019-07-28 18:35 TheLostWeak 阅读 (21) 评论 (0) 编辑
摘要:暴力$DP$ 先考虑暴力$DP$该怎么写。 因为每个序列之后是否能加上新的节点只与其结尾有关,因此我们设$f_i$为以$i$为结尾的最长序列长度。 每次枚举一个前置状态,判断是否合法之后进行转移。 优化$DP$ 上面做法的瓶颈在于,判断是否合法需要大量时间。 则有一个比较巧妙的做法。 首先对于每一个 阅读全文
posted @ 2019-07-27 22:14 TheLostWeak 阅读 (17) 评论 (0) 编辑
摘要:没有换根操作 考虑如果没有换根操作,我们该怎么做。 我们可以求出原树的$dfs$序列,然后开线段树维护。 对于修改操作,我们可以倍增求$LCA$,然后在线段树上修改子树内的值。 对于询问操作,我们直接查询子树内的值。 但有了换根操作,$LCA$就可能不再是原来的$LCA$,子树也就可能不再是原来的子 阅读全文
posted @ 2019-07-27 21:57 TheLostWeak 阅读 (43) 评论 (0) 编辑
摘要:原题与此题 原题是一道神仙不可做题,两者区别在于,原题不能有重边和自环。 然而,这题可以有重边。。。 于是这题就变成了一道大水题。 此题的解法 考虑如何构造。 对于$n\le10^4$的情况: 对于$n 10^4$的情况: 边上的权值表示边数。 代码 cpp pragma GCC optimize( 阅读全文
posted @ 2019-07-27 21:42 TheLostWeak 阅读 (21) 评论 (0) 编辑
摘要:题意转化 考虑我们对于每一对激活关系建一条有向边,则对于每一个点,其答案就是其所能到达的点数。 于是,这个问题就被我们搬到了图上,成了一个图论题。 优化建图 考虑我们每次需要将一个区间向一个区间连边。 则我们可以用 线段树优化建图 。 具体步骤就是,建两棵线段树,每次新建一个虚节点,然后把需要向外连 阅读全文
posted @ 2019-07-27 19:54 TheLostWeak 阅读 (21) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你一个字符串$s$,每次问你一个子串$s[a..b]$的所有子串和$s[c..d]$的最长公共前缀。 二分 首先我们可以发现一个简单性质,即要求最长公共前缀,则我们必然取$s[a..b]$的一个子串$s[x..b]$,因为求最长公共前缀取长了不会影响答案。 那么如果我们 阅读全文
posted @ 2019-07-27 11:27 TheLostWeak 阅读 (27) 评论 (0) 编辑
摘要:推式子 我们设$n=kp+w$,则: $$(kp+w)a^{kp+w}\equiv b(mod\ p)$$ 将系数中的$kp+w$向$p$取模,指数中的$kp+w$根据欧拉定理向$p 1$取模,得到: $$wa^{k+w}\equiv b(mod\ p)$$ 两边同除以$wa^w$,得到: $$a^ 阅读全文
posted @ 2019-07-27 08:11 TheLostWeak 阅读 (24) 评论 (0) 编辑
摘要:几个性质 我们通过推式子可以发现: $$B⇒AC⇒AAB⇒AAAC⇒C$$ $$C⇒AB⇒AAC⇒AAAB⇒B$$ 也就是说: 性质一: $B,C$可以相互转换。 则我们再次推式子可以发现: $$B⇒AC⇒AB$$ 也就是说: 性质二: 在$B$或$C$之前可以任意加或减少若干个$A$。 同样,我们 阅读全文
posted @ 2019-07-26 20:35 TheLostWeak 阅读 (19) 评论 (0) 编辑
摘要:$FHQ\ Treap$,一方面听说它可以可持久化,另一方面听说它是真的好写。它与$Treap$的共同点也只有都借助了随机键值来维护平衡。具体实现起来,两者真是大为不同。 阅读全文
posted @ 2019-07-26 08:07 TheLostWeak 阅读 (32) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 规定一个$n m$数表中每个数为$\sum_{d|i,d|j}d$,求数表中不大于$a$的数之和。 不考虑限制 我们先不考虑限制,来推一波式子。 首先,易知数表中第$i$行第$j$列的数应该是$\sigma(gcd(i,j))$。 则和就为: $$\sum_{d=1}^{ 阅读全文
posted @ 2019-07-25 07:58 TheLostWeak 阅读 (37) 评论 (1) 编辑
摘要:"点此看题面" 大致题意: 求$\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)$。 推式子 不会莫比乌斯反演的可以先去看这篇博客: "初学莫比乌斯反演" 。 反演题显然就是推式子啊~~~ 考虑$lcm$这个东西不好做,所以我们先把它化成$gcd$: $$\sum_{i=1}^n\s 阅读全文
posted @ 2019-07-23 11:02 TheLostWeak 阅读 (32) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 求$\sum_{n=1}^{5 10^8}((\sum_{i=1}^n\phi(n^i))(mod\ n+1))$。 大力推式子 单独考虑$(\sum_{i=1}^n\phi(n^i))(mod\ n+1)$。 由于$\phi$有一个显然的性质: $$\phi(x^y)= 阅读全文
posted @ 2019-07-22 08:16 TheLostWeak 阅读 (31) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 有$n$个路灯,每个路灯有一定的建造费用,且建成后可照亮自身及周围距离为$1$的两个格子。你可以交换$k$次两个路灯的建造费用,求照亮所有格子的最小费用。 题意转换 首先可以发现交换显然是一个有后效性的操作,难以记录到状态中。 但是$k$这么小似乎别有深意? 考虑我们把一 阅读全文
posted @ 2019-07-20 12:42 TheLostWeak 阅读 (71) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你一个序列,让你支持区间求和、区间取模、单点修改操作。 区间取模 区间求和和单点修改显然都很好维护吧,难的主要是区间取模。 取模标记无法叠加,~~因此似乎只能暴力搞?~~ 实际上,我么先考虑一个结论: 一个数$x$向一个不大于它的数$p$取模,所得结果必然小于$\fra 阅读全文
posted @ 2019-07-19 19:31 TheLostWeak 阅读 (29) 评论 (0) 编辑
摘要:暴力$DP$ 考虑暴力$DP$,我们设$f_{i,j}$表示 当前覆盖长度为$i$,上一次折叠长度为$j$ 的方案数。 转移时需要再枚举这次的折叠长度$k$($k\ge j$),转移方程如下: $$f_{i+2k j,k}+=f_{i,j}$$ 对于左、右两边,根据不同的初始化$DP$两遍。 统计时 阅读全文
posted @ 2019-07-17 19:30 TheLostWeak 阅读 (32) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你一个多边形,要求建一面墙使得墙上的点至少离多边形每个顶点$R$的距离,求最短的墙长。 考虑$R=0$ 考虑当$R=0$时,所求的答案显然就是求得的凸包的周长。 因为这堵墙如果向内凹,显然长度只会变大。 考虑所有情况 对于任一情况,我们可以得图如下: 可以发现,答案是绿 阅读全文
posted @ 2019-07-17 19:21 TheLostWeak 阅读 (28) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 按顺序给你一个多边形的全部顶点,让你判断是按顺时针还是逆时针给出的。 多边形有向面积 显然我们知道,叉积可以求出两个向量之间有向面积的两倍。 所以,我们三角剖分,就可以求出四边形的有向面积。 则我们就可以由此推知给出的顺序了。 代码 阅读全文
posted @ 2019-07-17 18:46 TheLostWeak 阅读 (42) 评论 (0) 编辑
摘要:找环 考虑每次洗牌其实是一次置换的过程,而这样必然就会有循环出现。 因此我们直接通过枚举找出每一个循环,询问时只要找到环上对应的位置就可以了。 貌似比我比赛时被卡成$30$分的倍增简单多了? 代码 cpp include define Tp template define Ts template d 阅读全文
posted @ 2019-07-16 19:29 TheLostWeak 阅读 (41) 评论 (0) 编辑
摘要:"点此看题面" 大致题意: 给你两个序列$a,v$,其中$a$数组由$0\sim m$组成。随机用$1\sim m$中的一个数替换$a$中的$0$,求$\sum_{i=1}^{n 3}v_{gcd(a_i,a_{i+1},a_{i+2},a_{i+3})}$的期望值。 记忆化搜索 考虑记忆化搜索,设 阅读全文
posted @ 2019-07-16 19:18 TheLostWeak 阅读 (56) 评论 (0) 编辑
摘要:树形$DP$ 实际上,这道题应该不是很难。 我们设$f_{x,i,j}$表示 在以$x$为根的子树内,原本应输出$i$,结果输出了$j$的情况数 。 转移时,为了方便,我们先考虑与,再考虑非,即先转移,再交换$f_{x,0,0}$和$f_{x,1,1}$,$f_{x,1,0}$和$f_{x,0,1} 阅读全文
posted @ 2019-07-16 12:16 TheLostWeak 阅读 (25) 评论 (0) 编辑
摘要:思维题 此题应该是比较偏思维的。 假设一次反射后前进的距离是$2^x(2y+1)$,则显然,它可以看做是前进距离为$2^x$的光线经过了$(2y+1)$次反射,两者是等价的,甚至后者可能还要更优。 因此,我们只需考虑前进距离为$2^x$的光线。 也就是说,我们枚举$x$,统计$(2^x+a_i)\% 阅读全文
posted @ 2019-07-16 08:10 TheLostWeak 阅读 (32) 评论 (0) 编辑
摘要:$2019$年$7$月的训练记录。 阅读全文
posted @ 2019-07-15 21:17 TheLostWeak 阅读 (175) 评论 (0) 编辑
摘要:拉格朗日插值,是一个根据$n$个点确定唯一的$n-1$次多项式,然后$O(n^2)$单点求值的算法。 阅读全文
posted @ 2019-07-15 12:22 TheLostWeak 阅读 (47) 评论 (0) 编辑
共 11 页: 上一页 1 2 3 4 5 6 下一页 末页