题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1055这几天脑子不太好尽刷些傻叉的水题。。。区间DP,没什么好说的。。。除了吐槽一下自己因为没删注释性输出而WA了好几次之外额。。。代码:#include#include#includeusingnamespacestd;#definerep(i,x)for(inti=0;i++
【数据结构题目讲解】BZOJ 3306 - 树 利用DFS序求解
阿史大杯茶
数据结构经典数据结构算法c++
BZOJ3306-树Description\mathrm{Description}Description给定111棵以111为根节点的nnn个点的树,接下来有mmm次操作:Vxy将xxx点的权值更改为yyyEx将根改为xxx点Qx查询xxx子树的最小值Solution\mathrm{Solution}Solution首先,考虑如果没有换根操作(即E操作),那么直接使用DFS序配合线段树的方式即可解
BZOJ-2127: happiness(最小割)
AmadeusChan
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2127明显是最小割模型,首先,S向每个节点连边,容量为文科的价值,每个点向T连边,容量为理科的价值,接下来考虑相邻节点的情况(设a,b),只要a,b之中有一个选了理科,那么就要扣除共同选文科的价值,反之亦然,那么新增一个辅助点v,对于S向v连边,容量为a,b共同选文科的价值,然后v向a,b连边,
扩展欧几里得算法 exgcd 求逆元(适用于模数不为质数的情况)
Waldeinsamkeit41
算法
原理不打算自己懂。。。代码ullexgcd(ulla,ullb,ull&x,ull&y)//扩展欧几里得求模b意义下a的逆元//返回的d是a和b的最大公约数,而最终的x是a在模b意义下的逆元{if(b==0){x=1;y=0;returna;}ulld=exgcd(b,a%b,y,x);y=y-a/b*x;returnd;}exgcd(a,b,x,y);//注意最终x可能返回负数,要加上b变成正数
【数论】exgcd 扩展欧几里得算法
Texcavator
数论算法
参考:exgcd详解-zzt1208-博客园(cnblogs.com)exgcd(扩展欧几里得算法),用来求形如ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b)(a,ba,ba,b为常数)的方程的一组整数解。(如果不确定等号右边是不是gcd,可以先当做gcd,求出来之后验证,是的话就是解,不是的话就不是解)推导见上面的链接,这篇只放个板子codeintexgcd
备战蓝桥杯---数学基础3
cocoack
蓝桥杯算法数学c++
本专题主要围绕同余来讲:下面介绍一下基本概念与定理:下面给出解这方程的一个例子:下面是用代码实现扩展欧几里得算法:#includeusingnamespacestd;intgcd(inta,intb,int&x,int&y){if(b==0){x=1;y=0;returna;}intd=gcd(b,a%b,y,x);y=y-b/a*x;returnd;}下面我们引进二元一次不定方程的通解:
BZOJ 5441: [Ceoi2018]Cloud computing
weixin_34153893
背包#include#includeusingnamespacestd;intn,m,Len;longlongF[2][100005];structnode{intc,f,v;}E[100005];boolcmp(nodea,nodeb){returna.f>b.f||(a.f==b.f&&a.c>b.c);}intmain(){scanf("%d",&n);for(inti=1;i0)tomax
BZOJ5445 [Ceoi2018]Toys
yjjr
数论bzojOI成长历程
标签:数学题目题目传送门题意简述:达达兔有很多不同种类玩具,每种玩具可能有很多个(存在区别),每天达达兔可以在不同种类的玩具中每种选择一个,组合起来,最多可以玩耍n天(n天中不存在重复组合的情况),问有多少种情况可以满足,求达达兔可以拥有多少玩具分析一眼就知道是数学题然后根据样例简单推推发现答案就是可以将n分解的不同组合算是水题了吧qwqcode#include#include#include#i
bzoj5441: [Ceoi2018]Cloud computing
weixin_30319153
跟着大佬做题。。这题也是有够神仙了。观察一下性质,c很小而f是一个限制条件(然而我并不会心态爆炸)%了一发,就是把电脑和订单一起做背包,订单的c视为负而电脑的v为负,f由大到小排序做背包#include#include#include#include#include#includeusingnamespacestd;typedeflonglongLL;structnode{intc,f;LLv;}
BZOJ 5441 [Ceoi2018]Cloud computing
weixin_33743880
数据结构与算法php
题目链接https://www.lydsy.com/JudgeOnline/problem.php?id=5441题解按照频率排序后转化成背包问题。代码#include#include#includeintread(){intx=0,f=1;charch=getchar();while((ch'9')){if(ch=='-'){f=-f;}ch=getchar();}while((ch>='0')
BZOJ5441 [Ceoi2018]Cloud computing
yjjr
DPbzojOI成长历程思维背包
标签:DP,思维题面Description农夫约翰创立了一家为客户提供云端计算服务的公司,但是他还没开始购买计算机。于是他去了电脑商店,看了商店里所有的n台电脑的配置属性列表。每台电脑的属性有CPU核心数量ci,工作频率fi,价格vi,即这台电脑有ci个可以独立工作,不会互相干扰的CPU核心,可以同时给每个CPU核心分配不同的任务。当一个客户在约翰的公司里下订单的时候,订单里会指定特定的CPU核心
BZOJ5442 [Ceoi2018]Global warming
yjjr
DP数据结构bzojOI成长历程
标签:LIS,DP,树状数组题目题目传送门Description给定n(n≤200,000)n(n\leq200,000)n(n≤200,000),你可以将任意a[l]a[l]a[l]至a[r](1≤l≤r≤n)a[r](1\leql\leqr\leqn)a[r](1≤l≤r≤n)每一个元素加上一个d(−x≤d≤x)d(-x\leqd\leqx)d(−x≤d≤x),求aaa数组的最大严格上升子序列
BZOJ 1975 SDOI2010 魔法猪学院 A*k短路
PoPoQQQ
可并堆BZOJA*BZOJBZOJ1975A-stark短路
题目大意:给定一个值E求起点到终点的最多条路径使长度之和不超过Ek短路的A*算法……每个点有一个估价函数=g[x]+h[x]其中g[x]是从源点出发已经走了的长度h[x]是从这个点到汇点的最短路首先先在反图上跑一遍SPFA求出每个点的h[x],然后将源点的g[x]+h[x]加入堆每次取出堆顶时将堆顶的g[x]向所连接的边扩展第k次取出汇点即是答案其中有一个剪枝就是当第k+1次取出某个点时不继续拓展
逆元 与 扩展欧几里得(超级详细,c++)
海风许愿
Acm算法c++c++开发语言算法
逆元与扩展欧几里得算法(veryimportant)^-^点个赞再走吧~~^-^点个赞再走吧~~^-^点个赞再走吧~~欧几里得定理:给定任意a,b,一定存在x,y使得ax+by=gcd(a,b)公式:ax+by=gcd(a,b);1)利用欧几里得的过程给定n,对正整数ai,bi,对于每对数,求出一组xi,yi,使其满足ai*xi+bi*yi=gcd(ai,bi)推导:ax+by=d=>bx+(a%
详解洛谷P2016 战略游戏/BZOJ0495. 树的最小点覆盖之战略游戏(贪心/树形DP)
伟大的拜线段树jjh
游戏
DescriptionBob喜欢玩电脑游戏,特别是战略游戏。但是他经常无法找到快速玩过游戏的办法。现在他有个问题。他要建立一个古城堡,城堡中的路形成一棵树。他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能了望到所有的路。注意,某个士兵在一个结点上时,与该结点相连的所有边将都可以被了望到。请你编一程序,给定一树,帮Bob计算出他需要放置最少的士兵.FormatInput第一行N,表示树中结点的
【算法竞赛模板】质因子、质数、约数、余数、快速幂(数论大全)
Ac君
算法学习c++数论质数约数蓝桥杯
常用数论的算法模板一、质因子二、质数三、约数①试除法求一个数所有约数②求约数个数③求约数和④求最大公约数gcd辗转相除扩展欧几里得反素数同余定理费马小定理(快速幂求逆元)四、余数五、组合数①DP求组合数②逆元求组合数③卢卡斯定理求组合数④高精度大数求组合数六、快速幂 苟蒻发文,若有任何不足、错误的地方欢迎大佬们来斧正~本苟蒻不胜感激(>人<;)一、质因子 定义:指能整除给定正整数的质数 性质
CF1404BTree Tag/ BZOJ0487. 树上追逐详解
伟大的拜线段树jjh
算法图论深度优先
1.题目传送门:TreeTag-洛谷2.思路我们考虑什么情况下Alice可以获胜.如果≤da,则Alice可以一步就追上Bob.如果Alice处在一个能覆盖整棵树的点,即2da+1≥树的直径,那么Bob也无论走到哪里Alice都能追到,Alice获胜.其它情况下,Alice会一步一步逼近Bob,并一定能把Bob逼近某棵子树.如果当前Alice占据一个点,使Bob无论怎么走都还在Alice的控制范围
BZOJ0481. 树的重心之砍树Link Cut Centroids
伟大的拜线段树jjh
深度优先算法图论
题目思路分类讨论。首先当树只有一个重心的时候,我们删掉最小的边再加上原边即可.再看有两个重心的情况.显然这棵树必定是类似这样的:即删掉A后,以B为根的子树是剩下的最大连通块,反之亦然.那就可以得到一个结论:删掉边(A,B)后,两棵树的大小相等.那我们只要使两棵树的大小不相等,且不使新的点成为重心即可.那就考虑直接从A树中取一位编号最小叶子节点,把这个节点与它父亲的边断开,连到B的直接儿子中编号最小
BZOJ-2753: [SCOI2012]滑雪与时间胶囊(代码)
AmadeusChan
这道题的解法据说是按终边高度第一关键字,边长第二关键字排序,然后KRUSKAL最小生成树,但是本弱实在不懂怎么证明,求大神指教。代码:#include#include#includeusingnamespacestd;#defineMAXN200001#defineMAXM2000001intfather[MAXN];intn,m;inth[MAXN];structedge{intt,d;edge
BZOJ-2588: Spoj 10628. Count on a tree(树上路径第K最值=LCA+可持久化线段树)
AmadeusChan
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2588思路:每个节点上建立一棵维护权值的可持久化线段树(维护从根到这个节点的权值),以他的父节点为历史版本建立,每次查询时直接在线段树上二分即可,所以只需要联立三棵可持久化线段树T[u],T[v],T[lca(u,v)]即可快捷查询。复杂度O(nlogn)********代码:****#incl
BZOJ-1079: [SCOI2008]着色方案(DP)
AmadeusChan
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1079囧囧的一道六维DP,记得用longlong代码:#include#include#include#include#includeusingnamespacestd;#defineMOD(x)(x%=MAX)#defineMAX1000000007#definelllonglongboolf
BZOJ1731: [Usaco2005 dec]Layout 排队布局 差分约束 spfa
Oakley_
BZOJ差分约束spfa
差分约束:最大距离最短路,最小距离最长路最短路的三角不等式:d[i]-d[j]j)物理意义:j,i之间的距离为D,而d[i]-d[j]一定=D(j>i)物理意义:j,i之间的距离为D,而d[i]-d[j]一定>=D,所以求得是最长路建图:j向i连接一条权值为D的边1.题目中说牛的顺序和编号顺序一致,即需要满足d[i]-d[i-1]>=0;转化一下d[i-1]-d[i]=d[x]+D;转化一下d[x
bzoj1731 [Usaco2005 dec]Layout 排队布局(差分约束+spfa)
Icefox_zhx
bzoj差分约束最短路
这题我觉得应该先判有没有负环啊。。。如果1和n不连通,我们从1开始做spfa,如果n在一个负环中呢?我们就判断不到这个负环了啊。。我们会输出-2,可是我觉得应该是-1,根本不存在合法方案啊。。。迷。我先用dfs判负环的程序在bzoj上跑了2900+ms,可怕。。不判的话才20ms。。不过话说dfs版spfa判负环也不会慢这么多啊。。待我研究下。#include#include#includeusi
扩展欧几里得
云儿乱飘
数学知识数论
877.扩展欧几里得算法-AcWing题库#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusingnamespacestd;#definelllonglong#definePIIpair#defineTUP
笔记--扩展欧几里得算法
Die love 6-feet-under
算法笔记c++
AcWing.877.欧几里得算法给定nnn对正整数aaai,bbbi,对于每对数,求出一组xxxi,yyyi,使其满足aaai×x×x×xi+b+b+bi×y×y×yi=gcd(a=gcd(a=gcd(ai,b,b,bi)))。输入格式第一行包含整数nnn。接下来nnn行,每行包含两个整数aaai,bbbi。输出格式输出共nnn行,对于每组aaai,bbbi,求出一组满足条件的xxxi,yyyi
Spring4.1新特性——Spring MVC增强
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
mysql 性能查询优化
annan211
javasql优化mysql应用服务器
1 时间到底花在哪了?
mysql在执行查询的时候需要执行一系列的子任务,这些子任务包含了整个查询周期最重要的阶段,这其中包含了大量为了
检索数据列到存储引擎的调用以及调用后的数据处理,包括排序、分组等。在完成这些任务的时候,查询需要在不同的地方
花费时间,包括网络、cpu计算、生成统计信息和执行计划、锁等待等。尤其是向底层存储引擎检索数据的调用操作。这些调用需要在内存操
windows系统配置
cherishLC
windows
删除Hiberfil.sys :使用命令powercfg -h off 关闭休眠功能即可:
http://jingyan.baidu.com/article/f3ad7d0fc0992e09c2345b51.html
类似的还有pagefile.sys
msconfig 配置启动项
shutdown 定时关机
ipconfig 查看网络配置
ipconfig /flushdns
人体的排毒时间
Array_06
工作
========================
|| 人体的排毒时间是什么时候?||
========================
转载于:
http://zhidao.baidu.com/link?url=ibaGlicVslAQhVdWWVevU4TMjhiKaNBWCpZ1NS6igCQ78EkNJZFsEjCjl3T5EdXU9SaPg04bh8MbY1bR
ZooKeeper
cugfy
zookeeper
Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如同步, 配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端API。 Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统,Zookeeper能够用来lea
网络爬虫的乱码处理
随意而生
爬虫网络
下边简单总结下关于网络爬虫的乱码处理。注意,这里不仅是中文乱码,还包括一些如日文、韩文 、俄文、藏文之类的乱码处理,因为他们的解决方式 是一致的,故在此统一说明。 网络爬虫,有两种选择,一是选择nutch、hetriex,二是自写爬虫,两者在处理乱码时,原理是一致的,但前者处理乱码时,要看懂源码后进行修改才可以,所以要废劲一些;而后者更自由方便,可以在编码处理
Xcode常用快捷键
张亚雄
xcode
一、总结的常用命令:
隐藏xcode command+h
退出xcode command+q
关闭窗口 command+w
关闭所有窗口 command+option+w
关闭当前
mongoDB索引操作
adminjun
mongodb索引
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: &nbs
成都软件园实习那些话
aijuans
成都 软件园 实习
无聊之中,翻了一下日志,发现上一篇经历是很久以前的事了,悔过~~
断断续续离开了学校快一年了,习惯了那里一天天的幼稚、成长的环境,到这里有点与世隔绝的感觉。不过还好,那是刚到这里时的想法,现在感觉在这挺好,不管怎么样,最要感谢的还是老师能给这么好的一次催化成长的机会,在这里确实看到了好多好多能想到或想不到的东西。
都说在外面和学校相比最明显的差距就是与人相处比较困难,因为在外面每个人都
Linux下FTP服务器安装及配置
ayaoxinchao
linuxFTP服务器vsftp
检测是否安装了FTP
[root@localhost ~]# rpm -q vsftpd
如果未安装:package vsftpd is not installed 安装了则显示:vsftpd-2.0.5-28.el5累死的版本信息
安装FTP
运行yum install vsftpd命令,如[root@localhost ~]# yum install vsf
使用mongo-java-driver获取文档id和查找文档
BigBird2012
driver
注:本文所有代码都使用的mongo-java-driver实现。
在MongoDB中,一个集合(collection)在概念上就类似我们SQL数据库中的表(Table),这个集合包含了一系列文档(document)。一个DBObject对象表示我们想添加到集合(collection)中的一个文档(document),MongoDB会自动为我们创建的每个文档添加一个id,这个id在
JSONObject以及json串
bijian1013
jsonJSONObject
一.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
1.commons-lang-2.0.jar
2.commons-beanutils-1.7.0.jar
3.commons-collections-3.1.jar
&n
[Zookeeper学习笔记之三]Zookeeper实例创建和会话建立的异步特性
bit1129
zookeeper
为了说明问题,看个简单的代码,
import org.apache.zookeeper.*;
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ThreadLocal
【Scala十二】Scala核心六:Trait
bit1129
scala
Traits are a fundamental unit of code reuse in Scala. A trait encapsulates method and field definitions, which can then be reused by mixing them into classes. Unlike class inheritance, in which each c
weblogic version 10.3破解
ronin47
weblogic
版本:WebLogic Server 10.3
说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录
例如我的做测试的域的根目录 DOMAIN_HOME=D:/Weblogic/Middleware/user_projects/domains/base_domain
1.为了保证操作安全,备份%DOMAIN_HOME%/security/Defa
求第n个斐波那契数
BrokenDreams
今天看到群友发的一个问题:写一个小程序打印第n个斐波那契数。
自己试了下,搞了好久。。。基础要加强了。
&nbs
读《研磨设计模式》-代码笔记-访问者模式-Visitor
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.ArrayList;
import java.util.List;
interface IVisitor {
//第二次分派,Visitor调用Element
void visitConcret
MatConvNet的excise 3改为网络配置文件形式
cherishLC
matlab
MatConvNet为vlFeat作者写的matlab下的卷积神经网络工具包,可以使用GPU。
主页:
http://www.vlfeat.org/matconvnet/
教程:
http://www.robots.ox.ac.uk/~vgg/practicals/cnn/index.html
注意:需要下载新版的MatConvNet替换掉教程中工具包中的matconvnet:
http
ZK Timeout再讨论
chenchao051
zookeepertimeouthbase
http://crazyjvm.iteye.com/blog/1693757 文中提到相关超时问题,但是又出现了一个问题,我把min和max都设置成了180000,但是仍然出现了以下的异常信息:
Client session timed out, have not heard from server in 154339ms for sessionid 0x13a3f7732340003
CASE WHEN 用法介绍
daizj
sqlgroup bycase when
CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式
--简单Case函数
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END
--Case搜索函数
CASE
WHEN sex = '1' THEN
PHP技巧汇总:提高PHP性能的53个技巧
dcj3sjt126com
PHP
PHP技巧汇总:提高PHP性能的53个技巧 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量, 单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的函数译注: PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍
Yii框架中CGridView的使用方法以及详细示例
dcj3sjt126com
yii
CGridView显示一个数据项的列表中的一个表。
表中的每一行代表一个数据项的数据,和一个列通常代表一个属性的物品(一些列可能对应于复杂的表达式的属性或静态文本)。 CGridView既支持排序和分页的数据项。排序和分页可以在AJAX模式或正常的页面请求。使用CGridView的一个好处是,当用户浏览器禁用JavaScript,排序和分页自动退化普通页面请求和仍然正常运行。
实例代码如下:
Maven项目打包成可执行Jar文件
dyy_gusi
assembly
Maven项目打包成可执行Jar文件
在使用Maven完成项目以后,如果是需要打包成可执行的Jar文件,我们通过eclipse的导出很麻烦,还得指定入口文件的位置,还得说明依赖的jar包,既然都使用Maven了,很重要的一个目的就是让这些繁琐的操作简单。我们可以通过插件完成这项工作,使用assembly插件。具体使用方式如下:
1、在项目中加入插件的依赖:
<plugin>
php常见错误
geeksun
PHP
1. kevent() reported that connect() failed (61: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastc
修改linux的用户名
hongtoushizi
linuxchange password
Change Linux Username
更改Linux用户名,需要修改4个系统的文件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
古老/传统的方法是使用vi去直接修改,但是这有安全隐患(具体可自己搜一下),所以后来改成使用这些命令去代替:
vipw
vipw -s
vigr
vigr -s
具体的操作顺
第五章 常用Lua开发库1-redis、mysql、http客户端
jinnianshilongnian
nginxlua
对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。
一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。
Redis客户端
lua-resty-r
zkClient 监控机制实现
liyonghui160com
zkClient 监控机制实现
直接使用zk的api实现业务功能比较繁琐。因为要处理session loss,session expire等异常,在发生这些异常后进行重连。又因为ZK的watcher是一次性的,如果要基于wather实现发布/订阅模式,还要自己包装一下,将一次性订阅包装成持久订阅。另外如果要使用抽象级别更高的功能,比如分布式锁,leader选举
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句
pda158
mysql
在Mysql 众多表中查找一个表名或者字段名的 SQL 语句:
方法一:SELECT table_name, column_name from information_schema.columns WHERE column_name LIKE 'Name';
方法二:SELECT column_name from information_schema.colum
程序员对英语的依赖
Smile.zeng
英语程序猿
1、程序员最基本的技能,至少要能写得出代码,当我们还在为建立类的时候思考用什么单词发牢骚的时候,英语与别人的差距就直接表现出来咯。
2、程序员最起码能认识开发工具里的英语单词,不然怎么知道使用这些开发工具。
3、进阶一点,就是能读懂别人的代码,有利于我们学习人家的思路和技术。
4、写的程序至少能有一定的可读性,至少要人别人能懂吧...
以上一些问题,充分说明了英语对程序猿的重要性。骚年
Oracle学习笔记(8) 使用PLSQL编写触发器
vipbooks
oraclesql编程活动Access
时间过得真快啊,转眼就到了Oracle学习笔记的最后个章节了,通过前面七章的学习大家应该对Oracle编程有了一定了了解了吧,这东东如果一段时间不用很快就会忘记了,所以我会把自己学习过的东西做好详细的笔记,用到的时候可以随时查找,马上上手!希望这些笔记能对大家有些帮助!
这是第八章的学习笔记,学习完第七章的子程序和包之后