~~智障如我~~ 看题解看了半天才懂 其实就是一道莫比乌斯反演+离线处理+树状数组维护前缀和的题目 上代码 ...
分类:
其他好文 时间:
2020-01-28 14:10:25
阅读次数:
72
题目大意: 你的任务是分类DNA字符串(只有ACGT四个字符,所有字符串长度相同)。 根据逆序数,排序程度从好到差。 第一次用到了“类”,和c++里的结构体有类似之处 一次AC,简单暴力的冒泡排序,要不下次来个并归排序? 1 import java.util.Scanner; 2 3 public ...
分类:
编程语言 时间:
2020-01-27 19:14:54
阅读次数:
71
1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 Treap 随机 ...
分类:
其他好文 时间:
2020-01-27 19:00:01
阅读次数:
97
应该也可以用线段树/树状数组区间更新怪兽的生命值来做 1 #define HAVE_STRUCT_TIMESPEC 2 #include<bits/stdc++.h> 3 using namespace std; 4 long long pre[200007]; 5 int main(){ 6 io ...
分类:
其他好文 时间:
2020-01-27 17:31:04
阅读次数:
62
树状数组: 一共需要三个函数: ①lowbit(int x) ②add(int x,int p) ③query(int x) 1.动态求连续区间和 给定 n 个数组成的一个数列,规定有两种操作,一是修改某个元素,二是求子数列 [a,b]的连续和。 输入格式 第一行包含两个整数 n 和 m,分别表示数 ...
分类:
编程语言 时间:
2020-01-27 17:24:35
阅读次数:
89
https://ac.nowcoder.com/acm/problem/54585 题意:给500000个数构成一个数列,求递增个数为k的子序列个数,2<=k<=10。 题解: 1.求递增子序列个数,子序列不是子串,可以散乱分布。原数组为a,排序后为数组b,遍历a数组,每次求得ai在数组b的下标位置 ...
分类:
编程语言 时间:
2020-01-27 17:17:25
阅读次数:
83
这道题在家里仔细想想还是挺好想的... 考场的时候还是要镇定,给每道题要安排足够的思考时间. code: #include <cstdio> #include <cstring> #include <vector> #include <string> #include <algorithm> #de ...
分类:
编程语言 时间:
2020-01-26 20:43:45
阅读次数:
63
基本用途:维护序列的前缀和。 对于给定的序列a,建立一个数组c,其中c[x]保存序列a的区间[x-lowbit(x)+1,x]中所有数的和,其中lowbit(x)指:x的二进制下最小的2的次幂,如: lowbit(7)=1,lowbit(6)=2,lowbit(5)=1,lowbit(4)=4 该结 ...
分类:
编程语言 时间:
2020-01-26 19:03:58
阅读次数:
56
题解 第一种方法:令数组tree[]记录栈中的元素,栈中的数值 x 的个数为 tree[x] 。树状数组维护tree[],然后二分查找。 第二种方法:利用分块,以一定长度区间为单位,记录栈中数值的个数,然后暴力查找。 代码 //树状数组 + 二分 #include<bits/stdc++.h> us ...
分类:
其他好文 时间:
2020-01-25 22:07:44
阅读次数:
82
"C题地址:大小接近的点对" 分析题目: 方法一: 在dfs序上,树状数组维护每个数出现的次数;因为在dfs序上根比它的子孙先遍历到(遍历到根时,还没加入遍历孩子) 题目要统计 u是v的祖先时,dfs序就保证了,"在遍历到的结点x是根,而接下来遍历的都是它的子孙", 递归思想,叶节点先计算完,再向父 ...
分类:
编程语言 时间:
2020-01-25 18:19:37
阅读次数:
90