相信大家在刚学习C/C++时,都会对数组下标从0开始编号有疑惑.尽管我是喜欢从0开始编号的“0党”,但是也有很多的人是喜欢从1开始编号. 意识到C/C++数组与指针具有一定的相似性后,我开始构思如何仿造Pascal实现类似于array[1..100]这样的声明方法. 今天和大神gjs讨论后,他给出第一个实现方案: ]; ]; a = buf + ; //等价于a = &b[10] 这样目的是访问a[0]的时候相当于访问b[10],因此a[-10]相当于访问b[0],这样我们可以通过访问a来访问b…
不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!! 最近一段时间学习了廖雪峰老师学的Python学习资料,给自己的帮助很大,同时也学到的了很多,今天做了一道练习题,对于Python是小白的我来说能够靠自己的思考写出来也觉得是挺高兴的! 练习题: 回数是指从左向右读和从右向左读都是一样的数,例如 12321 , 909 .请利用 filter() 滤掉非回数: 方案一:def is_palindrome(n): nn = str(n) #转成字符串 return n…
--表名,表占用空间大小(MB),行数select table_name, round(num_rows * avg_row_len /1024/1024, 8) as total_len, num_rows from user_tables where table_name = '表名' order by table_name; --表名,列名,列占用空间大小(MB),非空行数 select c.table_name, c.column_name, round((t.num_rows - c.…
1. 问题 给定一列数字数组 a[n], 求这个数组中最长的 "和>=0" 的子数组. (注: "子数组"表示下标必须是连续的. 另一个概念"子序列"则不必连续) 举个例子: 数组 a[n] = {1, 2, -4, 5, -6, 1}, 最长的和非负的子数组为 {1, 2, -4, 5}, 其他子数组要么和<0, 要么长度<4 2. 暴力法 我们先来看看暴力解法和时间复杂度 1. 如果我求出所有的数组前缀和 即P(i) = a…
非旋  $treap$ (FHQ treap)的简单入门 前置技能 建议在掌握普通 treap 以及 左偏堆(也就是可并堆)食用本blog 原理 以随机数维护平衡,使树高期望为logn级别, FHQ 不依靠旋转,只有两个核心操作merge(合并)和split(拆分) 所谓随机数维护平衡就是给每个节点一个随机值 key (下文中没有加随机的就代表是真实权值), 然后整棵树中 key 值要满足小(大)根堆的性质(也就是heap), 同时也要满足平衡树(tree)的性质(也就是每个节点左子树内节点真实…
1.文件类型类似于这样: 不过数据量比这个要更大一点. 2.对应上述数据的运行结果: import matplotlib.pyplot as plt with open('test.txt') as fob: lines=fob.readlines() #去除掉每行最后一个换行符,就可以正确统计了,我也真不知道是为什么 for i in range(len(lines)): lines[i]=lines[i].rstrip() #在这里要创建一个长度的list进行统计 #但是这个地方的lines…
二逼平衡树 bzoj-3196 Tyvj-1730 题目大意:请写出一个维护序列的数据结构支持:查询给定权值排名:查询区间k小值:单点修改:查询区间内定值前驱:查询区间内定值后继. 注释:$1\le n,m\le 5\times 10^4$. 想法: 在这里给予三种题解: 1)首先,最容易想到的应该就是树状数组套主席树也就是常说的带修改主席树. 第一个操作是简单的,我们只需要提取出当前区间的权值线段树后在上面二分即可. 第二个操作是主席树的看家本领好伐 第三个操作就是待修改主席树的意义.我们利用…
最小周期串:如果s是ss的周期串,那么ss就可以表示成几个周期的s,如果s是ss的最小周期串,那么s就是ss的周期串中最小的一个.例,ZgxZgxZgxZgx的最小周期串是Zgx.{很好理解} 给你一串数字ss,找出它的最小周期串n,求n!十进制表示的最末尾的非零数.ss的长度小于等于100. /* 朴素版 */ #include<iostream> #include<string> using namespace std; string s; ,i; ; ; ]={,,,,,,,…
[抄题]: Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]. Solve it without division and in O(n). For example, given [1,2,3,4], return [24,12,8,…
题意: N个点形成一棵树.给出根结点P还有树结构的信息. 输出每个点的F[i].F[i]:以i为根的所有子结点中编号比i小的数的个数. 0<n<=10^5 思路: 方法一:直接DFS,进入结点x时记录一下比x小的数的个数.出来x时记录一下比x小的数的个数.相减就是F[x].结合树状数组. 方法二:写下DFS序.对DFS序列建线段树.然后从小到大对结点进行插入.用线段树统计. 代码:(方法一) int const N=1e5+5; int n,p; vector<int> G[N];…