随笔分类 - 数据结构 -- 线段树
摘要:传送门 A. Buying Torches 签到。 Code // Author : heyuhhh // Created Time : 2020/09/14 22:39:56 #include<bits/stdc++.h> #define MP make_pair #define fi first
阅读全文
摘要:Contest Info 传送门 Solved A B C D E F G H I J K 8 / 11 Ø - Ø O O Ø O O O - - O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. Tokitsukaze, CSL and Palindr
阅读全文
摘要:Contest Info 传送门 Solved A B C D E F G H I J K 5 / 11 O - - - O - O - O - O O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. All-Star Game 对时间分治,线段树维护可撤销
阅读全文
摘要:Contest Info 传送门 Solved A B C D E F G H I J 5 / 13 Ø O Ø - - O - O - - O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. Ancient Distance 考虑固定了$k$,那么可以通过
阅读全文
摘要:Contest Info 传送门 Solved A B C D E F G H I J K 11 / 11 Ø Ø O O Ø O Ø Ø Ø O Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. All with Pairs 题意: 定义$f(s,t
阅读全文
摘要:Contest Info 传送门 Solved A B C D E F G H I J K L 8 / 13 Ø O O Ø O - - - Ø Ø - Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solutions A. Archery Tournament 题意: 现
阅读全文
摘要:"传送门" A. Level Statistics 签到。 Code B. Middle Class 贪心。排序后求出前缀和直接搞即可。 Code C. Circle of Monsters 题意: 现有$n$只怪兽围成环,每个怪兽有两个属性$a_i,b_i$,$a_i$为其生命值,$b_i$为怪兽
阅读全文
摘要:"传送门" A. Bad Ugly Numbers 233333。 Code B. Maximums 从前往后依次搞即可。 Code cpp / Author: heyuhhh Created Time: 2020/3/19 22:44:51 / include include include in
阅读全文
摘要:"传送门" A. Contest for Robots 签到。 Code B. Journey Planning 令$b_i=b_i i$,最后所有相等的数取出来可以满足条件。 贪心计算就行。 Code C. Remove Adjacent 贪心。 从大的字符往小的枚举,然后暴力判断删除就行。 Co
阅读全文
摘要:"传送门" 题意: 每一门课有两个上课地点$a,b$,在两个上课地点上课的时间不同,分别为$[sa_i,ea_i],[sb_i,eb_i]$。 现在问是否不存在两门课$i,j$,满足两门课同时在$a/b$上时不会发生区间重叠,同时在$b/a$上时会发生区间重叠。 思路: 因为要满足两个区间的限制,那
阅读全文
摘要:"传送门" A. Two Rabbits 签到。 Code B. Longest Palindrome 用$map$乱搞即可。 Code C. Air Conditioner 贪心。 每次我们找能够走到的一个区间,然后和能使客人满意的区间取交集,若交集不为空,则能够满足当前客人。 之后类似这样操作就
阅读全文
摘要:"PTA" "牛客" A. Alternative Accounts 题意: 现在有$n$个账号,举办$k,k\leq 3$场比赛。 现在每个人可能有多个账号,但每次只能用一个账号参加一场比赛。 现在给出$k$场比赛的参赛账号。 现在询问最少有多少人参加比赛。 思路: 分情况讨论即可。 我们可以直接
阅读全文
摘要:"PTA" "牛客" A. 黑色气球 数据保证答案唯一,则随便搞搞即可。 Code cpp const int mod=1e9+7; const int maxn=5005; bool vis[maxn]; vector e[maxn]; int n; inline void view_all(ve
阅读全文
摘要:"传送门" 因为对数的修改和查询都在一段连续的区间,所以可以直接权值线段树套上区间线段树即可,区间线段树动态开点,每次操作的时间和空间复杂度均为$O(log^2n)$。 详细点来说,就是权值线段树上的每个结点上有一颗区间线段树,记录权值为$[l,r]$的数分布在区间上的位置。 代码如下:
阅读全文
摘要:"传送门" A. Array with Odd Sum 签到。 Code B. Food Buying 贪心即可。 Code C. Yet Another Walking Robot 用个$map$记录一下走到某一坐标的最晚时刻,然后直接维护答案就行。 Code D. Fight with Mons
阅读全文
摘要:"传送门" A. Display The Number 签到。 Code B. Infinite Prefixes 题意: 给出一个01串$s$,现在定义$t$串为$s$串的无穷拼接,$s$串的长度$n$满足$n\leq 10^5$。 给出$x, 10^9 Code C. Obtain The St
阅读全文
摘要:"传送门" 感觉脑子还是转得太慢了QAQ,一些问题老是想得很慢。。。 A. Sweet Problem 签到。 Code B. PIN Codes 注意到$n$很小,不超过$10$,那么就直接暴力改变就行。 可以用一个$map$记录一下。 Code C. Everyone is a Winner!
阅读全文
摘要:"传送门" 题意: 给出一颗含有$n$个结点的无根树,之后给出一个长度为$m$的序列,每个元素在$[1,n]$之间。 现在序列中每个长度为偶数的区间的完成时间定义为树上最小配对方法中每对匹配点间距离的总和。 现在要求所有长度为偶数的区间的完成时间的和。 思路: 首先不妨将这颗树转化为有根树,最终不会
阅读全文
摘要:"传送门" 题意: 给出一个以$1$为根的有根树,起始每个结点都为$0$,现在有三种操作: 1.将$v$及$v$的子树都置为$1$; 2.将$v$及其所有的祖先都置为$0$; 3.询问$v$目前处于何种状态。 对于每次询问给出回答。 思路: 对于$1$操作,子树修改,显然$dfs$序+线段树即可解决
阅读全文
摘要:"传送门" 题意: 给出一颗以$1$为根的有根树,每个结点有个颜色$c_i$。 之后要回答$m$组询问,每组询问包含$v_i,k_i$,要回答以$v_i$为根的子树中,颜色出现次数不小于$k_i$的颜色的和。 思路: 这种静态子树上的问题,可以考虑dsu on tree。 由于要回答次数超过$k$的
阅读全文