ACM入门之新手入门

ACM入门之新手入门
ACM入门之新手入门

ACM入门之新手入门

1.ACM国际大学生程序设计竞赛简介

1)背景与历史

1970年在美国T exasA&M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。1977年,该项竞赛被分为两个级别:区域赛和总决赛,这便是现代ACM竞赛的开始。在亚洲、美国、欧洲、太平洋地区均设有区域赛点。1995至1996年,来自世界各地的一千多支s代表队参加了ACM区域竞赛。ACM大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。

2)竞赛组织

竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。参赛队应首先参加每年9月至11月在世界各地举行的“区域竞赛(Regional Contest)”。各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“总决赛(Final Contest)”,其它的高分队伍也有可能被邀请参加决赛。每个学校有一名教师主管队伍,称为“领队”(faculty advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位的学生。每支队伍最多允许有一名选手具有学士学位,已经参加两次决赛的选手不得再参加区域竞赛。

3)竞赛形式与评分办法

竞赛进行5个小时,一般有6~8道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。

程序运行不正确是指出现以下4种情况之一:

(1)运行出错(run-time error);

(2)运行超时〔time-limit exceeded〕;

(3)运行结果错误(wrong answer);

(4)运行结果输出格式错误(presentation error)。

竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括PASCAL,C,C++及Java,也可以使用其它语言。具体的操作系统及语言版本各年有所不同。

4)竞赛奖励情况

总决赛前十名的队伍将得到高额奖学金:第一名奖金为12000美元,第二名奖金为

6000美元,第三名奖金为3000美元,第四名至第十名将各得到l500美元。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。

2.ACM竞赛需要的知识

语言是最重要的基本功

无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都是大家要过的第一道关。亚洲赛区的比赛支持的语言包括C/C++与JAVA。首先说说JAVA,众所周知,作为面向对象的王牌语言,JAVA在大型工程的组织与安全性方面有着自己独特的优势,但是对于信息学比赛的具体场合,JAVA则显得不那么合适,它对于输入输出流的操作相比于C++要繁杂很多,更为重要的是JAVA程序的运行速度要比C++慢10倍以上,而竞赛中对于JAVA程序的运行时限却往往得不到同等比例的放宽,这无疑对算法设计提出了更高的要求,是相当

不利的。其实,并不主张大家在这种场合过多地运用面向对象的程序设计思维,因为对于小程序来说这不旦需要花费更多的时间去编写代码,也会降低程序的执行效率。

接着说C和C++。在赛场上使用纯C的选手还是大有人在的,它们主要是看重了纯C在效率上的优势,所以这部分同学如果时间有限,并不需要急着去学习新的语言,只要提高了自己在算法设计上的造诣,纯C一样能发挥巨大的威力。

而C++相对于C,在输入输出流上的封装大大方便了我们的操作,同时降低了出错的可能性,并且能够很好地实现标准流与文件流的切换,方便了调试的工作。如果有些同学比较在意这点,可以尝试C和C++的混编,毕竟仅仅学习C++的流操作还是不花什么时间的。

C++的另一个支持来源于标准模版库(STL),库中提供的对于基本数据结构的统一接口操作和基本算法的实现可以缩减我们编写代码的长度,这可以节省一些时间。但是,与此相对的,使用STL要在效率上做出一些牺牲,对于输入规模很大的题目,有时候必须放弃STL,这意味着我们不能存在“有了STL就可以不去管基本算法的实现”的想法;另外,熟练和恰当地使用STL必须经过一定时间的积累,准确地了解各种操作的时间复杂度,切忌对STL中不熟悉的部分滥用,因为这其中蕴涵着许多初学者不易发现的陷阱。

通过以上的分析,我们可以看出仅就信息学竞赛而言,对语言的掌握并不要求十分全面,但是对于经常用到的部分,必须十分熟练,不允许有半点不清楚的地方.

以数学为主的基础知识十分重要

虽然被定性为程序设计竞赛,但是参赛选手所遇到的问题更多的是没有解决问题的思路,而不是有了思路却死活不能实现,这就是平时积累的基础知识不够。今年World Final的总冠军是波兰华沙大学,其成员出自于数学系而非计算机系,这就是一个鲜活的例子。竞赛中对于基础学科的涉及主要集中于数学,此外对于物理、电路等等也可能有一定应用,但是不多。因此,大一的同学也不必为自己还没学数据结构而感到不知从何入手提高,把数学捡起来吧!下面我来谈谈在竞赛中应用的数学的主要分支。

离散数学

离散数学作为计算机学科的基础是竞赛中涉及最多的数学分支,重中之重又在于图论和组合数学,尤其是图论。图论之所以运用最多是因为它的变化最多,而且可以轻易地结合基本数据结构和许多算法的基本思想,较多用到的知识包括连通性判断、DFS和BFS,关节点和关键路径、欧拉回路、最小生成树、最短路径、二部图匹配和网络流等等。虽然这部分的比重很大,但是往往也是竞赛中的难题所在,如果有初学者对于这部分的某些具体内容暂时感到力不从心,也不必着急,可以慢慢积累。

组合数学

竞赛中设计的组合计数问题大都需要用组合数学来解决,组合数学中的知识相比于图论要简单一些,很多知识对于小学上过奥校的同学来说已经十分熟悉,但是也有一些部分需要先对代数结构中的群论有初步了解才能进行学习。组合数学在竞赛中很少以难题的形式出现,但是如果积累不够,任何一道这方面的题目却都有可能成为难题。

数论

以素数判断和同余为模型构造出来的题目往往需要较多的数论知识来解决,这部分在竞赛中的比重并不大,但只要来上一道,也足以使知识不足的人冥思苦想上一阵时间。素数判断和同余最常见的是在以密码学为背景的题目中出现,在运用密码学常识确定大概的过程之后,核心算法往往要涉及数论的内容。

计算几何

计算几何相比于其它部分来说是比较独立的,就是说它和其它的知识点很少有过多的结合,较常用到的部分包括—线段相交的判断、多边形面积的计算、内点外点的判断、凸包等等。计算几何的题目难度不会很大,但也永远不会成为最弱的题。

