上一页 1 2 3 4 5 6 ··· 13 下一页
摘要: C. Orac and LCM 思路 题目非常简单,就是求$gcd(lcm_(i,\ j))\ for\ i\ in\ range(n),\ for\ j\ in\ range(n),\ i\ <\ j$ 对于包含$a_1$的项有,\(gcd\ (lcm_{1,2}, lcm_{1, 3}, lcm 阅读全文
posted @ 2020-06-09 16:13 lifehappy 阅读(154) 评论(1) 推荐(0)
摘要: Sleeping Schedule 思路 这道题读题就感觉像时$DP$,读完题后更加坚定了,这是一道$DP$题目。 我们考虑状态转移方程,$dp[i][j]$表示在第$i$次入睡时间是$j$的时候的时间最优值,所以显然有我们的状态转移方程就是 \(dp[i][(j + a[i]) \% n] = m 阅读全文
posted @ 2020-06-08 22:06 lifehappy 阅读(102) 评论(0) 推荐(0)
摘要: Ehab the Xorcist 思路 刚看时确实是一脸懵,最怕的就是这种构造题了,然后细想好像能写啊。 判断不可行的条件,只有两种情况: 一、$v < u$是一定不可能的,一串数的异或值一定小于其数串的和。 二、当u是奇数时,数串中一定存在奇数个奇数,所以整体的和一定是奇数;当u时偶数时,如果存在 阅读全文
posted @ 2020-06-08 21:13 lifehappy 阅读(82) 评论(0) 推荐(0)
摘要: Codeforces Round #648 (Div. 2) A:Matrix Game 思路 题意可以说是非常简单的,我们选定的格子的行列都不能存在1,可以发现我们可以放的格子一定是固定的,然后这题就变成了技术总共可以放多少个棋子了,所以我们直接开两个数组记录一下行列是否有1存在,再通过暴力求解的 阅读全文
posted @ 2020-06-08 11:08 lifehappy 阅读(96) 评论(0) 推荐(0)
摘要: Johnny and Grandmaster 思路 这道题就是把一组数分成两个集合,使这两个集合的对p的次方的和的差的最小值,也就是求$sum1 - sum2$得最小值, 由于结果过大我们可能需要对结果取模。那么这题得关键在于我们应该如何分配这两个集合,也就是如何得到最优的$sum1 - sum2$ 阅读全文
posted @ 2020-06-05 19:52 lifehappy 阅读(204) 评论(0) 推荐(0)
摘要: Tarjan缩点 P3387 【模板】缩点 思路 既然时缩点的模板,那么缩点自然少不了了,缩点后我们的到新的有向无环图,然后再利用这个无环图去找一条最大权值的路径,路径和即为答案。 我们改如何选取起点来避免不必要的计算,假设存在一条路径,我们的最大值一定时从起点开始的,所以我们选取所有的缩点以后入度 阅读全文
posted @ 2020-06-05 19:29 lifehappy 阅读(139) 评论(0) 推荐(0)
摘要: LCA求解的四种模板 树剖在线求解LCA 思想 树剖这里就不多解释了,求解LCA的过程就是轻重链的跳转,跟树剖求任意两点间的距离一样的操作,只不过不用线段树去维护$dis$了,那就直接上代码吧。 代码 #include <bits/stdc++.h> using namespace std; typ 阅读全文
posted @ 2020-06-02 21:02 lifehappy 阅读(211) 评论(0) 推荐(1)
摘要: 树上点分治 思想 两个点之间的距离无非就是两种关系:我们约定$dis[i]$表示这个点到当前根节点的距离 \(dis[u] + dis[v]\),在同一个根节点的不同子树上。 \(dis[u] + dis[v]\),在同一个根节点的同一个节点上。 树上点分治的思想就是通过改变根节点从而转化任意两点的 阅读全文
posted @ 2020-05-30 22:05 lifehappy 阅读(170) 评论(0) 推荐(1)
摘要: Multiset 思路 二分 + 树状数组做法 我们发现每个数的范围是$ ⇐ 1e6$的,所以可以直接在线操作,不用离散化离线操作。 这个时候我们的$tree$数组就相当与一个桶,每个桶里统计的是值为其下标的个数,通过树状数组的前缀和性质,我们可以通过二分轻松的锁定第$k$项的位置,然后进行删除操作 阅读全文
posted @ 2020-05-28 16:34 lifehappy 阅读(219) 评论(3) 推荐(1)
摘要: 树的直径与重心 树的直径求解方法一 思路 先选取一个点rt作为根节点,dfs去找到一个最长路径的点U,然后通过这个点去dfs,找到路径最长的点V,U->V就是这课树的直径。 证明正确性: 假如rt在直径上的话,最长路径的点U一定是直径的一个端点,这一点是显然的。 假如rt不在直径上,那么从这个点出发 阅读全文
posted @ 2020-05-28 11:47 lifehappy 阅读(150) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 13 下一页