返回顶部
摘要: 离线将所有信息存下来,按照字符的大小排序,不难发现,字符ascii越大的最后覆盖最优,那么我们选最大的覆盖,同时并查集维护覆盖过的区间,即让每个节点的父亲都等于它右边的节点,对于每个区间我们跑$[l_i,r_i]$,每次更新$l$为$p[l+1]$,这样遇到覆盖过的区间就直接跳过,那么复杂度为$O( 阅读全文
posted @ 2021-11-13 19:55 Rayotaku 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 完完全全就是segment tree beats的板子题 代码: #include <bits/stdc++.h> using namespace std; #define PII pair<int,int> #define fi first #define se second #define pb 阅读全文
posted @ 2021-11-13 19:46 Rayotaku 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 北化ACM集训队每周程序设计 7 问题 E: 病毒树 题意:给你一颗$n$个节点的树,有$k$个节点,给每个节点涂色,要求每三个相邻的节点颜色不同,求方案数。 题解:我们dfs这颗树,当遍历到某个节点时,要给这个点涂色,那么这个点不能和他的父亲,以及他左边的同父亲的兄弟,以及父亲的父亲同一个颜色,然 阅读全文
posted @ 2021-11-13 19:43 Rayotaku 阅读(36) 评论(0) 推荐(0) 编辑