树状数组
奕申
acmer菜狗一个,冲冲冲!
展开
-
计蒜客 奇怪的报数游戏
题目描述大致思路树状数组 + 二分这里先给出一个公式 第 i 个数的编号= i 之前比 i 小的总数量+ i 之后比 i 小的总数量+1例如 1 4 3 6 2 5 这个序列,我们可以用这个序列来验证上述的公式,比如 3 = 1 (3前边只有1比3小,所以只有1个) + 1 (3后边只有2比3小,所以只有1个) + 1,对吧。已经找出来的编号我们可以存进树状数组中,这样我...原创 2018-12-26 17:55:51 · 252 阅读 · 0 评论 -
计蒜客木桩涂涂看
题目个木桩排成一排,从左到右依次编号为 1,2,3…n1,2,3…n。每次给定 22 个整数 a,b(a≤b),蒜头君便骑上他的电动车从木桩 a 开始到木桩 b 依次给每个木桩涂一次颜色。但是 n 次以后 lele 已经忘记了第 i 个木桩已经涂过几次颜色了,你能帮他算出每个木桩被涂过几次颜色吗?输入格式第一行是一个整数 n(n≤100000)。接下来的 n 行,每行包括两个整数 a, b...原创 2018-12-21 11:29:51 · 205 阅读 · 0 评论 -
计蒜客 校长的问题
题目分析边录边处理这道题不能把信息全录进树状数组再查询,我们需要先把排名和问题都先录进数组中,校长的问题信息按a从小到大排个序。然后按照学号,依次录入排名,当循环中录到第a个学生时,且校长的其中一个问题也问到前a个学生,此时就可以查询前树状数组的前b个和,这个前b个和就是答案。AC#include<iostream>#include<cstring>#inc...原创 2018-12-25 17:34:28 · 235 阅读 · 0 评论 -
排序 计蒜客
题目分析**思想:**将一组数从小到大排序,求其最小交换次数,一个单独数字的交换次数,应该就是求这个数前面有多少个数比此数要大的数的个数 ; 总的交换次数,就是求每个数的前面有多少个数比此数大的个数之和。做到这里,应该想到之前所做的题目,棋子等级,这道题我没有写博文,就没办法贴出来,就是利用树状数组getsum()求一个数前面有多少个数比此数小。但是题目是求比此数大的个数,而getsum...原创 2019-01-21 16:00:11 · 223 阅读 · 0 评论