线性代数

对线性代数的应用都是围绕矩阵展开的,一些表面上是模拟的题目往往可以借助于矩阵来找到更好的算法。

计算机专业知识

虽然数学十分十分重要,但是如果让三个只会数学的人参加比赛,我相信多数情况下会比三个只会数据结构与算法的人得到更为悲惨的结局。

数据结构

掌握队列、堆栈和图的基本表达与操作是必需的,至于树,我个人觉得需要建树的问题有但是并不多。(但是树往往是很重要的分析工具)除此之外,排序和查找并不需要对所有方式都能很熟练的掌握,但你必须保证自己对于各种情况都有一个在时间复杂度上满足最低要求的解决方案。说到时间复杂度,就又该说说哈希表了,竞赛时对时间的限制远远多于对空间的限制,这要求大家尽快掌握“以空间换时间”的原则策略,能用哈希表来存储的数据一定不要到时候再去查找,如果实在不能建哈希表,再看看能否建二叉查找树等等—这都是争取时间的策略,掌握这些技巧需要大家对数据结构尤其是算法复杂度有比较全面的理性和感性认识。

算法

算法中最基本和常用的是搜索,主要是回溯和分支限界法的使用。这里要说的是,有些初学者在学习这些搜索基本算法是不太注意剪枝,这是十分不可取的,因为所有搜索的题目给你的测试用例都不会有很大的规模,你往往察觉不出程序运行的时间问题,但是真正的测试数据一定能过滤出那些没有剪枝的算法。实际上参赛选手基本上都会使用常用的搜索算法,题目的区分度往往就是建立在诸如剪枝之类的优化上了。

常用算法中的另一类是以“相似或相同子问题”为核心的,包括递推、递归、贪心法和动态规划。这其中比较难于掌握的就是动态规划(DP),如何抽象出重复的子问题是很多题目的难点所在,笔者建议初学者仔细理解图论中一些以动态规划为基本思想所建立起来的基本算法(比如Floyd-Warshall算法),并且多阅读一些定理的证明,这虽然不能有什么直接的帮助,但是长期坚持就会对思维很有帮助。

3. 对新手的一些建议

首先要看一些基础的算法书籍,把基本的算法搞懂。像递归、二分、宽搜、深搜、简单的图论、数论、简单的组合数学。重点根据书上的例题理解算法的实质、思想,能做到有一定领悟。这时需要做一些题目来巩固了。

先可以做搜索题,搜索是博大精深的,诸多细节技巧都需要靠平时的积累领悟,根据自己练习的目的挑一些题练习。然后可以做简单的数学题,对组合数学、数论有个大致的概念。再然后可以做DP类题目了。DP也是非一日之功,练好DP就像练好了内功,这时可以做一些DP的基础题,体会一下,然后做一些提高题,如果不会做,一定要自己想通为什么别人这样设定状态数组,他的技巧在哪里。oibh上很多的国家集训队关于DP的论文是必看的。图论里有很多基础的东西需要学习,先把图论里面基本的定义看懂,然后把经典的算法看懂,比如最短路、生成树、割点、连通分量等等。如果不会做,一定要好好看书。

很多新手会问碰到不会做的题目怎么办。首先应该考察一下为什么不会做这题,如果是书本上的知识点没掌握,那要赶紧把书本找来,仔细理解之后再来想这题。如果知识点基本都掌握了,那么可以利用网络的资源,多搜索一下关于这题的讨论,看看别人是怎么想的,看是否可以给自己提供思路。总之一条,要自己多开动脑子。重在理解这一题的算法,而不是只知道算法,自己把它编程实现了就算了。对待算法和程序要用严谨的态度,没有搞懂的地方要花力气把它搞懂,这样才能不断提高。

看书是必须的,而且也是迅速提高的最好方法,不要等到做题时才去理解书上的知识点,而

要对知识点有了充分的理解后再去做题,这样才能事半功倍,否则看到难题,从哪方面下手的思路都没有。

高级的贪心,300行的宽搜,A*,STL,诸多的剪枝技巧,统计,查找,treap,对DP状态的优化,带集合的DP,平面图,计算几何,数论......要学的东西很多。但我相信只要努力你们肯定会取得不错的成绩。和别人比赛,其实是和自己比赛,考场上完全是实力的体现,会就是会,不会就是做不出来。训练时间每个人情况不一样,长短不一,但重在看个人悟性,水平达到一定程度之后会发现有质的变化,理解算法简直是小菜。

这里强调的还是个思维能力的问题,不是为了做题而做题,做题其实是为了训练自己的思维能力和编程能力,从训练中能得到的最大的收获就是提升了思维,套用比较流行的一个词就是“脑力”。这也是为什么说进省队是个标志,进了省队说明你前期有了一定的积累,和那里的一些高手一接触自然自己的思路就大大开阔了,对于算法会有一个更深层次的理解。就算只参加了省队的选拔赛,对自己的帮助也是很大的。用一牛人的话说,没进过省队就等于没见过世面。

那大家一定达不到那些现今强人的水平吗?当然不是。强人不是天生就强的,也是从菜鸟做起的,成功地原因只有一个-——勤奋。他们的思维能力或者脑力不是天生就这样的。但随便提现今的一个牛人,题量都是上千。他们默默地积累和严谨的态度才取得了现在的成绩。有人说上千题,太恐怖了啊,我做一个题都得花几小时,有些想几天还做不出。一开始自然是这样,知识点众多,考查范围广大,对这些现成的知识要慢慢消化,每个知识点都掌握后,做只考这些知识点的题自然就快了。积累到一定程度后就会发现做题的乐趣,以前很崇拜那些说“今天上课太累了,做几道题休息一下”的人,不知不觉,做题对我来说也成了最大的乐趣。有些题只考查单一的知识点,有些题把几个知识点结合起来考查。比如先用平面图里面的几个知识点,然后凸包求一下,然后DP一下,或者线性方程组解一下再搞个匹配等等,这些题看上去很复杂,但若这些知识点都不折不扣地掌握的话,做这些题自然就像切菜了。题目也是人出的,如果只看现成的这些知识点的话,出题者的思维也是有限的。

