随笔分类 - 数据结构 -- 线性基
摘要:"PTA" "牛客" A. Alternative Accounts 题意: 现在有$n$个账号,举办$k,k\leq 3$场比赛。 现在每个人可能有多个账号,但每次只能用一个账号参加一场比赛。 现在给出$k$场比赛的参赛账号。 现在询问最少有多少人参加比赛。 思路: 分情况讨论即可。 我们可以直接
阅读全文
摘要:"传送门" 题意: 给出$s,s\leq 60$张图,每张图都有$n,n\leq 10$个点。 现在问有多少个图的子集,满足这些图的边“异或”起来后,这张图为连通图。 思路: 直接考虑判断图的连通不好判断,所以考虑枚举连通块来进行容斥。 定义$f_i$表示有$i$个连通块的答案,发现连通块这个东西也
阅读全文
摘要:"传送门" 题意: 给出$n$个数$a_i$,现在要将其分为两堆,使得这两堆数的异或和相加最大。 思路: 考虑线性基贪心求解。 但直接上线性基求出一组的答案是行不通的,原因之后会说。 注意到如果二进制中某一位$1$的个数出现了奇数次,那么无论怎么分,都会有一组中这位为$1$;对于出现偶数次的位,两组
阅读全文
摘要:2019 Multi University Training Contest 1 "题目链接" Blank 题目要求只能放四个数,并且对于每个区间而言,统计个数时会发现只有最后一个位置有贡献,所以考虑$dp(i,j,k,t,p)$表示前$i$个字符,四个数的最后一个位置从小到大为$j,k,t,p$,
阅读全文
摘要:2019牛客多校第四场题解 "题目链接" A.meeting 设最远关键点距离为$d$,那么答案就是$\lceil\frac{d}{2}\rceil$。 直接换根胡乱dp也行。。 Code cpp include using namespace std; typedef long long ll;
阅读全文
摘要:2019牛客多校训练第一场题解 题目链接 A.Equivalent Prefixes 考虑位置$i$为区间最小值的下标,那么只需要找到左边第一个值比它小的位置就行了。单调栈搞一搞就行。 Code ```cpp #include using namespace std; const int N = 5
阅读全文
摘要:F. Ivan and Burgers 题目链接:https://codeforces.com/contest/1100/problem/F 题意: 给出n个数,然后有多个询问,每次回答询问所给出的区间的异或和最大值。 题解: 考虑离线做法,先把所有的询问区间按照右端点进行排序,然后从1开始逐个将a
阅读全文
摘要:2115: [Wc2011] Xor Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 5714 Solved: 2420 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2115 Descrip
阅读全文
摘要:2460: [BeiJing2011]元素 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 2910 Solved: 1535 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2460 Desc
阅读全文
摘要:Educational Codeforces Round 58 (Rated for Div. 2) 题目总链接:https://codeforces.com/contest/1101 A. Minimum Integer 题意: 多组数据,给你三个数l,r,d,要求在区间[l,r]之外找一个最小的
阅读全文