随笔分类 - 数据结构—树状数组
摘要:http://hihocoder.com/problemset/problem/1145?sid=1244164 题意: 幻想乡一共有n处居所,编号从1到n。这些居所被n-1条边连起来,形成了一个树形的结构。 每处居所都居住着一个小精灵。每天小精灵们都会选出一个区间[l,r],居所编号在这个区间内的
阅读全文
摘要:https://www.nowcoder.com/acm/contest/38/E 题意: 思路: 树状数组维护。从大佬那里学习了如何处理爆long long的方法。
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4325 题意:给出n个区间和m个询问,每个询问为一个x,问有多少个区间包含了x。 思路: 因为数据量比较多,所以需要离散化。区间的离散化需要注意一下,如果端点不连续的话,需要额外插点。 区间情况就用树状数组来维护。
阅读全文
摘要:http://acm.split.hdu.edu.cn/showproblem.php?pid=5792 题意: 思路: lmin[i]:表示左边比第i个数小的个数。 lmax[i]:表示左边比第i个数大的个数。 rmin[i]:表示右边比第i个数小的个数。 rmax[i]:表示右边比第i个数大的个
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6203 题意: n+1 个点 n 条边的树(点标号 0 ~ n),有若干个点无法通行,导致 p 组 U V 无法连通。问无法通行的点最少有多少个。 思路: 贪心思维,破坏两个点的LCA是最佳的。那么怎么判断现在在(
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5877 题意: 给出一棵树,每个顶点都有权值,现在要你找出满足要求的点对(u,v)数,u是v的祖先并且a[u]*a[v]<=k。 思路: 转化一下,a[v]<=k/a[u],k/a[u]的最大值也就是k/a[v],
阅读全文
摘要:http://codeforces.com/contest/799/problem/C 题意: 有n做花园,有人有c个硬币,d个钻石 (2 ≤ n ≤ 100 000, 0 ≤ c, d ≤ 100 000) ,每一个花园用三个维度描述(a,b,c),分别是美丽度,所花钱币个数,钱币种类,当然,钱币
阅读全文
摘要:http://codeforces.com/contest/703/problem/D 题意: 给出一行数,有m次查询,每次查询输出区间内出现次数为偶数次的数字的异或和。 思路: 这儿利用一下异或和的性质,在一个区间中,我们如果把所有数字都异或的话,可以发现最后偶数次的数字异或后都变成了0,只剩下了
阅读全文
摘要:http://poj.org/problem?id=2481 题意: 有n头牛,每头牛有一个区间[S,E],求每头牛比它区间大的牛的个数。 思路: 先对数据进行一下排序,先按右坐标按降序排列,那么接下来我们只需要比较左坐标的数值大小就可以了。
阅读全文
摘要:http://poj.org/problem?id=2352 题意: 给出每个星星的x、y坐标,计算每颗星星左方和正下方的星星个数。 思路:由于星星是根据y坐标递增的基础上再根据x坐标递增的顺序给出,所以我们只需要考虑横坐标上的星星情况,至于正下方的星星个数,我们只需要记录一下最后加上即可。
阅读全文
摘要:http://poj.org/problem?id=2299 题意:给出一组数,求逆序对。 思路: 这道题可以用树状数组解决,但是在此之前,需要对数据进行一下预处理。 这道题目的数据可以大到999,999,999,但数组肯定是无法开这么大的,但是每组数据最多只有500000个,那么,怎么办呢,离散化
阅读全文
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1166 题意:第一行一个整数T,表示有T组数据。 每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50
阅读全文
摘要:http://acm.nyist.net/JudgeOnline/problem.php?pid=116 题意: 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。 小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。 南将军的某次询问之
阅读全文
摘要:https://vjudge.net/problem/UVALive-4329 题意: 一条大街上住着n个兵乓球爱好者,经常组织比赛切磋技术。每个人都有一个不同的技能值ai。每场比赛需要3个人:两名选手,一名裁判。他们有一个奇怪的规定,即裁判必须住在两名选手的中间,并且技能值也在两名选手之间。问一共
阅读全文