- 博客(11)
- 收藏
- 关注
原创 2022.3.26
这题运用了lca虽然给的是一张图,但是题目所给条件说明了图一定联通,因此在不考虑重复的边和删去的边的情况下,也一定是连通的,利用这一点建树,dfs预处理lca,如果插入边后成环,就根据插入边两端点的lca路径,经过点权值设置为0,查询两端点有多少航桥时,利用两端点的求lca过程,计数有多少边权值为1即可。这题有一点二分的思想,每次把图形分割成两部分,直到最小成分即i-i+1的组合,对于最小组成,我们有三种操作,删去最左边的点,删去最右边的点,左右都删。
2023-03-26 20:50:34 100
原创 2021天梯赛
dfs遍历入度为0的根节点,遍历时带着答案状态存,长度一样是需要最小字典序,因此建边时保证从小到大的顺序。暴力dfs,每个小纸片依次和缺口位置对比,感觉比有的二阶题容易。这题考虑用vecter排序,map去重,注意STl的使用。用STL模拟就可以了。
2023-03-14 22:10:50 140
原创 天梯赛2022年
把问题中的点拆分成两种,分别讨论,第一类点是有祖先关系的点对,第二类点是无关系的点对,对于第一类点,他的逆序对对数就是固定的,因为祖先关系是固定的,所以在任意个dfs序中,逆序对个数都是相同的,因此只需要找出祖先关系中有几对逆序对点即可,这一步可以通过树状数组维护,dfs遍历这个点时插入树状数组,作为祖先点,直到递归离开这个点,删去插入的这个点,每次遍历到一个新的点,就求出比这个点大的所有点的个数就是这个点所包含的逆序对个数,最后加起来就时这一部分答案。算上0点和24点输出首位不连续的时间段就可以。
2023-03-14 21:32:05 166
原创 2017 蓝桥B组
从中心点开始dfs往外搜,标记搜过的点和对称的点,搜到边界就记录答案,最后去重除以4.前缀和,利用(s[n]-s[m])%k=0转化成s[n]%k=s[m]%k;gcd 判断 是否全是倍数关系,如果全是倍数关系就说明有无穷多个解。用check函数分别判断abc分别为年月日的情况,符合条件输出。筛法筛出素数,遍历首项公差计算答案。可行解具有单调性,二分寻找最大值。然后用完全背包判断答案个数。找出模k结果相同的对数。
2023-03-09 10:01:55 181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人