随笔分类 - 题库—Codeforces
摘要:题意 "题目链接" 给出一棵 n 个结点的树,每个结点有一个颜色 c i 。 询问 q 次,每次询问以 v 结点为根的子树中,出现次数 ≥k 的颜色有多少种。树的根节点是1。 Sol 想到了主席树和启发式合并。。很显然都不能做。 标算是dfs序上暴力莫队。。甘拜下风 具体实现的时候可以直接用$tim
阅读全文
摘要:题意 "题目链接" 给出一个$n \times m$的网格,给出起始点,要求向左走不超过$L$步,向右走不超过$R$步,求出能遍历到哪些点 Sol 一个很直观的想法,BFS的时候状态里记录下还能向左 / 右走多少步,然后xjbBFS,恭喜你fst了。。 正解非常的巧妙: 可以这样想:如果我们保证了到
阅读全文
摘要:题意 "题目链接" $n$次操作,每次你给出一个点的坐标,系统会返回该点的颜色(黑 / 白),程序最后输出一条直线把所有黑点和白点分隔开 Sol 一个很直观的想法:首先询问$(dx, 0)$,然后每次询问二分中点,根据与第一次询问得到的字符串的关系不断调整二分范围 但是这样会被卡,我修改了两个地方才
阅读全文
摘要:题意 "题目链接" 给出$n$点,每个点有一个点权$a[i]$,相邻两点之间的边权为$a[i] \oplus a[j]$,求最小生成树的值 Sol 非常interesting的一道题,我做过两种这类题目, "一种是直接打表找规律" ,另一种就像这种用Boruvka算法加一些骚操作来搞。 首先,把所有
阅读全文
摘要:题意 "题目链接" Sol Orz jry 和上一个题一个思路吧,直接bitset乱搞,不同的是这次有了修改操作 因为每次修改只会改两个位置,直接暴力改就好了
阅读全文
摘要:题意 "题目链接" 给定一个长度为$n$的序列。你需要将它分为$m$段,每一段的代价为这一段内相同的数的对数,最小化代价总和。 $n define LL long long using namespace std; const int MAXN = 1e5 + 10; inline int read
阅读全文
摘要:题意 "题目链接" $n$个节点的树,点有点权,找出互不相交的两条链,使得权值和最大 Sol ~~这辈子也不会写树形dp的~~ 也就是有几种情况,可以讨论一下。。 下文的“最大值”指的是“路径上权值和的最大值” 设$f[i][0]$表示以$i$为根的子树中选出两条不相交的链的最大值 $f[i][1]
阅读全文
摘要:题意 "题目链接" Sol 欲哭无泪啊qwq。。。。昨晚一定是智息了qwq 说一个和标算不一样做法吧。。 显然$x$轴是可以三分的,半径是可以二分的。 恭喜你获得了一个TLE的做法。。 然后第二维的二分是没有必要的,直接拿圆的标准方程推一下取个最大值就行了。。。。。昨晚没想到qwq给数学老师丢脸了。
阅读全文
摘要:题意 "题目链接" Sol 非常妙的一道题。。 可以这样想,在BFS序中较早出现的一定是先访问的,所以把每个点连出去的边按出现的前后顺序排个序 看一下按顺序遍历出来的序列与给出的是否相同就行了 cpp include using namespace std; const int MAXN = 2e5
阅读全文
摘要:题意 "题目链接" Sol 直接在线段树上二分 当左右儿子中的一个不是$x$的倍数就继续递归 由于最多递归到一个叶子节点,所以复杂度是对的 开始时在纠结如果一段区间全是$x$的两倍是不是需要特判,实际上是不需要的。 可以这么想,如果能成功的话,我们可以把那个数改成$1$,这样比$x$大的数就不会对答
阅读全文
摘要:题意 题目链接 给你一个擦去了部分左括号和全部右括号的括号序列,括号有25种,用除x之外的小写字母a~z表示。求有多少种合法的括号序列。答案对4294967296取模。合法序列不能相交,如()[],([])是合法序列,而([)]是不合法的。 Sol 这个题告诉我们什么叫:暴力艹标算,n方过百万。。。
阅读全文
摘要:题意 题目链接 题意:给出一张无向图,每次询问两点之间的最短路,满足$m - n <= 20$ $n, m, q \leqslant 10^5$ Sol 非常好的一道题。 首先建出一个dfs树。 因为边数-点数非常少,所以我们可以对于某些非树边特殊考虑。 具体做法是:对于非树边连接的两个点,暴力求出
阅读全文
摘要:题意 题目链接 给出一个树,求出每个节点的子树中出现次数最多的颜色的编号和 Sol dsu on tree的裸题。 一会儿好好总结总结qwq
阅读全文
摘要:题意 题目链接 一张图,n个点,m条边,每个点有个权值x,x<=1e18。如果一条边的两个端点不一样,那么这条边是安全的,开始时所有边都是安全的。 现在有一个病毒y,病毒可以入侵任意的点,入侵一个点后的权值为(y^x)。 (S,y)表示病毒的权值为y,它只入侵了点集S中的点,整张图的边都是安全的。求
阅读全文
摘要:题意 题目链接 给出一棵树,删除一些边,使得任意联通块内的任意点距离不超过$k$ sol 考场上想的贪心是对的:考虑一棵子树,如果该子树内最深的两个节点的距离相加$>k$就删掉最深的那个点,向上update的时候只返回最深的点的深度 然而却苦于写不出代码。。。
阅读全文
摘要:题意 $n \times n$的网格,有$m$个苹果树,选择一个点出发,每次增加一个偏移量$(dx, dy)$,最大化经过的苹果树的数量 Sol 上面那个互素一开始没看见,然后就GG了 很显然,若$n$和$dx$互素的话,每个$x$都能到达 我们预处理出在每个点$x = 0$时的$y$,取一下最大值
阅读全文
摘要:题意 给出$26$个字母对应的权值和一个字符串 问满足以下条件的子串有多少 Sol 我们要找到区间满足$sum[i] - sum[j] = 0$ $sum[i] = sum[j]$ 开$26$个map维护一下$sum$相等的子串就可以
阅读全文
摘要:题意 $a$个学生,$b$个教练 可以两个学生和一个教练一组,也可以两个教练和一个学生一组,问最多组成多少组 Sol 发题解的目的是为了纪念一下自己的错误思路 刚开始想的是:贪心的选,让少的跟多的分在一组里。事实证明这是错的,比如:500 500。 然后想的是:我们可以把教练和学生看着物品,密度最大
阅读全文
摘要:题意 岛上有三个物种:剪刀$s$、石头$r$、布$p$ 其中剪刀能干掉布,布能干掉石头,石头能干掉剪刀 每天会从这三个物种中发生一场战争(也就是说其中的一个会被干掉) 问最后仅有$s/r/p$物种生存的概率 Sol 还是想复杂了啊,我列的状态时$f[i][j], g[i][j],t[i][j]$分别
阅读全文
摘要:题意 给出一个$k$,构造一个无向图,使得每个点的度数为$k$,且存在一个桥 Sol 神仙题 一篇写的非常好的博客:http://www.cnblogs.com/mangoyang/p/9302269.html 我简单的来说一下构造过程 首先$n$是偶数的时候无解 奇数的时候:我们拿出两个点作为桥
阅读全文