本专栏持续输出数据结构题目集,欢迎订阅。文章目录题目代码题目请编写程序,根据给定信息构建森林,并找出给定结点所在树的根结点。输入格式:输入首先给出一个正整数n(0#defineMAX_N20intmain(){intn;scanf("%d",&n);intparent[MAX_N];chardata[MAX_N];//读取输入数据for(inti=0;i
python学智能算法(二十四)|SVM-最优化几何距离的理解
引言前序学习过程中,已经对几何距离的概念有了认知,学习链接为:几何距离这里先来回忆几何距离δ的定义:δ=mini=1...myi(w∥w∥⋅xi+b∥w∥)\delta=\min_{i=1...m}y_{i}(\frac{w}{\left\|w\right\|}\cdotx_{i}+\frac{b}{\left\|w\right\|})δ=i=1...mminyi(∥w∥w⋅xi+∥w∥b)对上
树莓派i2c通信C语言,基于I2C的STM32与树莓派通信
茶话股经
树莓派i2c通信C语言
传统的串口通信会丢失数据,不可靠,故采用I2C(同步串行总线)通信。树莓派上使用python脚本,后期将使用c或java重写,目前没有需求。树莓派作主机(Master),stm32作从机(Slave)。特别需要注意的是,I2C的通信虽然只需要两根线就能通信,但是需要第三根线接地GND(提供判断低电位的能力),否则不能正常识别stm32从机使用ArduinoIDE编程以下是STM32的代码:#inc
华为OD机试2025C卷 - 计算三叉搜索树的高度 (C++ & Python & JAVA & JS & GO)
无限码力
华为OD机试真题刷题笔记华为od华为OD机试2025C卷华为OD2025C卷华为OD机考2025C卷
计算三叉搜索树的高度华为OD机试真题目录点击查看:华为OD机试2025C卷真题题库目录|机考题库+算法考点详解华为OD机试2025C卷100分题型题目描述定义构造三叉搜索树规则如下:每个节点都存有一个数,当插入一个新的数时,从根节点向下寻找,直到找到一个合适的空节点插入。查找的规则是:如果数小于节点的数减去500,则将数插入节点的左子树如果数大于节点的数加上500,则将数插入节点的右子树否则,将数
支持向量机SVM
李昊哲小课
sklearn人工智能机器学习支持向量机算法机器学习sklearn人工智能数据挖掘
支持向量机SVM一、支持向量机算法支持向量机(SupportVectorMachine,SVM)是一种用于分类和回归分析的机器学习算法。分类场景举例(更容易理解)假设现在有一个二维平面上散落着一些点,这些点分为两类,一类是红色的圆形点,另一类是蓝色的方形点。我们的任务就是找到一条直线,能够把这两类点尽可能准确地分开。支持向量机算法做的事情就和这个类似。算法核心思想它不是随便找一条能分开两类数据的直
打卡Day12
HAhhhiu
python学习打卡python机器学习
@浙大疏锦行知识点:遗传算法:来源于自然界中的生物进化和基因遗传思想:模拟生物进化过程,通过“选择(保留优秀解)、交叉(组合解的特征)、变异(引入新特征)”迭代优化我想培养出一只超级泰迪犬?该怎么办呢?首先,我有一群泰迪犬,但是小泰迪们的各种基因不同,形态各色,我只想要一只高大、卷毛和聪明的泰迪。(这是初始解的集合,也是案例学习代码中,我们所设定的随机森林中的一堆的参数范围)接着,我开始挑选符合上
每日面试题01 HashMap的底层原理
℡余晖^
每日面试题java开发语言
一、HashMap的核心存储结构HashMap是基于数组+链表+红黑树的复合数据结构实现的(JDK1.8及以后)。其核心设计目标是通过哈希函数将键(Key)映射到数组的某个下标位置,从而实现O(1)时间复杂度的增删改查操作(理想情况)。初始结构:动态数组HashMap底层维护一个Node[]table数组(JDK1.8起),默认初始容量为16(DEFAULT_INITIAL_CAPACITY=11
财富自由之路第三章
可可_4b5e
读好书一定要慢。文字的出现,使人类与其他动物区分开来。人类也正是因为有了文字才与其它物种有了本质上的不同。而阅读,对于任何一个正常人类来说都具有非凡的意义。人类之外的物种只能依赖最落后但被称为神奇的方式积累经验:基因遗传。啄木鸟可以本能地采用最优算法获取食物——而一个MIT的数学博士面对同样的问题却不见得可以迅速解决;而啄木鸟的小脑袋在没有受过高等教育的情况下,是如何得到结果的呢?答案是:通过上百
Game Programming with DirectX -- 01[初识Direct3D]
GameProgrammingwithDirectX--01[初识Direct3D]第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3
Java数据结构之用双向链表实现栈的入栈和出栈操作
packageLinkList;//使用双链表定义栈的基本操作publicclassStackByDoubleLinkextendsDoubleLinkList{//栈继承自双链表//DoubleNodehead=null;//双链表压栈操作---向双链表插入一个元素publicvoidpush(inta){HeadInsertLinkList(a);//返回压栈后的链表}//双链表出栈操作---
【数据结构 | C语言】Dijkstra算法(迪杰斯特拉算法)
竹一笔记
C数据结构数据结构c语言开发语言
文章目录一、Dijkstra算法介绍二、算法C语言三、完整代码四、示例一、Dijkstra算法介绍Dijkstra算法解决了单源点的最短路径Dijkstra算法是贪心算法步骤:从源点出发,找到已连通点与未连通点的最小代价边连接最小代价边,将该顶点归并到已连接顶点集将该顶点连通的边的代价与最小代价比较,若代价小于最小代价,则更新最小代价边重复操作,直到连通所有顶点为止Dijkstra算法与Prim算
数据结构进阶:使用链表实现栈和队列详解与示例(C, C#, C++)
文章目录1、栈与队列简介栈(Stack)队列(Queue)2、使用链表实现栈C语言实现C#语言实现C++语言实现3、使用链表实现队列C语言实现C#语言实现C++语言实现4、链表实现栈和队列的性能分析时间复杂度空间复杂度性能特点与其他实现的比较总结在软件开发中,数据结构是不可或缺的一部分。本文将详细介绍如何使用链表来实现栈和队列这两种基本的数据结构,并提供C、C#和C++三种语言的示例代码。1、栈与
初识Direct3D
gauss
客户端编程direct3dDirect3DnullNULLparameters工作数据结构
第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3DSurface9f.IDirect3DTexture9g.ID3DXMesh再看看
lab2-2 Dijkstra算法求由顶点a到顶点h的最短路径
西一安鲜
算法
1.问题[描述算法问题,首选形式化方式(数学语言),其次才是非形式化方式(日常语言)]对于下图使用Dijkstra算法求由顶点a到顶点h的最短路径,按实验报告模板编写算法。2.解析Dijkstra算法(单源点路径算法,要求:图中不存在负权值边),Dijkstra算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。Dijkstra(迪杰斯特拉)算法是典型的
[数据结构]#3 循环链表/双向链表
Marvinem13
数据结构链表学习linux
循环链表简单的来说,就是将原来单链表中最有一个元素的next指针指向第一个元素或头结点,链表就成了一个环,头尾相连,就成了循环链表——circultlarlinkerlist。注意非空表,和空表。多数会加入头结点。原来结束的条件是:p->next!=NULL——>p-next!=Head我们再结合单向链表的结构,则可得到更加实用的双向链表——doublelinklist。其基本框架的搭建:#inc
01[初识Direct3D]
第一卷朦胧的3D世界第一集初识Direct3D简介我们通过2个例子来简单的认识3D1.1接口和数据结构我们首先来看看我们以后用的比较多的接口,a.IDirect3D9b.IDirect3DDevice9c.IDirect3DVertexBuffer9d.IDirect3DIndexBuffer9e.IDirect3DSurface9f.IDirect3DTexture9g.ID3DXMesh再看看
单源最短路之dijkstra
「維他檸檬茶」
算法最短路
迪杰斯特拉算法主要用于解决单源最短路问题,主要有两种,朴素版和堆优化版,数据量较大时用堆优化版。迪杰斯特拉朴素版:#include#includeusingnamespacestd;#defineintlonglong//可能会超时#definePIIpairconstintINF=0x3f3f3f3f,mod=998244353;constintN=505;intn,m;intg[N][N],m
【初学数据结构】关于KMP算法的回退思考
Das1
算法数据结构
初学KMP算法时,理解next数组以及回退过程是一个超级劝退过程。如果实在理解不了的,可以直接背。虽然作为十大经典算法之一,但是并不是非常重要,也就考试会考到罢了。关键数据结构解释next数组:next[k]是t[0]~t[j-1]这个串的最大相同前缀的后一个地址,同时也表示最大相同前缀的数量。s串,t串:表示两个索引j,k在进行匹配时所指代的字串next数组是什么?求next数组实际上就是求对于
【算法-图论】图的定义与一些常用术语
小蛋编程
C++c++算法
【算法-图论】图的定义图论编辑器1:https://csacademy.com/app/graph_editor/图论编辑器2:https://graphonline.top/ch/1.图是什么图(graph)由节点(node)和边(edge)组成。其中,节点集合记为VVV,边集合记为EEE。每条边连接两个节点,某些图的边可能具有方向性。集合元素的数量用该集合的绝对值来表示。通过对比可以看出,图比
Java 数据结构篇-用链表、数组实现栈
2401_86450001
java数据结构链表
2.7用链表实现栈的完整代码3.0用数组来实现栈3.1实现栈-入栈(push)3.2实现栈-出栈(pop)3.3实现栈-查找栈顶元素(peek)3.4实现栈-判断是否为空栈(isEmpty)3.5实现栈-判断是否为满栈(isFull)3.6实现栈-重写迭代器3.7用数组实现栈的完整代码1.0栈的说明栈是一种数据结构,它具有后进先出(LIFO)的特性,即最后入栈的元素最先出栈。栈通常可以通过数组或链
【PTA数据结构 | C语言版】求图中关键活动
本专栏持续输出数据结构题目集,欢迎订阅。文章目录题目代码题目请编写程序,实现求带权的有向图中关键活动的算法。输入格式:输入首先在第一行给出两个正整数,依次为当前要创建的图的顶点数n(≤100)和边数m。随后m行,每行给出一条有向边的起点编号、终点编号、权重。顶点编号从0开始,权重(≤100)为整数。同行数字均以一个空格分隔。输出格式:按格式输出关键活动,其中u为起点编号,v为终点编号。按起点编号的
【PTA数据结构 | C语言版】最短路的交点
本专栏持续输出数据结构题目集,欢迎订阅。文章目录题目代码题目给定有向加权图G,和4个顶点u,v,s,t。假设图G中所有边的权值都非负。设计一个算法来判定“从u到v的最短路径”和“从s到t的最短路径”是否存在一个交点w。也即,顶点w是u到v的最短路径上的一个顶点,同时也是s到t的最短路径上的一个顶点。注意:最短路径包含两个端点;一对顶点间的最短路径可能不止一条,求交点时必须将所有最短路径考虑在内。输
【PTA数据结构 | C语言版】哥尼斯堡的“七桥问题”
秋说
PTA数据结构题目集数据结构c语言算法
本专栏持续输出数据结构题目集,欢迎订阅。文章目录题目代码题目哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示。可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(LeonhardEuler,1707—1783)最终解决了这个问题,并由此创立了拓扑学。这个问题如今可以描述为判断欧拉回路是否存在的问题。欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到
【PTA数据结构 | C语言版】斜堆的合并操作
本专栏持续输出数据结构题目集,欢迎订阅。文章目录题目代码题目请将给定数据顺次插入初始为空的斜堆,用此法建立两个斜堆,再将两堆合并。为了验证结果的正确性,输出结果堆的前序和中序遍历序列。输入格式:输入先后给出两个堆的元素。每个堆元素输入的格式为:首先在一行中给出正整数n(≤1000),即元素个数;随后一行给出n个元素的整数键值,范围不超过int型整数。输出格式:首先按照前序遍历、其次按照中序遍历,输
[数据结构]#4 用链表实现的栈结构
Marvinem13
数据结构链表学习linux
使用链表来实现栈是一种比较常见的做法,它能够有效利用链表的动态特性来支持栈的一些基本操作,例如:1.Push(入栈):向栈中添加一个元素。2.Pop(出栈):从栈中移除顶部的元素。3.Peek/Top(查看栈顶元素):返回栈顶元素但不将其移除。4.IsEmpty(判断栈是否为空):检查栈中是否有元素。我们再来回忆一下链表,它由一系列节点组成,每个节点包含两部分:数据域和指针域(指向下一个节点)。对
分享100个最新免费的高匿HTTP代理IP
mcj8089
代理IP代理服务器匿名代理免费代理IP最新代理IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
120.198.243.130:80,中国/广东省
58.251.78.71:8088,中国/广东省
183.207.228.22:83,中国/
mysql高级特性之数据分区
annan211
java数据结构mongodb分区mysql
mysql高级特性
1 以存储引擎的角度分析,分区表和物理表没有区别。是按照一定的规则将数据分别存储的逻辑设计。器底层是由多个物理字表组成。
2 分区的原理
分区表由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们可以直接访问各个分区。存储引擎管理分区的各个底层
表和管理普通表一样(所有底层表都必须使用相同的存储引擎),分区表的索引只是
JS采用正则表达式简单获取URL地址栏参数
chiangfai
js地址栏参数获取
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
怎样将数据表拷贝到powerdesigner (本地数据库表)
Array_06
powerDesigner
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
logbackのhelloworld
飞翔的马甲
日志logback
一、概述
1.日志是啥?
当我是个逗比的时候我是这么理解的:log.debug()代替了system.out.print();
当我项目工作时,以为是一堆得.log文件。
这两天项目发布新版本,比较轻松,决定好好地研究下日志以及logback。
传送门1:日志的作用与方法:
http://www.infoq.com/cn/articles/why-and-how-log
上面的作
新浪微博爬虫模拟登陆
随意而生
新浪微博
转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235
近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。
现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求
synchronized
香水浓
javathread
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然
maven 简单实用教程
AdyZhang
maven
1. Maven介绍 1.1. 简介 java编写的用于构建系统的自动化工具。目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。 1.2. Maven资源 见官方网站;The 5 minute test,官方简易入门文档;Getting Started Tutorial,官方入门文档;Build Coo
Android 通过 intent传值获得null
aijuans
android
我在通过intent 获得传递兑现过的时候报错,空指针,我是getMap方法进行传值,代码如下 1 2 3 4 5 6 7 8 9
public
void
getMap(View view){
Intent i =
apache 做代理 报如下错误:The proxy server received an invalid response from an upstream
baalwolf
response
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
Tomcat6 内存和线程配置
BigBird2012
tomcat6
1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下, 在catalina.bat最前面
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms5
Karam与TDD
bijian1013
KaramTDD
一.TDD
测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。
TDD的原则很简单:
a.只有当某个
[Zookeeper学习笔记之七]Zookeeper源代码分析之Zookeeper.States
bit1129
zookeeper
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在
【Scala十四】Scala核心八:闭包
bit1129
scala
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
android发送json并解析返回json
ronin47
android
package com.http.test;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import
一份IT实习生的总结
brotherlamp
PHPphp资料php教程php培训php视频
今天突然发现在不知不觉中自己已经实习了 3 个月了,现在可能不算是真正意义上的实习吧,因为现在自己才大三,在这边撸代码的同时还要考虑到学校的功课跟期末考试。让我震惊的是,我完全想不到在这 3 个月里我到底学到了什么,这是一件多么悲催的事情啊。同时我对我应该 get 到什么新技能也很迷茫。所以今晚还是总结下把,让自己在接下来的实习生活有更加明确的方向。最后感谢工作室给我们几个人这个机会让我们提前出来
据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码
bylijinnan
java
public class ScalesBalance {
/**
* 题目:
* 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个)
* 将重物放到天平左侧,问在两边如何添加砝码使两边平衡
*
* 分析:
* 三进制
* 我们约定括号表示里面的数是三进制,例如 47=(1202
dom4j最常用最简单的方法
chiangfai
dom4j
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要
简单HBase笔记
chenchao051
hbase
一、Client-side write buffer 客户端缓存请求 描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。 可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认关闭。 二、Scan的Caching 描述: next( )方法请求一行就要使用一次RPC,即使
mysqldump导出时出现when doing LOCK TABLES
daizj
mysqlmysqdump导数据
执行 mysqldump -uxxx -pxxx -hxxx -Pxxxx database tablename > tablename.sql
导出表时,会报
mysqldump: Got error: 1044: Access denied for user 'xxx'@'xxx' to database 'xxx' when doing LOCK TABLES
解决
CSS渲染原理
dcj3sjt126com
Web
从事Web前端开发的人都与CSS打交道很多,有的人也许不知道css是怎么去工作的,写出来的css浏览器是怎么样去解析的呢?当这个成为我们提高css水平的一个瓶颈时,是否应该多了解一下呢?
一、浏览器的发展与CSS
《阿甘正传》台词
dcj3sjt126com
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
Java处理JSON
dyy_gusi
json
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)
win7下nginx和php的配置
geeksun
nginx
1. 安装包准备
nginx : 从nginx.org下载nginx-1.8.0.zip
php: 从php.net下载php-5.6.10-Win32-VC11-x64.zip, php是免安装文件。
RunHiddenConsole: 用于隐藏命令行窗口
2. 配置
# java用8080端口做应用服务器,nginx反向代理到这个端口即可
p
基于2.8版本redis配置文件中文解释
hongtoushizi
redis
转载自: http://wangwei007.blog.51cto.com/68019/1548167
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文
第五章 常用Lua开发库3-模板渲染
jinnianshilongnian
nginxlua
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。
如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-r
JZSearch大数据搜索引擎
颠覆者
JavaScript
系统简介:
大数据的特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。网络日志、视频、图片、地理位置信息等等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。大数据搜索引
10招让你成为杰出的Java程序员
pda158
java编程框架
如果你是一个热衷于技术的
Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言
tomcat之oracle连接池配置
小网客
oracle
tomcat版本7.0
配置oracle连接池方式:
修改tomcat的server.xml配置文件:
<GlobalNamingResources>
<Resource name="utermdatasource" auth="Container"
type="javax.sql.DataSou
Oracle 分页算法汇总
vipbooks
oraclesql算法.net
这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下!
-- Oracle 分页算法一
select * from (
select page.*,rownum rn from (select * from help) page
-- 20 = (currentPag