分组背包
分组背包一、思路
二、代码123456789101112131415161718192021#include <bits/stdc++.h>using namespace std;const int N = 110;int n, m;int v[N][N], w[N][N], s[N];int f[N];int main() { cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> s[i]; for (int j = 0; j < s[i]; j++) cin >> v[i][j] >> w[i][j]; } for (int i = 1; i <= n; i++) for (int j = m; j >= 0; j--) for (int k = 0; k < s[i]; k++) i ...
多重背包
多重背包一、思路
二、代码12345678910111213141516171819#include <bits/stdc++.h>using namespace std;const int N = 110;int n, m;int v[N], w[N], s[N];int f[N][N];int main() { cin >> n >> m; for (int i = 1; i <= n; i++) cin >> v[i] >> w[i] >> s[i]; for (int i = 1; i <= n; i++) for (int j = 0; j <= m; j++) for (int k = 0; k <= s[i] && k * v[i] <= j; k++) f[i][j] = max(f[i][j], f[i - 1][j - k * v[i]] + k * w[i]); cout << f[n][m] <& ...
完全背包
完全背包一、思路
二、代码123456789101112131415161718#include <bits/stdc++.h>using namespace std;int f[1010][1010];int v[1010], w[1010];int main() { int n, m; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> v[i] >> w[i]; for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) for (int k = 0; k <= j / v[i]; k++) f[i][j] = max(f[i][j], f[i - 1][j - k * v[i]] + k * w[i]); cout << f[n][m] ...
JavaWeb——EL表达式
一、EL表达式1. EL表达式基本概念
EL表达式的全称是:Expression Language。是表达式语言。EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出。因为EL表达式在输出数据的时候,要比jsp的表达式脚本要简洁很多。
EL表达式的格式是:${表达式},EL表达式在输出null值的时候,输出的是空串。jsp表达式脚本输出null值的时候,输出的是null字符串。
2. EL表达式搜索域数据的顺序
EL表达式主要是在jsp页面中输出数据。主要是输出域对象中的数据。当四个域中都有相同的key的数据的时候,EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
EL表达式输出Bean的普通属性,数组属性,List集合属性,map集合属性。
输出一个类的属性,要求其有get方法。
3. EL表达式运算
语法:${运算表达式} ,EL表达式支持如下运算符。
empty运算:empty运算可以判断一个数据是否为空,如果为空,则输出true,不为空输出false。
值为null ...
JavaWeb——jsp
一、jsp1. jsp基础概念
jsp的全称是java server pages。Java的服务器页面。
jsp的主要作用是代替Servlet程序回传html页面。
因为Servlet程序回传html页面数据是一件非常繁锁的事情。开发成本和维护成本都极高。
Servlet回传html页面数据的代码如下。
jsp回传一个简单的html页面的代码如下。
jsp页面和html页面一样,都是存放在web目录下。访问也跟访问html页面一样。
a.html页面访问地址是:http://ip:port/工程路径/a.html。
b.jsp页面访问地址是:http://ip:port/工程路径/b.jsp。
2. jsp的本质
jsp页面本质上是一个Servlet程序。
当我们第一次访问jsp页面的时候。Tomcat服务器会帮我们把jsp页面翻译成为一个java源文件。并且对它进行编译成为.class字节码程序。我们打开java源文件不难发现其里面的内容为如下。
我们跟踪原代码发现,HttpJspBase类。它直接地继承了HttpServlet类。也就是说。jsp翻 ...
JavaWeb——Servlet
一、Servlet1. Servlet接口基本概念与HttpServlet类
Servlet是JavaEE规范之一。规范就是接口。Servlet就是JavaWeb三大组件之一。
三大组件分别是:Servlet程序、Filter过滤器、Listener监听器。
Servlet是运行在服务器上的一个java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。
手动实现Servlet程序步骤:
编写一个类去实现Servlet接口。
实现service方法,处理请求,并响应数据。
到web.xml中去配置servlet程序的访问地址。
Servlet程序的示例代码如下。
web.xml中的配置文件如下。
Servlet的生命周期:
执行Servlet构造器方法。
执行init初始化方法。第一、二步,是在第一次访问的时候创建Servlet程序会调用。
执行service方法。第三步,每次访问都会调用。
执行destroy销毁方法第四步,在web工程停止的时候调用。
GET和POST请求的分发处理如下。
一般在实际项目开发中,都是使用继承Http ...
归并排序
归并排序
**时间复杂度:O(nlogn)**。
步骤:
确定分界点mid=(l+r)。
归并排序左右两段。
有序归并,合二为一。
123456789101112131415161718192021222324252627282930#include <bits/stdc++.h>using namespace std;const int maxn = 1e6 + 10;int q[maxn], tmp[maxn], n;void ms(int q[], int l, int r) { if (l >= r) return; int mid = l + r >> 1; ms(q, l, mid), ms(q, mid + 1, r); int i = l, j = mid + 1, k = 0; while (i <= mid && j <= r) if (q[i] <= q[j]) tmp[k++] = q[i++]; else tm ...
快速排序
快速排序
**时间复杂度:O(nlogn)**。
步骤:
确定分界点X:q[mid]。
递归处理左右两段,使得小于等于X的在数组的前面,大于等于X的在数组的后面。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 10;int q[maxn];void qs(int q[], int l, int r) { if (l >= r) return; int i = l - 1, j = r + 1, mid = q[l + r >> 1]; while (i < j) { do i++; while (q[i] < mid); do j--; while (q[j] > mid); ...
JavaWeb——Tomcat
一、Tomcat1. JavaWeb的概念
JavaWeb是指,所有通过Java语言编写可以通过浏览器访问的程序的总称,叫 JavaWeb。JavaWeb是基于请求和响应来开发的。
请求是指客户端给服务器发送数据,叫请求Request。
响应是指服务器给客户端回传数据,叫响应Response。
响应是指服务器给客户端回传数据,叫响应Response。
2. Web资源的分类
web资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种。
静态资源:html、css、js、txt、mp4视频、jpg图片。
动态资源:jsp页面、Servlet程序。
3. 常见的Web服务器
Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。
Jboss:是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范。
Resin:是CAUCHO公司的产品,是一个非常流行的服务器,对servlet和JSP提供了良好的支持, ...
JavaWeb——XML
一、XML1. XML简介
xml是可拓展的标记性语言。
用来保存数据,而且这些数据具有自我描述性。
可以做为项目或者模块的配置文件。
还可以做为网络传输数据的格式(现在JSON为主)。
2. XML语法2.1 文档声明
2.2 XML注释
HTML和XML注释一样。
2.3 元素(标签)
XML元素指的是从(且包括)标签直到结束标签的部分。
元素可包含其他元素,文本或两者的混合物。元素也可以拥有属性。
XML的命名规则:
名称可以含字母、数字、其他字符。
名称不能以数字或标点符号开始。
名称不能以字符xml(XML等)开始(实际上是可以的)。
名称不能包含空格。
XML中的元素也分成单标签和双标签。
XML对大小写敏感。
所有XML元素都须有关闭标签。
XML文档必须有唯一的根元素。
XML中的特殊字和HTML中一样。
2.4 属性
属性可以提供标签的额外信息。
每个属性的值必须用引号括起来,单引号双引号都可以。
2.5 文本区域(CDATA区)
3. XML解析技术
不管是html文件还是xml文件它们都是标记型文档,都可以使用w3c组织制定的Dom技术来解析。
...