参加这个比赛对编程能力的提高也是大有好处的,十分钟上百行无错代码,快速实现逻辑较复杂的算法,debug技巧......而且对语言的理解也能上好几个台阶。我们还没有迎来下一次的编程技术革命,编程仍旧是有局限的,它强迫我们像计算机一样思考,而不是令计算机像我们的大脑一样思考,这是我们需要花巨大的努力去克服的。很多人对我说的这句话可能不太理解,至少感受不深。如果Debug的时间超过写程序时间的1/2,那就是失败的。一切都要慢慢训练,持之以恒之后,拥有良好的编程习惯和风格应该是每个人所追求的。编程的境界永无止境!

以前人们常说看书可以升级大脑,对于计算机及其相关专业的同学来说,参加acm比赛是最好的升级大脑的方法,思维能力的提升可以让我们受益无穷,而编程的能力和技巧则会因为编写大量的代码而大幅提高。或许今后再也没有这样一个机会能让你计算机水平飞速增长。对算法和数据结构理解深入后研究计算机专业的其他课程有如“会当凌绝顶,一览众山小”。所以低年级的同学全身心的投入进来是绝对有好处的。有一年多的积累就能小有成绩了。只要坚持下来,踏踏实实,努力提升自身水平,一定可以实现自己的目标!

做acm看似是枯燥的,但一旦入了门,就会发现其中有无穷的乐趣,即使训练了不参加比赛,对自己也是一个很好的提高。

知识的积累固然重要,但是信息学终究不是看出来的,而是练出来的,这是多少前人最深的一点体会,只有通过具体题目的分析和实践,才能真正掌握数学的使用和算法的应用,并在不断的练习中增加编程经验和技巧,提高对时间复杂度的感性认识,优化时间的分配,加强团队的配合。总之,在这里光有纸上谈兵是绝对不行的,必须要通过实战来锻炼自己。

练习站点推荐:

(1)[https://www.360docs.net/doc/617700557.html,/JudegOnline] POJ收集了大量比赛真题,其中不乏简单题;POJ的服务器性能良好,响应速度快;POJ经常举办网上练习赛,练习赛是增长比赛经验的最好途径。(2)[https://www.360docs.net/doc/617700557.html,] ZOJ是国内最早出现的OJ,有一定的权威性。ZOJ的论坛是最好的资源,提供了“题目分类”,可以进行专题练习。

(3)[acm.sgu.ru] SGU是俄罗斯的。比较注重算法和数学。OI的顶尖高手都在这里做题。学习资料推荐:

算法导论(英文版)Introduction to Alogrithms.

算法艺术与信息学竞赛刘汝佳黄亮著

历年信息学奥赛中国国家队论文

ACM国际大学生程序设计竞赛试题与解析

组合数学的算法与程序设计

图论的算法与程序设计

实用算法的分析与程序设计

计算几何基础知识

快速入门指南

快速入门指南 Sybase 软件资产管理 (SySAM) 2

文档 ID:DC01050-01-0200-01 最后修订日期:2009 年 3 月 版权所有 ? 2009 Sybase, Inc. 保留所有权利。 除非在新版本或技术声明中另有说明,本出版物适用于 Sybase 软件及任何后续版本。本文档中的信息如有更改,恕不另行通知。此处说明的软件按许可协议提供,其使用和复制必须符合该协议的条款。 要订购附加文档,美国和加拿大的客户请拨打客户服务部门电话 (800) 685-8225 或发传真至 (617) 229-9845。 持有美国许可协议的其它国家/地区的客户可通过上述传真号码与客户服务部门联系。所有其他国际客户请与 Sybase 子公司或当地分销商联系。升级内容只在软件的定期发布日期提供。未经 Sybase, Inc. 事先书面许可,不得以任何形式或任何手段(电子的、机械的、手工的、光学的或其它手段)复制、传播或翻译本手册的任何部分。 Sybase 商标可在位于 https://www.360docs.net/doc/617700557.html,/detail?id=1011207 上的“Sybase 商标页”进行查看。Sybase 和列出的标记均是 Sybase, Inc. 的商标。 ?表示已在美国注册。 Java 和基于 Java 的所有标记都是 Sun Microsystems, Inc. 在美国和其它国家/地区的商标或注册商标。 Unicode 和 Unicode 徽标是 Unicode, Inc. 的注册商标。 本书中提到的所有其它公司和产品名均可能是与之相关的相应公司的商标。 美国政府使用、复制或公开本软件受 DFARS 52.227-7013 中的附属条款 (c)(1)(ii)(针对美国国防部)和 FAR 52.227-19(a)-(d)(针对美国非军事机构)条款的限制。 Sybase, Inc., One Sybase Drive, Dublin, CA 94568.

ACM一期 基础训练计划

这个训练计划我也只是把我知道的知识点罗列出来而已. 其实acm还有很多方面的知识。 可能到acm生涯结束的时候还是无法把所有的知识都吃透 所以acm的知识能学多少算多少,知识重要的不是你知道的多,重要的是你能否熟练的运用他们! 题目注意事项: zoj:https://www.360docs.net/doc/617700557.html,/ grid:https://www.360docs.net/doc/617700557.html,/ hdu:https://www.360docs.net/doc/617700557.html,/ zquoj:也就是我们的oj 一.数据机构基础。 请自学完数据结构书:2,3,4,6,7,9.1,9.2.1 9.3 10 这几章,带*号可以暂时掠过,以后再看。然后自行完成oj DS开头的题目。 注意栈队列这些数据结构一般不用像书本那样写得那么严谨。在acm中,往往因为时间关系,一般写成简单的模式:请参考附件:栈与队列acm中的简单实现.txt 其它数据结构请自行简化。 二.其他数据结构 1.trie树 请看附件trie树的相关附件或到网上搜索。注意自己写好和简化模版。 Trie树最好使用静态分配实现! poj 3630 hdu 1251 2.并查集 Hdu:1558 1811 1829 1198 3.图论专题: 简单的说下图怎么存储。 图通常分为邻接表和邻接矩阵两种方式储存。 请先移步到数据结构书祥看这两种实现方式。 邻接表:我们知道要动态分配内存。这种方式有时会导致效率低下。我们可以模拟一下动态分配内存,详见附件静态分配。 这部分图论可参考 https://www.360docs.net/doc/617700557.html,/p-251720691.html 部分题目.这本书有讲解。 1.图的基本概念 poj:1659 2.图的遍历和活动问题 zoj:2110 1709 1649 2913 1060 2193 2412 1008 2165 1136 1361 1091 1083 poj:2935 1270 3687

ACM经典算法及配套练习题

POJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,p oj2255,poj3094) 初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra) (poj1860,poj3259,poj1062,poj2253,poj1125,poj2240) (3)最小生成树算法(prim,kruskal) (poj1789,poj2485,poj1258,poj3026) (4)拓扑排序(poj1094) (5)二分图的最大匹配(匈牙利算法) (poj3041,poj3020) (6)最大流的增广路算法(KM算法). (poj1459,poj3436) 三.数据结构. (1)串(poj1035,poj3080,poj1936) (2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299) (3)简单并查集的应用. (4)哈希表和二分查找等高效查找法(数的Hash,串的Hash) (poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503) (5)哈夫曼树(poj3253) (6)堆 (7)trie树(静态建树、动态建树) (poj2513) 四.简单搜索 (1)深度优先搜索(poj2488,poj3083,poj3009,poj1321,poj2251) (2)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414) (3)简单搜索技巧和剪枝(poj2531,poj1416,poj2676,1129) 五.动态规划 (1)背包问题. (poj1837,poj1276) (2)型如下表的简单DP(可参考lrj的书page149): 1.E[j]=opt{D+w(i,j)} (poj3267,poj1836,poj1260,poj2533) 2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最长公共子序列) (poj3176,poj1080,poj1159) 3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最优二分检索树问题) 六.数学 (1)组合数学:

