该文被密码保护。 阅读全文
posted @ 2021-10-24 15:25 zJx-Lm 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 按套路,把原答案式转化 \[ Ans=T*F(T) -\sum_{i=0}^{T-1}F(i) \] \(F(i)\) 表示 \(i\) 时刻矩形的面积交 考虑没有交集的情况,则 \(F(i)=(2i+1)^2\) 为二次函数 若有交集,相交面积仍为二次函数 二次函数的差依然是二次函数 那总得来说, 阅读全文
posted @ 2021-10-18 10:50 zJx-Lm 阅读(61) 评论(0) 推荐(1) 编辑
摘要: 很巧妙的一道题 首先发现一个火焰高度的区间贡献为一个分段一次函数 也就是可以写成 \(a*t+b\) 的形式 Q :为什么分段呢 A : 因为要考虑左右两边比它高的火焰,前面限制它,后面吞并它 询问实际上是求前缀的差值 那我们可以把 \([L,R]\) 转换成 询问区间 \([1,L-1]\) 和 阅读全文
posted @ 2021-10-18 10:30 zJx-Lm 阅读(51) 评论(1) 推荐(1) 编辑
摘要: 很考验观察力的一道题 首先发现,若每个人都给左边人小球,那每个人给的小球数就可以都减去一 形式化的,我们只需要考虑存在一个人给的小球数为零的情况 还是按套路来 可以把式子组合意义化(组合意义化后式子总会好推很多) 其实就是每个人从剩下的小球中选一个的总方案 此时选球的情况只有两种: 从原来剩下的小球 阅读全文
posted @ 2021-10-17 08:39 zJx-Lm 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 感觉式子的转移很巧妙 首先先观察价值式:\(2^{F(n)}\) 形式化:求质因子集合子集 接着转移把题意转换成具体式子 \[ 2^{F(n)}=\sum_{d|n} \mu^2(d) \] 接着我们发现转移还是 \(O(n)\) 的,尝试接着化简出 \(k^2\) 式子 \[ \mu^2(d)=\ 阅读全文
posted @ 2021-10-12 20:03 zJx-Lm 阅读(44) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-10-11 20:47 zJx-Lm 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 遍历贪心应该很好想 有一点需要注意 在判断一个点父亲的右子树时 需要考虑点的最深深度 以此来保证左子树的限制条件 我们开两个数组分别记录该点的最深深度和限制深度 在遍历时根据子树的深度信息更新限制深度 \(check\) 时需要考虑记录的限制深度 Code #include <bits/stdc++ 阅读全文
posted @ 2021-10-08 19:33 zJx-Lm 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 考虑分治 将原序列拆成若干新区间,求经过 \(mid\) 的询问区间 在一段处理区间内,另开 \(4\) 棵线段树分别维护四段(根据最大值最小值划分)的系数 合并询问区间即可 注意如果某一个询问区间恰好包含该分治区间 直接后续更新答案即可,不然空间就爆成 \(n^2\) 了 这道题主要学的分治思想 阅读全文
posted @ 2021-10-08 19:23 zJx-Lm 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 树上竞技 和 下落的小球 两道题都是很不错的树上的问题转换 树上竞技 对于边权和的问题,按套路来,找各个边的贡献即可 首先发现结论,对于一条边的两端,如果一端的人数大于另一端的人数 那么把集合点移向人多的一端肯定更优 设两端的点分别为 \(s\) 和 \(n-s\) 那么该边的贡献为: \[ \su 阅读全文
posted @ 2021-10-03 21:41 zJx-Lm 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 暴力就是枚举每种情况,算 \(lcm\)。 然后仔细想想(虽然考场没想)就会发现,最后图会形成若干个环 我们要求的其实就是环大小的 \(lcm\) 根据这个性质,可以得到一个 \(60\) 分的 \(dp\) 令 \(dp_{i,j}\) 表示一共选了 \(i\) 个数,\(lcm\) 为 \(j\ 阅读全文
posted @ 2021-10-01 19:33 zJx-Lm 阅读(24) 评论(0) 推荐(0) 编辑