这题一开始把我看愣了。难道是线段树套树状数组?空间根本开不下好不好!!! 后来想到维护区间极值,从而排除不必要情况,降低复杂度。 无需修改,码量顿减…… 注意,同一组数据放一行,注意行末空格。 #include<bits/stdc++.h> using namespace std; #define ...
分类:
其他好文 时间:
2020-02-25 17:28:49
阅读次数:
63
int c[50005]; //对应原数组和树状数组 int lowbit(int x){ return x&(-x); } void updata(int i,int k){ //在i位置加上k while(i <= n){ c[i] += k; i += lowbit(i); } } int g ...
分类:
编程语言 时间:
2020-02-25 09:54:54
阅读次数:
81
######################################################## """ 一、树 1、什么是树? 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。 把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下 ...
分类:
编程语言 时间:
2020-02-23 09:39:17
阅读次数:
74
转自原文Window平台下tree 命令使用,19.8 Tree for Windows工具: 打开进入 Tree for Windows 页面,选择下载 Binaries zip 文件。 解压压缩包,找到压缩包内的 bin 目录,将 bin 目录下的 tree.exe 复制 找到 C:\\Prog ...
题意 让你构造一个长度为n的序列,记为p1……pn,(这个序列是1~n的全排列的一种) 给你n个数,记为s1……sn,si的值为p1……pi-1中小于pi的数的和。 思路 显然,应该倒着来,也就是从pn 开始构造,这样的话,当要填pi 的时候,p1到pi-1就是所有的还未填的数,那么我们只需要去找哪 ...
分类:
编程语言 时间:
2020-02-19 00:35:40
阅读次数:
92
分析:我们可以逆向考虑(因为正向的话由于第一位的逆序对数一定是0,算不出什么),对于第i个数,它使逆序对的数量增加了temp=num[i]-num[i-1],即区间【1,i-1】内比这个数大的有temp个,即它在i个数中从小到大排在(i-temp)个,那么找到这个数即可。 对于答案序列来讲,他是一个 ...
分类:
编程语言 时间:
2020-02-17 23:51:27
阅读次数:
82
"题目链接" ac代码(注意字符读入前需要注意回车的影响) ...
分类:
编程语言 时间:
2020-02-16 01:39:45
阅读次数:
74
这样的数据结构称作树状数组,它支持O(logN)的单点修改和区间查询,效率高并且代码简洁,缺点在于适用范围不如线段树广。不难看出(雾),tree[i]表示a[i]及之前的 lowbit(i)个 数,定义lowbit(i)等于取i的二进制中最后一个'1'表示的大小观察发现(。),修改a[i]只需更新包 ...
分类:
编程语言 时间:
2020-02-16 01:10:00
阅读次数:
72
xPath:一种HTML和XML的查询语言,他能在XML和HTML的树状结构中寻找节点 安装xPath: pip方法: pip install lxml win+R:cmd 打开命令控制台: 此时可以看到xml已经安装完成 HTML: 一种网页的标准、规范。编写网页文档的主要语言。超文本链接【可以跳 ...
分类:
Web程序 时间:
2020-02-15 23:19:16
阅读次数:
104