(2020年编辑)ACM必做50题的解题-数论

poj 1061 青蛙的约会 这题用的是解线性同余方程的方法,之前没接触到过,搜索资料后看到一个人的博客里面讲的很好就拷贝过来了。内容如下: 对于方程:ax≡b(mod m),a,b,m都是整数,求解x 的值,这个就是线性同余方程。符号说明: mod表示:取模运算 ax≡b(mod m)表示:(ax - b) mod m = 0,即同余 gcd(a,b)表示:a和b的最大公约数 求解ax≡b(mod n)的原理:对于方程ax≡b(mod n),存在ax + by = gcd(a,b),x,y是整数。而ax≡b(mod n)的解可以由x,y来堆砌。具体做法如下: 第一个问题:求解gcd(a,b) 定理一:gcd(a,b) = gcd(b,a mod b) 欧几里德算法 int Euclid(int a,int b) { if(b == 0) return a; else return Euclid(b,mod(a,b)); } 附:取模运算 int mod(int a,int b) { if(a >= 0) return a % b; else return a % b + b; } 第二个问题:求解ax + by = gcd(a,b) 定理二:ax + by = gcd(a,b)= gcd(b,a mod b) = b * x' + (a mod b) * y' = b * x' + (a - a / b * b) * y' = a * y' + b * (x' - a / b * y') = a * x + b * y 则:x = y' y = x' - a / b * y' 以上内容转自https://www.360docs.net/doc/617700557.html,/redcastle/blog/item/934b232dbc40d336349bf7e4.html

Matlab gui新手入门指南

1、从最简单的开始 编程最基本的目的就是——我执行一个操作,程序做出一个反应。 “一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项…… “做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里…… -------------------------------------------------------------------------------------------------------------------编程的基本思想: 目的->当点击按钮A时,然后执行任务C, 则->进入按钮A的回调函数callback里,写下任务C的代码。 -------------------------------------------------------------------------------------------------------------------a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。 a:不同的回调函数啥意思?? callBack 最常用的就是它。如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。正常用途,全放在callback下就够了。如果其他的,实在是想知道,了解一下也未尝不可。 ButtonDownFcn 就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。) CreateFcn 顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码; DeleteFcn 一样。在控件要销毁,但是被毁灭之前执行这个函数名下的代码。貌似“真的要退出吗”这一类就是写在这里。 KeyPressFcn 当前控件获得焦点且有按键按下时执行。(什么是焦点?就是这个控件被鼠标点了(或者是tab轮选到了)。你打开一个记事本,然后再点这个网页,再随便按几个按键,记事本上有字不?没有对吧。因为它没获得焦点,所以你的按键它不会反应的。只有你最后再点它一下,再按几个按键,结果怎么样?有字了吧?)这里的KeyPressFcn也是一样的道理。 一般在这下面的代码还会判断下按键是什么,然后执行相应的代码。 ResizeFcn,SelectionChangeFcn不常用。也懒得去看了。附几句,控件都有Resize的属性,好像默认是不可调整,如果要用到这个函数,去把它打开先。 SelectionChangeFcn 是在群按钮组件中,改变选择时,所执行的函数。 哪些控件支持哪些回调函数?很简单,你在它上面右键就可以看到了,点进去就可以编辑了。 可以在property inspect中在需要的回调函数下设置%automatic就可以自动添加相应的回调函数框架。 2、常用控件代码框架参考 --------------------------------------------------------------------- Toggle Button的callback一般写法

acm入门基础题解一

Problem A: 数字三角形 #include #include constintmaxn=110; int a[maxn][maxn],b[maxn][maxn],n; voiddata_set(){ for(int i=1;i<=n;i++){ for(int j=1;j<=i;j++){ scanf("%d",&a[i][j]); } } } void solve(){ for(int j=1;j<=n;j++) b[n][j]=a[n][j]; for(int i=n-1;i>=1;i--) for(int j=1;j<=i;j++){ if(b[i+1][j+1]>b[i+1][j]) b[i][j]=b[i+1][j+1]+a[i][j]; else b[i][j]=b[i+1][j]+a[i][j]; } printf("%d\n",b[1][1]);

} int main(){ while(scanf("%d",&n)!=EOF&&n!=0){ data_set(); solve(); } return 0; } Problem B: 去北京看奥运 #include #include constintmaxn=110; constintinf=200000000; int a[maxn],b[maxn][maxn],dp[maxn][maxn],n; voiddata_set(){ for(int j=0;j

