- NCSTOJ:[算法竞赛进阶指南]直方图中最大的矩形
蓝鲸
单调栈
B:[算法竞赛进阶指南]直方图中最大的矩形TimeLimit:2SecMemoryLimit:128MiBBackSubmitEditDescription【poj2559】直方图是由在公共基线处对齐的一系列矩形组成的多边形。矩形具有相等的宽度,但可以具有不同的高度。例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1:通常,直方图用于表示离散分布,例如,文本
- 2019年7月27日学习总结
嵊䳾
今天学习了单调栈,跟以前学过的单调队列差不多,还是比较简单的,不过虽然简单却也可以解决许多问题,像poj2559找矩形的最大面积,用单调栈就能很轻松的解决,今天一直在补昨天的题解C题看明白题意了,但看别人的题解不知道为什么要那样写,还是得好好的想一想做题时还是容易犯马虎的毛病,读题不仔细,容易遗漏理解题目的关键点,这是非常要命的,得尽快改正,下午看了一下队列,队列的基本知识都会,主要是做题时不知如
- poj2082
静海琉
dp
http://poj.org/problem?id=2082题意蛮难懂的其实和poj2559(有图示)一样的碰到很多次了..#include#defineMAX(a,b)(a>b?a:b)struct{intw,h;}a[50005];struct{intpos,len;}l[50005],r[50005];intn;voidsolve(){for(inti=1;i0&&a[i].h=1;i--)
- 单调栈poj2559
我是鶸
C语言-ACM-算法-题解
题目链接点击打开链接LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:25276Accepted:8167DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therec
- POJ 2559 &&HDU 1506 Largest Rectangle in a Histogram && 51nod 1102 面积最大的矩形 单调栈的应用
棉花糖灬
C语言算法数据结构
欢迎关注我的个人博客:www.zuzhiang.cn传送门:POJ2559题目大意:POJ2559&&HDU1506&&51NOD1102这三个题其实都是一个题,有N个矩形,宽度都为1,给出N个矩形的高度,求由这N个矩形组成的图形包含的最大的矩形面积。SampleInput72145133410001000100010000SampleOutput84000前置技能:单调栈的原理及应用。思路:对于
- poj--2559 Largest Rectangle in a Histogram(单调栈)
exmy
数据结构数据结构--单调栈
poj2559题解对于每个矩形,左右扫描一下找到第一个比其高度更小的矩形。维护一个单调递增栈,即从栈底到栈顶严格递增,这样,栈顶就是第一个更小的值。维护两个数组,L[i]和R[i]分别表示第i个矩形的这两个下标。#include#include#includeusingnamespacestd;typedeflonglongll;constintmaxn=100000+10;intn;inth[m
- poj2559
weixinding
【题意】给定n个立方体的高度,求最大矩形面积【输入】多组数据,数据以单独一行一个0结束每组数据一行,第一个数字为n,接下来n个数字表示个立方体的高度【输出】对于每组数据,输出一个数表示最大矩形面积单调栈从左到右从右到左扫描两次,出栈的时候计算最大面积很不幸的wa,思路不够全面programpoj2559;vartot,n,i,j,k,s,e:longint;now,ans:int64;h,stac
- 单调栈的应用
月光下的魔术师
其它
直方图求最大矩阵POJ2559题解记录每个条柱最左和最右的位置,,即为它能覆盖大小。单调栈递增维护长度。遍历数组,若目前的长度大于等于栈顶长度,则把下标入栈。当栈顶的长度大于现在的长度,弹出栈顶cur,显然。那怎么求left?如果left=栈顶的下标,可否?显然不可以。给出如下图,如果此时,那么栈顶下标为5,显然,但是left却为3,因为中间有比2和5都高的部分。所以真正的操作为,弹出栈顶元素,l
- 单调栈 poj2559 Largest Rectangle in a Histogram
逍遥丶綦
ACM_数据结构
传送门:点击打开链接题意:求最大长方形。思路:以前看训练指南上有利用动态规划的方法求最大子矩阵,但是空间复杂度和实现起来都比较麻烦利用单调栈来做这题,代码异常简洁明了。维护一个单调栈,从栈底到栈顶是单调递增的。每一次将一个数加入到栈中时,都要先看栈顶是否有数字大于等于这个数字,如果有就弹起,把这个数字的权值累加到准备加入到栈中的那个数字上去因为,弹出去的那些高度都比这个要高,所以如果以这个为最高的
- 最大子矩形POJ2559
没有自旋的π介子
算法竞赛进阶指南练习
最大子矩形POJ2559思路题干在这:POJ2559简简单单的单调栈ac代码#include#include#include#definelllonglongusingnamespacestd;structrectangle{llheight;lllength;};vectorsqu;intmain(){while(1){lln;scanf_s("%lld",&n);if(n==0)return0
- poj2559(单调栈的使用)
qq_39861441
#技巧
解题思路:使用单调栈,解题复杂度为O(n).介绍一下思路:其实就是以h[i]为中心,向左,向右搜索有第一个小于h[i]的高度h[j],直到找到这个,并记录j.因为有这个小于在,h[i]就不能继续以h[i]的高度向两边扩散了。再简单说一下单调栈,他可以维护一组数列呈单调关系,如果出现一个不满足单调关系的数,如54213,则3就是不满足单调了,这样会把前面的数剔除栈,得到543,这样的好处是可以轻松知
- poj2559 & zoj1985 &hdu1506 Largest Rectangle in a Histogram(笛卡尔树)
ophunter
#笛卡尔树#数据结构
LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:12205Accepted:3957DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therectangleshav
- poj 3494 Largest Submatrix of All 1’s
hpghy123456
学习算法
最近在学习单调桟,这个题目听有意思的,需要稍微动动心思,往poj2559上想。但是时间总是1700MS左右,真不知道网上那些100ms是怎么出来的。/***poj_3494.cpp**/#include#include#includeusingnamespacestd;#defineMN2010#definehpmax(a,b)((a)>(b)?(a):(b))#definehpmin(a,b)(
- POJ3494--Largest Submatrix of All 1's(二维栈)
ZeroMagic
--数据结构--
题目大意:给出一个m*n的01矩阵,求由1组成的最大矩形分析:这题也是栈的运用,只不过,现在是二维的,所以,我们要先转换成一维。首先,我们可以一排一排的计算,而每一排每一个矩形的宽都是1,若改点为0,则没有高。若为1,则该矩形的高就是当前的1加上它这一列的上方连续的1的个数。这样子,我们就化二维为一维了。之后的计算就和POJ2559差不多了,传送门http://blog.csdn.net/hhhh
- poj 3494 dp(最大全1子矩阵)
dumeichen
动态规划——杂数据结构
题意:给定一个n*m大小的0-1矩阵,求所有元素都为1的最大子矩阵。思路:把2维转化为一维(这一点有点像poj1050求最大子矩阵),枚举每一行。dp[i][j]的值表示第(i,j)个位置作为底,它上面的(包括自己)的连续1的个数。然后通过栈的单调性求每行的“最大值”(每行的情况如同poj2559)。可以用滚动数组优化。#include#include#definemin(a,b)((a)(b)?
- 【POJ2559】Largest Rectangle in a Histogram
better_space
单调栈POJdp
LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:19452Accepted:6267DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therectangleshav
- POJ2559 最大矩形面积
Onlyan
ACM解题报告
给定从左到右多个矩形,已知这此矩形的宽度都为1,长度不完全相等。这些矩形相连排成一排,求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确定的范围。建立一个单调递增栈,所有元素各进栈和出栈一次即可。每个元素出栈的时候更新最大的矩形面积。设栈内的元素为一个二元组(x,y),x表示矩形的高度,y表示矩形的宽度。若原始矩形高度分别为2,1,4,5
- (poj2559) Largest Rectangle in a Histogram
SSL_lzx
各大题库求生营
LargestRectangleinaHistogramDescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therectangleshaveequalwidthsbutmayhavedifferentheights.Forexample,thefigureonthelefts
- poj2559(单调栈)最大矩形面积
update7
单调栈
//单调栈//思路很好的#include#includeusingnamespacestd;constintmn=100005;intn,h[mn],st[mn],top,l[mn],r[mn];intmain(){while(~scanf("%d",&n)&&n){top=0;for(inti=0;i0&&h[st[top-1]]>=h[i])--top;l[i]=top==0?0:st[top
- POJ 2796 Feel Good (单调栈)
synapse7
acm之路--数据结构栈POJ
http://poj.org/problem?id=2796和POJ2559一样,把计算矩形的长改为前缀和就行。完整代码:/*891ms,2716KB*/#include#includeusingnamespacestd;constintmx=100005;__int64h[mx],sum[mx];intl[mx],r[mx];intmain(){//freopen("in.txt","r",st
- POJ2559 Largest Rectangle in a Histogram #DP#
SDUWH_2U
XOJ
LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:34206Accepted:11148DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therectanglesha
- poj1964最大子矩阵 (单调栈加枚举)
weixin_30730053
题目传送门题目大意:一个矩阵中,求F组成的矩阵的面积,(答案乘以三)。思路:n如果是小于100的,就可以通过前缀和,然后三重循环暴力找,和poj1050很像,但由于是1000,就不可以了,时间复杂度太高。这道题的类别是单调栈,仔细想一下,发现其实就是先统计每一行网上有多少个长方形,然后再枚举每一行,算出最大的maxx,相当于poj2559的加强版。代码有很多细节要注意,最大的坑是,输入的图,两个符
- POJ2559 HDU1506 ZOJ1985 Largest Rectangle in a Histogram
linwenqidbk
单调栈笛卡尔树ST表
vjudge传送题解:本题很妙,有多种方法求解。我讲常见的4种做法。解法1:暴力求解(只是看似暴力)我们记录left[i]left[i]left[i],right[i]right[i]right[i]分别表示i这个位置最左和最右能到的位置,则答案为(right[i]right[i]right[i]-left[i]left[i]left[i]+1)*h[i]的最大值;(注意开longlong)至于求
- 关于求一段最大的连续矩形面积
提交WA的_请自己跑下看看输出有没问题
数据结构
这类问题最简单最直观的形式就是POJ2559,给你一排高低各不相同的单位长度的矩形,然后让你在这个多边形中求一个面积最大的矩形比较简单的想法就是枚举每个矩形,看它向左向右能延伸多少,这个延伸的最大距离就是就是以这个矩形为中心划分出来的最大矩形面积,时间复杂度为O(n^2)进一步思考,如果我们想知道一个矩形向左最多能延伸到哪,我们就要先查询它左边一个的高度,如果满足,再查询它左边第二个的高度,依次类
- POJ2559 Largest Rectangle in a Histogram【单调栈】
Enjoy_process
数据结构
LargestRectangleinaHistogramTimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:29417Accepted:9502DescriptionAhistogramisapolygoncomposedofasequenceofrectanglesalignedatacommonbaseline.Therectangleshav
- poj1964 City Game(单调栈)
逐梦起航-带梦飞翔
刷题之路单调栈
题意求F组成的最大矩阵。题解单调栈这是poj2559的升级版。思路是求出每个点上的最大F长度,相当于矩阵高。接着一行一行地做单调栈,求以每个点为左下角的最大F矩阵。代码#include#include#includeusingnamespacestd;constintmaxl=1010;intn,m;inth[maxl][maxl];//h记录每个点上面最长的F inttop,sta_h[maxl
- Largest Rectangle in a Histogram [POJ2559] [单调栈]
iBilllee
题意一个围挡由n个宽度为1的长方形挡板下端对齐后得到,每个长方形挡板的高度为hi。我们把其抽象成一个图形,问这个图形中包含的面积最大的长方形是多大?输入多行数据,每行第一个为n,后面n个数,代表hi以0为结束输出每行一个数样例输入72145133410001000100010000样例输出84000分析我们定一个中心为i,矩形高度为Hi,设他能在一个区间[l,r]中存在,必满足j∈[l,r]使Hj
- NOIP复赛复习(十九)栈与双端队列的运用
dqcsm1964
noi考试技巧
一、栈的运用通过活用栈等简单的数据结构,可以巧妙地降低一些算法的复杂度。POJ2559题意:n个宽度为1,高度为h[i](1=H,那么左端点可以更新为L-1,从而得到更大的长方形,与假设矛盾,故h[L-1]h[i]的最小的j)在计算L[i]时,首先,当栈顶的元素j满足h[j]>=h[i],则不断取出栈顶元素。若栈为空,则L[i]=0,若h[j]typedeflonglongll;constintm
- POJ 3494 Largest Submatrix of All 1’s 单调栈应用 图解+代码详解
棉花糖灬
C语言算法数据结构
传送门:POJ3494题目大意:求仅由0,1组成的矩阵中,全部由1组成的子矩阵的最大面积。SampleInput220000440000011001100000SampleOutput04前置技能:1.单调栈原理及应用。2.POJ2559题解。思路:这个题本质上是POJ2559的升级版,该题通过一定的预处理可以转换为POJ2559,不得不说这种解法真是太奇妙了。下面给出我的思路以及我亲手所画的图解
- poj2559 Largest Rectangle in a Histogram(单调栈)
sinat_30126425
poj
这题的题意就是给定从左到右多个矩形,已知这此矩形的宽度都为1,长度不完全相等。这些矩形相连排成一排,求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确定的范围。感觉我的做法就是一个伪单调栈的做法,找到一个点,找到和这个点最左能到哪里,最右能到哪里,然后乘以它的高度,比较一下就好了。AC代码:/***********************
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
 
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" { 
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持