随笔分类 -  ACM-数据结构

摘要:https://ac.nowcoder.com/acm/contest/5675/C 题意 给出一个树,q次修改,每次修改将第p条边权值修改为w。 回答q+1询问,每次操作可以选择一条链,把这条链上所有边的权值减一,问最少进行多少次操作才能把所有边权全部归零。 题解 考虑每个节点的边进行匹配,如果最 阅读全文
posted @ 2020-09-10 22:34 Artoriax 阅读(211) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/5673/A 题意 有n个篮球运动员,m个球迷。 一个球迷可能是多个球员的粉丝 选择最少的球员进全明星赛,使得所有球迷都愿意观看(至少一个球迷想看的球员入选)。 想看的球员标准如下 有q个粉丝关系的修改,修改完回答询问。$1 \ 阅读全文
posted @ 2020-09-08 14:52 Artoriax 阅读(222) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/5672/C 题意 一棵树,三种操作: 一个中心城市x,所有城市y的值+=w-dist(x,y); 将城市x的值与0取min 询问单点的值。 题解 对于2操作,就相当于对于大于零的点值减去等于点值的数,维护每个点减去的数d[y] 阅读全文
posted @ 2020-09-08 13:49 Artoriax 阅读(167) 评论(0) 推荐(0)
摘要:题意 给出一个长度为n的排列,m次操作,每次操作为$(k,x)$,表示进行x次k-约瑟夫变换 k-约瑟夫变换即:首先把n个元素排列成环,从第一个元素数k个元素,把这个元素删除,并把它放到新排列$P'$中,接着从下一个元素再开始数k个元素,删除,放入,直至没有元素。 题解 首先考虑如何求一个 k-约瑟 阅读全文
posted @ 2020-09-01 15:55 Artoriax 阅读(148) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/5670/H 题意 给出一个序列,q次询问,每次询问$[l,r]$区间内,子区间与有多少种结果 题解 对于固定的右端点,不同的值最多只有log种,把这些值找出来,然后就是查询区间内数的种数的主席树裸题了 代码 #include 阅读全文
posted @ 2020-09-01 15:00 Artoriax 阅读(147) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/5670/B 题意 给一棵树,每条边有边权。可以任意加边和删边,但要满足任何时刻图连通,而且任何一个环的边权异或和为0。求操作后最小权值和 题解 任意两点间连边的权值是固定的,可以预处理给每个点赋值点权,两点间的边权就是点权的异 阅读全文
posted @ 2020-09-01 14:50 Artoriax 阅读(146) 评论(0) 推荐(0)
摘要:https://ac.nowcoder.com/acm/contest/5669/A 题意 给一个有根树,在树上选择 k 个关键点(根必须选) 最小化点到最近关键祖先距离的最大值 求出 k 分别为 1,2,…,n 时答案的和 题解 首先考虑暴力,当k固定,可以二分答案x,每次选择深度最深的点,将它第 阅读全文
posted @ 2020-09-01 10:07 Artoriax 阅读(138) 评论(0) 推荐(0)
摘要:Codeforces 1326E Bombs You are given a permutation, $p_1, p_2, \ldots, p_n$. Imagine that some positions of the permutation contain bombs, such that t 阅读全文
posted @ 2020-03-29 18:30 Artoriax 阅读(233) 评论(0) 推荐(0)
摘要:Codeforces 1323E Instant Noodles Wu got hungry after an intense training session, and came to a nearby store to buy his favourite instant noodles. Aft 阅读全文
posted @ 2020-03-26 17:39 Artoriax 阅读(249) 评论(0) 推荐(0)
摘要:简介 ​ 启发式合并指在合并时,$size$小的集合/数据结构向$size$大的合并,这样,每次$size$必定增加之前的2倍,从而每个元素最多被合并$logn$次,因而所有元素最多插入$nlogn$次,从而用暴力的想法解决题目。 dsu on tree ​ 指:我们在暴力统计子树答案的时候,先暴力 阅读全文
posted @ 2020-01-11 15:41 Artoriax 阅读(264) 评论(1) 推荐(0)
摘要:Description You are given a string S consisting of only lowercase english letters and some queries. For each query (l,r,k), please output the starting 阅读全文
posted @ 2019-09-03 14:26 Artoriax 阅读(133) 评论(0) 推荐(0)
摘要:Description You are given an array a1,a2,...,an(∀i∈[1,n],1≤ai≤n). Initially, each element of the array is unique . Moreover, there are m instructions. 阅读全文
posted @ 2019-09-03 14:15 Artoriax 阅读(197) 评论(0) 推荐(0)
摘要:BZOJ 2115 Xor Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目。 接下来M 行描述 M 条边,每行三个整数Si,Ti ,Di,表示 Si 与Ti之间存在 一条权值为 Di的无向边。 图中可能有重边或自环。 Output 仅包含一个整数, 阅读全文
posted @ 2019-08-21 11:00 Artoriax 阅读(187) 评论(0) 推荐(0)
摘要:简介 线性基是一个集合 从原集合中选取任意多个数异或得到的值都能通过在线性基中选取一些数进行异或得到; 也就是说线性基是对原集合的压缩 构建方法 首先,可以知道 对于集合A = {a1,a2,...,an},将其中的ai(i∈[1,n])用ai ^ aj (j∈[1,n]且j≠i)替换得到集合B = 阅读全文
posted @ 2019-08-21 10:15 Artoriax 阅读(240) 评论(0) 推荐(0)
摘要:HDU 4348 To the moon Description You‘ve been given N integers A [1], A [2],..., A [N]. On these integers, you need to implement the following operatio 阅读全文
posted @ 2019-08-03 14:43 Artoriax 阅读(242) 评论(0) 推荐(0)
摘要:SPOJ QTREE3 Query on a tree again! Description You are given a tree (an acyclic undirected connected graph) with N nodes. The tree nodes are numbered 阅读全文
posted @ 2019-08-03 10:58 Artoriax 阅读(288) 评论(0) 推荐(0)
摘要:简介 树链剖分就是将树划分为多条链,将每条链映射到序列上,然后使用线段树,平衡树等数据结构来维护每条链的信息。 树剖将树链映射到序列上后用线段树等数据结构来维护树链信息,所以可以像区间修改,区间查询一样进行树上路径的修改、查询等操作 基本概念 重儿子:子树结点数目最多的儿子(size最大的点); 重 阅读全文
posted @ 2019-08-03 10:30 Artoriax 阅读(165) 评论(0) 推荐(0)
摘要:Codeforces 438D The Child and Sequence Description At the children's day, the child came to Picks's house, and messed his house up. Picks was angry at 阅读全文
posted @ 2019-08-03 10:05 Artoriax 阅读(275) 评论(0) 推荐(0)
摘要:引入 权值树状数组就是数组下标是数值的数组,数组存储下标对应的值有几个数 题目 HDU 2852 KiKi's K Number 题意 几种操作,p=0代表push:将数值为a的数压入盒子 p=1代表pop,代表删除数值为e的数,如果没有这个数,输出No Elment! p=2代表query,查询比 阅读全文
posted @ 2019-04-10 15:09 Artoriax 阅读(335) 评论(0) 推荐(0)
摘要:引入 树状数组用于求区间和,其修改和查询的复杂度都是$O(logn)$,非常好写,比较小巧。 几种基础用法,关于权值树状数组在另一篇博客。 单点修改,区间查询 区间和 HDU 1166 敌兵布阵 模版: c++ include define N 50005 using namespace std; 阅读全文
posted @ 2019-04-10 14:56 Artoriax 阅读(211) 评论(0) 推荐(0)