WPS新手入门教程

WPSXXX)新手入门教程 第一课WPSXXXX勺安装、运行与退出 1.1WPSXXXX勺安装 WPSXXXXi各种Windows平台下的安装方法相似,以在中文Win95下的安装为例: 首先将WPSXXX废装光盘放入光驱,打开文件管理器或资源管理器,从光驱盘符中找到其根目录下的SETUP.EX文件,双击运行它; 或是从“开始”菜单中选择“运行”命令,在出现的对话框中单击“浏览”选择光盘上“SETUP.EX”件,单击确定”运行它。 根据屏幕提示一路单击“确定”或“下一步”按钮,可按缺省值安装。 也可选择自定义安装,在安装组件对话框中选择自己想要的组件再“确定” 即可。 1.2WPSXXX)的运行 安装完毕重启计算机后,从开始”菜单程序”下的“WPSXXX测试版”中单击金山WPSXXX”即可启动。 也可在桌面创建快捷方式,或从文件管理器、资源管理器等找到WPSXXXX 目录下的WINWPS.EX文件并运行它。 1.3WPSXXXX勺退出 可用用以下任意一种方式退出WPSXXX:X 单击“文件”菜单“退出”命令; 双击窗口左上角WPSXXXX0标; 用组合键“ AL+T F4”; 单击菜单栏左侧的图标,从弹出的菜单中选择“关闭”; 单击WPSXXX)窗口右上角的关闭按钮(在Win95中)。

第二课创建新文件 2.1 创建普通的新文件 如果没有指定要打开的文件,WPSXXXXt启动时会根据默认模板自动建立一个名为“新文件”的空白文件,在其中直接输入内容,完毕后再用保存命令即可得到一个新文件。 也可通过单击工具条上的建新文件”按钮、组合键“CtrhN'、单击文件”菜单“建立新文件”命令创建普通的新文件。 2.2 用不同方式查看文件 打印预览。这种方式能显示缩小的整个页面及多个页面,一般用来检查整个文件的页面编排。单击工具栏上的打印预览”按钮或按F8键、单击文件”菜单“打印预览”命令,可进入打印预览状态。 按不同的比例查看文件。在图文排版或打印预览状态下,单击工具栏上的“显示比例”组合框右侧向下的箭头或用“查看”菜单下的“显示比例”命令,从列表中选择“缩放比”,或是用“指定值”对话框旁的上下键头直接修改显示比例,或直接从“比例组合框”窗口键入想要的显示比例,再回车确认,可改变文件的显示比例。快捷键“Ct+rl >”一次能将显示比例放大10%, “C+trl 2.3 保存新文件 在“文件存盘”对话框中单击“文件名”下的窗口,输入自己想要的文件名;单击文件类型”窗口右侧向下的键头,选择存盘文件的类型(WPS文件或文本文件);单击“驱动器”窗口右侧的按钮,选择文件存盘的盘符;选择完盘符后,对“目录”窗口下的文件夹采用同资源管理器中一样的操作,确定文件所在的具体路径。设置完毕后,单击窗口右上角的“确定”按钮,所做的设置即生效。 2.4 关闭文件 3.1 打开已有文件 3.2 插入点的选择与定位 打开已有文件后,就可以对它进行修改了。我们一般用在文本区呈 1 ”状

ACM必做50题——数学

1、POJ 2249 Binomial Showdown 组合数学。 高精度,也可把分子分母的数组进行两两约分 #include using namespace std; double c(int c,int k) { double a=1; int i,j=2; for(i=c;i>c-k;i--) a=a*i/(c-i+1); return a; } int main() { int n,k; while(scanf("%d%d",&n,&k)!=EOF && (n!=0 || k!=0)) { if(k>n/2 )k=n-k; printf("%.0lf\n",c(n,k)); } return 0; } 2、poj 1023 the fun number system (经典进位制) 题意:一种由2进制衍生出来的进制方法(我们暂且称为“类2进制”); 标明'n'的位置上原2进制该位的权重要乘上-1,才是现在进制方法该位的权重; 譬如说;pnp对于的能表示的数2来说就是110;即1*2^2+(-1)*1*2^1+1*2^0=2; 算法:这是数论中的进位制问题,我们可以仿照原来的求一个数二进制表示方法; 但首先,我们应该考虑几个问题; ①k位这种类2进制的表示范围; 显然,当给出的'p','n'序列中,我们将所有p的位置都置为1其余位是0,此时最大;当我们将所有n的位置置为1,其余为0,此时最小;不过当我们求最大限max和最小限min时会

有一个溢出问题;比如64位全是p的序列,那么max会溢出,值为-1;同理min在全是n 时也会溢出,为1;显然是max>=0,min<=1,溢出时产生异常,依次可以判断; ②是否是最大限和最小限之间的数都能表示呢? 都可以,而且能够表示的数是2^k个,这个原始2进制是一样的;因为每个位上要么是0,要么是1,而且每个位上的权重唯一的,不能通过其他位的01组合获得;最后,我们就可以仿照原始二进制来算在类2进制下的表示;不断求N的二进制最后一位和右移;如果取余是1,则该位上一定是1,如果该位对于字母为‘n’,则高位应该再加1;这里对2取余可能会出错,因为对于负数,补码的表示,最后一位一定是和原码一样的每次的右移后(有时需先加1)补码表示正好符合要求(可找实例验证); #include using namespace std; __int64 N,M; char s[100],res[100]={'\0'}; int main() { int T;scanf("%d",&T); int i,j; __int64 _max,_min; char ch; while(T--) { scanf("%I64d",&N); scanf("%s",s); _max=0;_min=0; for(i=0;i_max&&_max>=0)) puts("Impossible"); //注意防止64位数的溢出; else { memset(res,'\0',sizeof(res)); for(i=N-1;i>=0;i--) { int flag=0; if(M&1) //这里不能是平常的%2; { res[i]='1';

第2讲 新手入门指南

[GSW] Getting Started with Stata for Windows 新手入门指南(第二讲) Stata是一个博大精深的(rich and deep)统计软件包,正如统计学本身的博大精深。新用户的最佳学习途径是练习手册上的每一个例子,在这方面花费时间多多练习会对今后从事真正的统计分析大有裨益(great benefit)。 Stata全部的官方指导手册都有一个符号标识: [GSM] Getting Started with Stata for Mac [GSU] Getting Started with Stata for Unix [GSW] Getting Started with Stata for Windows [U] Stata User’s Guide [R] Stata Base Reference Manual [D] Stata Data Management Reference Manual [G] Stata Graphics Reference Manual [XT] Stata Longitudinal-Data/Panel-Data Reference Manual [ME] Stata Multilevel Mixed-Effects Reference Manual [MI] Stata Multiple-Imputation Reference Manual [MV] Stata Multivariate Statistics Reference Manual [PSS] Stata Power and Sample-Size Reference Manual [P] Stata Programming Reference Manual [SEM] Stata Structural Equation Modeling Reference Manual [SVY] Stata Survey Data Reference Manual [ST] Stata Survival Analysis and Epidemiological Tables Reference Manual [TS] Stata Time-Series Reference Manual [TE] Stata Treatment-Effects Reference Manual: Potential Outcomes/Counterfactual Outcomes [ I ] Stata Glossary and Index [M] Mata Reference Manual

ACM入门十题(杭电oj)

ACM入门(杭电oj) Hdu 1000 #include #include int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { printf("%d\n",a+b); } } Hdu 1001 #include #include int main() { int n; while(scanf("%d",&n)!=EOF) { printf("%I64d\n\n",(__int64)(1+n)*n/2); } } Hdu 1002 #include #include #include char str1[1005],str2[10005]; int main() { int ca,count=0; scanf("%d",&ca); while(ca--) { scanf("%s%s",str1,str2); int a[1005],i,j; memset(a,0,sizeof(a)); for(i=strlen(str1)-1,j=0;i>=0;i--,j++) a[j]=str1[i]-'0'; for(i=strlen(str2)-1,j=0;i>=0;i--,j++) {

a[j]=a[j]+str2[i]-'0'; a[j+1]=a[j+1]+a[j]/10; a[j]=a[j]%10; } count++; printf("Case %d:\n",count); printf("%s + %s = ",str1,str2); int flag=0; for(i=1004;i>=0;i--) if(flag||a[i]) { printf("%d",a[i]); flag=1; } printf("\n"); if(ca!=0) printf("\n"); } } Hdu 1003 #include #include int a[100005],sum[100005]; int main() { int ca,count=0; scanf("%d",&ca); while(ca--) { int n,i; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); sum[1]=a[1]; int r=1,max=a[1]; for(i=2;i<=n;i++) { if(sum[i-1]>0) { sum[i]=sum[i-1]+a[i]; if(sum[i]>max) { max=sum[i]; r=i;

ACM数论方面十道基础题目详解

1、公约数和公倍数 https://www.360docs.net/doc/617700557.html,/JudgeOnline/problem.php?pid=40 这道题目是非常基础的题目,在学习了欧几里德算法之后,应该很好就能做的出来了。注意两个数的最小公倍数和最大公约数之间有关系为: a*b=gcd(a,b)*lcm(a,b); 代码如下: #include using namespace std; inline int Gcd(int m,int n) //求最大公约数 { if (m==0) return n; return Gcd(n%m,m); } int main() { int n,a,b,g; cin>>n; while(n--) { cin>>a>>b; g=Gcd(a,b); cout<

?????≡≡≡)33(mod ) 28(mod )23(mod d n e n p n 那么找到k1、k2、k3满足: k1:k1%23==0&&k1%28==0&&k1%33==1 k2:k2%33==0&&k2%28==0&&k2%23==1 k3:k3%33==0&&k3%23==0&&k3%28==1 则n=k2*p+k3*e+k1*i+k*21252; 代码如下: #include int main() { int n,a,b,c,t; while(scanf("%d%d%d%d",&a,&b,&c,&t),~a) { n=(5544*a+14421*b+1288*c)%21252-t; if(n<=0) n+=21252; printf("%d\n",n); } } 3、韩信点兵 https://www.360docs.net/doc/617700557.html,/JudgeOnline/problem.php?pid=34 这个题目也是很经典的中国剩余问题类的题目,思路跟上面差不多这道题目因为数据范围很小实际上暴力就可以过,但是这个题目不失为练习中国剩余的很好题目,所以建议大家用中国剩余定理做一下。 直接给出代码: 暴力求解代码: #include main() { int a,b,c,n; scanf("%d%d%d",&a,&b,&c); for(n=11;n<100;n++) if(n%3==a&&n%5==b&&n%7==c) printf("%d\n",n); } 中国剩余定理思路代码:

新手必看的Word入门教程

新手必看的Word入门教程 (本文由一览旗下液压英才网资深顾问袁工分享) 新建文件夹: Word是一个文字处理软件,属于微软的Office系列,国产的是金山WPS, 文字处理主要包括,文字录入、排版、存储、打印等等各个方面,我们先来做好准备工作; 1、打开我的文档 1)在桌面上双击“我的文档”图标,进入文件夹; 2)在空白处单击鼠标右键,在出来的菜单中选择“新建”命令;

3)在出来的下一级菜单中,选择上边的“文件夹”命令; 4)这时在工作区出来一个新的文件夹,名称那儿是蓝色的,按退格键删除里头的“新建文件夹”, 然后输入自己姓名的拼音,输好后再用鼠标点一下图标,这样一个自己名字的文件夹就建好了; 这儿也可以输汉字,点击输入法图标,选择一个汉字输入法,输入自己的名字就可以; 5)在图标上双击,进入文件夹看一下,由于是新建的文件夹,里头还是空的,后面我们会逐渐保存上自己的文件; 本节学习了新建文件夹的一般方法,如果你成功地完成了练习,请继续学习;输入文字或保存: 1、启动Word 1)单击屏幕左下角的“开始-所有程序-Microsoft Office-Microsoft Office Word 2003”,就可以启动Word,也可以在桌面上创建一个快捷方式;

2)Word窗口主要由菜单栏、工具栏、工作区组成,文字一般输到工作区中,有一个一闪一闪的竖线; 3)记住常用的菜单“文件”菜单、“视图”菜单和“格式”菜单,工具栏中是一些常用的菜单命令,用图片表示,使用很方便; 2、输入文字 1)在工作区中点一下鼠标,这样就会出现一条一闪一闪的光标插入点,文字就输在它这儿; 2)点击输入法图标,选择汉语输入法,这儿选择的是紫光输入法; 3)输入自己的姓名,然后按回车到下一行,输入班级、学校; 注意观察光标插入点的位置变化,它会随着文字逐渐后退; 3、保存文件 1)点击菜单“文件-保存”命令,第一次保存,出来一个“另存为”对话框;

ACM入门之新手入门

ACM入门之新手入门 1.ACM国际大学生程序设计竞赛简介 1)背景与历史 1970年在美国T exasA&M大学举办了首次区域竞赛,从而拉开了国际大学生程序设计竞赛的序幕。1977年,该项竞赛被分为两个级别:区域赛和总决赛,这便是现代ACM竞赛的开始。在亚洲、美国、欧洲、太平洋地区均设有区域赛点。1995至1996年,来自世界各地的一千多支s代表队参加了ACM区域竞赛。ACM大学生程序设计竞赛由美国计算机协会(ACM)举办,旨在向全世界的大学生提供一个展示和锻炼其解决问题和运用计算机能力的机会,现已成为全世界范围内历史最悠久、规模最大的大学生程序设计竞赛。 2)竞赛组织 竞赛在由各高等院校派出的3人一组的队伍间进行,分两个级别。参赛队应首先参加每年9月至11月在世界各地举行的“区域竞赛(Regional Contest)”。各区域竞赛得分最高的队伍自动进入第二年3月在美国举行的“总决赛(Final Contest)”,其它的高分队伍也有可能被邀请参加决赛。每个学校有一名教师主管队伍,称为“领队”(faculty advisor),他负责选手的资格认定并指定或自己担任该队的教练(coach)。每支队伍最多由三名选手(contestant)组成,每个选手必须是正在主管学校攻读学位的学生。每支队伍最多允许有一名选手具有学士学位,已经参加两次决赛的选手不得再参加区域竞赛。 3)竞赛形式与评分办法 竞赛进行5个小时,一般有6~8道试题,由同队的三名选手使用同一台计算机协作完成。当解决了一道试题之后,将其提交给评委,由评委判断其是否正确。若提交的程序运行不正确,则该程序将被退回给参赛队,参赛队可以进行修改后再一次提交该问题。 程序运行不正确是指出现以下4种情况之一: (1)运行出错(run-time error); (2)运行超时〔time-limit exceeded〕; (3)运行结果错误(wrong answer); (4)运行结果输出格式错误(presentation error)。 竞赛结束后,参赛各队以解出问题的多少进行排名,若解出问题数相同,按照总用时的长短排名。总用时为每个解决了的问题所用时间之和。一个解决了的问题所用的时间是竞赛开始到提交被接受的时间加上该问题的罚时(每次提交通不过,罚时20分钟)。没有解决的问题不记时。美国英语为竞赛的工作语言。竞赛的所有书面材料(包括试题)将用美国英语写出,区域竞赛中可以使用其它语言。总决赛可以使用的程序设计语言包括PASCAL,C,C++及Java,也可以使用其它语言。具体的操作系统及语言版本各年有所不同。 4)竞赛奖励情况 总决赛前十名的队伍将得到高额奖学金:第一名奖金为12000美元,第二名奖金为 6000美元,第三名奖金为3000美元,第四名至第十名将各得到l500美元。除此之外还将承认北美冠军、欧洲冠军、南太平洋冠军及亚洲冠军。 2.ACM竞赛需要的知识 语言是最重要的基本功 无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都是大家要过的第一道关。亚洲赛区的比赛支持的语言包括C/C++与JAVA。首先说说JAVA,众所周知,作为面向对象的王牌语言,JAVA在大型工程的组织与安全性方面有着自己独特的优势,但是对于信息学比赛的具体场合,JAVA则显得不那么合适,它对于输入输出流的操作相比于C++要繁杂很多,更为重要的是JAVA程序的运行速度要比C++慢10倍以上,而竞赛中对于JAVA程序的运行时限却往往得不到同等比例的放宽,这无疑对算法设计提出了更高的要求,是相当

数论50题

数论50题 1.由1,3,4,5,7,8这六个数字所组成的六位数中,能被11整除的最大的数是多少? 【分析】各位数字和为1+3+4+5+7+8=28 所以偶数位和奇数位上数字和均为14 为了使得该数最大,首位必须是8,第2位是7,14-8=6 那么第3位一定是5,第5位为1 该数最大为875413。 2.请用1,2,5,7,8,9这六个数字(每个数字至多用一次)来组成一个五位数,使得它能被75整除,并求出这样的五位数有几个? 【分析】75=3×25 若被3整除,则各位数字和是3的倍数,1+2+5+7+8+9=32 所以应该去掉一个被3除余2的,因此要么去掉2要么去掉8 先任给一个去掉8的,17925即满足要求 1)若去掉8 则末2位要么是25要么是75,前3位则任意排,有3!=6种排法 因此若去掉8则有2*6=12个满足要求的数 2)若去掉2 则末2位只能是75,前3位任意排,有6种排法 所以有6个满足要求 综上所述,满足要求的五位数有18个。 3.已知道六位数20□279是13的倍数,求□中的数字是几? 【分析】根据被13整除的判别方法,用末三位减去前面的部分得到一个两位数,十位是7,个位是(9-□),它应该是13的倍数,因为13|78,所以9-□=8 □中的数字是1 4.某自然数,它可以表示成9个连续自然数的和,又可以表示成10个连续自然数的和,还可以表示成11个连续自然数的和,那么符合以上条件的最小自然数是?(2005全国小学数学奥赛) 【分析】可以表示成连续9个自然数的和说明该数能被9整除,可以表示成连续10个自然数的和说明该数能被5整除,可表示成连续11个自然数的和说明该数能被11整除 因此该数是[9,5,11]=495,因此符合条件的最小自然数是495。 5.一次考试中,某班同学有考了优秀,考了良好,考了及格,剩下的人不及格,已知该班同学的人数不超过50,求有多少人不及格? 【分析】乍一看这应该是一个分数应用题,但实际上用到的却是数论的知识,由于人数必须是整数,所以该班同学的人数必须同时是2,3,7的倍数,也就是42的倍数,又因为人数不超过50,所以只能是42人,因此不及格的人数为(1---)×42=1人 6.(1)从1到3998这3998个自然数中,有多少个能被4整除? (2)从1到3998这3998个自然数中,有多少个数的各位数字之和能被4整除? (第14届迎春杯考题) 【分析】(1)3998/4=999….6所以1-3998中有996个能被4整除的 (2)考虑数字和,如果一个一个找规律我们会发现规律是不存在的 因此我们考虑分组的方法 我们补充2个数,0000和3999,此外所有的一位两位三位数都在前面加上0补足4位 然后对这4000个数做如下分组

HAM新手对讲机入门指南

HAM新手对讲机入门指南 2013年06月08日来源: 作者:(上海杨法) 作者:杨法 对于很多新参加业余电台活动的HAM如何选择一台自己适用的对讲机是面临的实际问题。通常新HAM首先会选择使用灵活的手持式对讲机作为入门设备。市场上进口机国产机、业余机专业机、全新机二手机令人眼花缭乱,价格从二三百元到三四千元都有实在令人难以取舍。这些不同类型的对讲机各自有什么特点,哪些产品更适合业余电台HAM使用,哪些产品是业余电台界公认的好机器,过去大家在选择对讲机时有什么误区,下文将一一为大家解答。 对讲机是业余电台爱好者通讯的主力工具,HAM都希望拥有高性能的电台系统发出强劲的电波,收到对方59+带有赞扬性的信号报告。从无线电工程技术上关系到通讯效果有四大因素:设备、天线、高度、环境。 认识业余电台对讲机设备 新HAM最早接触到的收发信设备就是对讲机,业余电台通讯与商用专业通讯不同,业余电台爱好者使用频率广泛,除了要求能够达成通讯外还关心信号报告、传播条件、功率大小等情况,这些也都是QSL卡中所需记载的内容。所以也有这样的说法商用专业通讯是“用”对讲机,业余电台通讯是“玩”对讲机,HAM对对讲机的性能和功能更为在意。 从技术上符合业余电台通讯特点需要的对讲机应该具备以下四个方面的特性: ★频率直接显示,面板频率连续可调。业余电台爱好者按照国际惯例是获准使用一个频率段,而不是像企事业单位的专业电台只可使用几个频点。如在国际上70cm波段业余电台可以使用430~440MHz整整10MHz带宽,如果以现在推荐的12.5KHz间隔标准就有800个频点之多。如此多的频点如果要一一写入一部对讲机中是不可想象的,而且现在各个车友会都有自己的常用通讯频率,各地也有不同频率和亚音的中继,所以要想达到灵活的全兼容就必须使对讲机具备面板直接频率设置的功

PPT新手入门教程

PowerPoint2003教程 一. 新建一份空白演示文稿 默认情况下,启动PowerPoint2003(其他版本相似)时,系统新建一份空白演示文稿,并新建1张幻灯片。我们可以通过下面三种方法,在当前演示文稿中添加新的幻灯片: 方法一:快捷键法。按“Ctrl+M”组合键,即可快速添加1张空白幻灯片。 方法二:回车键法。在“普通视图”下,将鼠标定在左侧的窗格中,然后按下回车键(“Enter”),同样可以快速插入一张新的空白幻灯片。 方法三:命令法。执行“插入→新幻灯片”命令,也可以新增一张空白幻灯片。 二. 插入文本框 通常情况下,在演示文稿的幻灯片中添加文本字符时,需要通过文本框来实现。 1、执行“插入→文本框→水平(垂直)”命令,然后在幻灯片中拖拉出一个文本框来。 2、将相应的字符输入到文本框中。 3、设置好字体、字号和字符颜色等。 4、调整好文本框的大小,并将其定位在幻灯片的合适位置上即可。

注意:也可以用“绘图”工具栏上的文本框按钮来插入文本框,并输入字符。 三. 直接输入文本 如果演示文稿中需要编辑大量文本,我推荐大家使用下面直接输入文本的方法。 在“普通视图”下,将鼠标定在左侧的窗格中,切换到“大纲”标签下。然后直接输入文本字符。每输入完一个内容后,按下“Enter”键,新建一张幻灯片,输入后面的内容。 注意:如果按下“Enter”键,仍然希望在原幻灯片中输入文本,只要按一下“Tab”键即可。此时,如果想新增一张幻灯片,按下“Enter”键后,再按一下“Shift+Tab”键就可以了 四. 插入图片 为了增强文稿的可视性,向演示文稿中添加图片是一项基本的操作。 1、执行“插入→图片→来自文件”命令,打开“插入图片”对话框。 2、定位到需要插入图片所在的文件夹,选中相应的图片文件,然后按下“插入”按钮,将图片插入到幻灯片中。 3、用拖拉的方法调整好图片的大小,并将其定位在幻灯片的合适位置上即可。 注意:以定位图片位置时,按住Ctrl键,再按动方向键,可以实现图片的微量移动,达到精确定位图片的目的。 五. 插入声音

ACM部分练习题目答案

ACM部分习题答案: A + B Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 100972 Accepted Submission(s): 33404 Problem Description Calculate A + B. Input Each line will contain two integers A and B. Process to end of file. Output For each case, output A + B in one line. Sample Input 1 1 Sample Output 2 # include Int main() {int x,y,s; while(scanf("%d %d",&x,&y)!=EOF) {s=x+y; printf("%d\n",s);} return 0; } Sum Problem Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 85964 Accepted Submission(s): 19422 Problem Description Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge). In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. Input The input will consist of a series of integers n, one integer per line. Output For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer. Sample Input 1 100 Sample Output 1 5050 # include int main() {int n; long int s;

相关文档
最新文档