博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2010年10月20日

摘要: 对于信息学奥赛,有教师认为是好事,应该受到重视,也有教师认为奥赛辅导太累,且获奖不易,学生成了奥赛的“牺牲品”,希望取消奥赛。那么我们该怎么样正确看待信息学奥赛呢? 信息学奥赛为学生提供了一个学习、竞争和表现的平台。通过信息学奥赛,调动了广大青少年学习计算机的积极性,使更多的青少年课外接触和学习计算机科学知识,提高了他们的逻辑思维能力、解决实际问题的能力、协作能力和沟通能... 阅读全文

posted @ 2010-10-20 16:53 桃子在路上 阅读(1225) 评论(0) 推荐(1) 编辑

摘要: 由于待处理的数据超过了任何一种数据类型所能容纳的范围,因此必须采用数串形式输入,并将其转化为数组。该数组的每一个元素对应一个十进制数,由其下标顺序指明位序号。由于高精度运算可能使得数据长度发生变化,因此除要用整数数组存储数据外,还需要一个整数变量纪录整数数组的元素个数,即数据的实际长度。type numtype=array[1..255] of byte;var a:numtype; la:byt... 阅读全文

posted @ 2010-10-20 11:30 桃子在路上 阅读(507) 评论(0) 推荐(0) 编辑

摘要: 快速排序是基于分治排序算法,在数据规模很大的情况下一般使用该算法。 算法主过程如下: procedure qsort(L,R:longint); var i,j,mid,temp:longint; begin i:=L; j:=R; mid:=a[L+random(R-L+1)]; {随机选择一个数组中的数作为对比数} repeat while a[i]< mid do inc(i); ... 阅读全文

posted @ 2010-10-20 11:26 桃子在路上 阅读(269) 评论(0) 推荐(0) 编辑

摘要: 【开心的金明】 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等:用整数1~5 表示,第5 等最重要。他还从因特... 阅读全文

posted @ 2010-10-20 11:22 桃子在路上 阅读(1887) 评论(0) 推荐(0) 编辑

摘要: 【0/1背包问题】 在0/1背包问题中,需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高,即p1*x1+p2*x1+...+pi*xi(其1<=i<=n,x取0或1,取1表示选取物品i) 取得最大值。【输入文件】第一行一个数c,为背包容量。... 阅读全文

posted @ 2010-10-20 11:21 桃子在路上 阅读(620) 评论(0) 推荐(0) 编辑

摘要: 【能量项链】 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为m,尾标记为r,... 阅读全文

posted @ 2010-10-20 11:20 桃子在路上 阅读(319) 评论(0) 推荐(0) 编辑

摘要: 【石子合并】 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。 【输入文件】包含两行,第1 行是正整数n(1<=n<=100),表示有n堆石子。第2行有n个数,分别表示每堆石子的个数。 【输出文件】输出两行。 第1 行... 阅读全文

posted @ 2010-10-20 11:19 桃子在路上 阅读(1839) 评论(0) 推荐(0) 编辑

摘要: 【最长递增子序列】 给定数列A1,A2,...An,求最长递增子序列输入: 第一行一个整数n,表示有n个数(n<=1000) 第二行n个整数,用空格隔开。输出: 最长递增子序列长度。【分析】 在求以Ai为末元素的最长递增子序列时,找到所有序号在Ai前面且小于Ai的元素Aj,即j<i且Aj<Ai。如果这样的元素存在,那么对所有Aj,都有一个以Aj为末元素的最长递增子序列的长度S(j... 阅读全文

posted @ 2010-10-20 11:17 桃子在路上 阅读(3777) 评论(0) 推荐(1) 编辑

摘要: 【骑士游历问题】 设有一个m×n的棋盘(2≤m≤50,2≤n≤50),在棋盘上任一点有一个中国象棋“马”,马走的规则为:马走日字;马只能向右走。当m,n给出后,同时给出马起始的位置和终点的位置,试找出从起点到终点所有路径的数目。输入: m,n,x1,y1,x2,y2 (分别表示m,n、起点坐标和终点坐标)输出: 路径数目(若不存在,则输出... 阅读全文

posted @ 2010-10-20 11:16 桃子在路上 阅读(3151) 评论(0) 推荐(1) 编辑

摘要: 一、动态规划程序设计的基本概念 1、阶段k 将所给问题的过程,按时间或空间特征分解成若干相互联系的阶段,以便按次序去求每个阶段的解。设阶段变量为k。 2、状态Sk 各阶段开始的客观条件叫做状态,常用Sk表示各阶段的状态变量,Sk是k阶段的状态集合。 每个阶段的状态都是由以前阶段的状态以某种方式“变化”而来,这种“变化”称为状态转移。 将各阶段按照一定... 阅读全文

posted @ 2010-10-20 11:15 桃子在路上 阅读(410) 评论(0) 推荐(0) 编辑

摘要: 【最短路径问题】 下图给出了一张地图,地图中每个顶点代表一个城市,两个城市间的连线代表道路,连线上的数值代表道路长度,求从A地到E地的最短路径。 【分析】本题可以利用深度搜索法求解,伪代码如下:var s:未访问的城市集合; dist[i,j]:存储任意两个城市间的距离数组; {0表示不连通}function search(city):integer; {求城市city到城市E的最短距离} beg... 阅读全文

posted @ 2010-10-20 11:13 桃子在路上 阅读(837) 评论(0) 推荐(0) 编辑

摘要: 住在乌托邦首都(编号为1)的天凯,开始对首都的交通情况感到不满,因为,他发现首都到某些城市,即使他选择最短的路径,距离也非常远。因此他想让你求一下交通中心城市是哪座城市(也有可能就是首都)。 为了说明交通中心城市的概念,先定义G[i]为距离城市i最远的城市(到城市i的最短路径长度最长的城市)到城市i的距离。那么交通中心城市都是G[i]最小的城市,如果有几个城市的G[i]一样小,则是编号最小的那个。... 阅读全文

posted @ 2010-10-20 11:12 桃子在路上 阅读(215) 评论(0) 推荐(0) 编辑

摘要: 乌托邦有n个城市,某些城市之间有公路连接。任意两个城市都可以通过公路直接或间接到达,并且任意两个城市之间有且仅有一条路径。 每条公路都有自己的长度,这些长度都是已经测量好的。小修想从一个城市出发开车到另一个城市,并且她希望经过的公路总长度最长。请问她应该选择哪两个城市?这个最长的长度是多少? 【输入文件】wutuo.in 第一行一个整数n(表示n个城市,n≤100),以下n-1行每行三个整数... 阅读全文

posted @ 2010-10-20 11:09 桃子在路上 阅读(418) 评论(0) 推荐(0) 编辑

摘要: 在一个地图上有n(n≤20)个地窖,每个地窖中埋有一定数量的地雷,给出地窖之间的联系路径。当地窖极其连接的数据给出之后,某人可以从任一处开始挖地雷,然后可以沿着指出的连接往下挖(仅能选择一条路径),挖雷的过程中允许某人重复经过地窖。当无连接时,挖地雷工作结束。请编程设计一个挖地雷的方案,使某人能挖到的最多的地雷。 【输入文件】miner.in n(地窖个数)v1 v2 v3 ... vn (... 阅读全文

posted @ 2010-10-20 11:08 桃子在路上 阅读(521) 评论(0) 推荐(0) 编辑

摘要: 已知字母A,B和一组字母变换规则(至多100个规则): A1->B1 A2->B2 规则的含义为:如果A=Ak,可以通过一次变换为Bk(1≤k ≤ 规则数) 求从A到B最少需要几次变换。 【输入文件】letter.in 第一行为两个字母,分别是初始字母和变换目标字母。 以下k行为变换规则(1 ≤ k ≤ 100),都是大写字母,两个字母间以空格间隔,直到文件结束... 阅读全文

posted @ 2010-10-20 11:07 桃子在路上 阅读(222) 评论(0) 推荐(0) 编辑

摘要: 某大学准备在校园网中构建校园网络,已知在校园网中选好了N(N<1000)个点,并准备在这些点安装网络设备和电脑。若要将N个点互相连接起来,问怎样布线才能使得总距离最短,两点间的布线长度等于这两个点的几何距离。【输入】network.in输入文件的第一行为一个正整数N(1≤N≤100)。接下来N行,每行2个数U,V ,表示坐标。【输出】network.out输出最短路径距离(保留两... 阅读全文

posted @ 2010-10-20 11:05 桃子在路上 阅读(169) 评论(0) 推荐(0) 编辑

摘要: 所谓拓扑序列,就是有向图的最长路径问题,如果图中存在环,则最长路径是无法求得的,所以有拓扑序列的有向图不可以存在环。具体定义如下: 给出有向图G=(V,E),若结点的线形序列V1,V2,...Vn满足条件:对于i,j(1≤j<i≤n),Vi和Vj之间没有边。求线形序列V1,V2,...Vn的过程就称为拓扑排序,这个线形序列就称为拓扑序列。【拓扑排序主要思想】有向图可以拓扑排序的条... 阅读全文

posted @ 2010-10-20 11:03 桃子在路上 阅读(4522) 评论(0) 推荐(0) 编辑

摘要: 在一张顶点带权的无向图中,计算含顶点数最多的一个连通分支和顶点权和最大的连通分支。【输入】 n(顶点数,1≤n≤20) 以下n行,其中第i行是顶点i的权 e(边数,1≤e≤210) 以下e行,每行为有边连接的一对顶点【输出】 含顶点数最多的一个连通分支 顶点权和最大的一个连通分支  【输入样例】 62102085751 51 62 34 65 6 【输出样例】 1->... 阅读全文

posted @ 2010-10-20 11:02 桃子在路上 阅读(504) 评论(0) 推荐(0) 编辑

摘要: 输入一张无向图,指出该图中哪些结点对之间有路。该问题通常采用传递闭包的计算方法。【输入】 n(顶点数,1≤n≤20) e(边数,1≤e≤210) 以下e行,每行为有边连接的一对顶点【输出】 k行,每行两个数,为存在通路的顶点对序号i,j(i<j)  【输入样例】 651 51 62 34 65 6 【输出样例】 1 41 51 62 34 54 65 6 progr... 阅读全文

posted @ 2010-10-20 11:01 桃子在路上 阅读(504) 评论(0) 推荐(0) 编辑

摘要: Dijkstra算法中要求边的权非负,如果遇到负权,则可以采用Bellman-Ford算法。【Bellman-Ford算法思想】 【Bellman-Ford算法实例】  【输入样例】 6101 2 -101 5 191 6 212 3 52 4 62 6 113 4 -64 5 184 6 145 6 -331 4  【输出样例】 length=-111->2->3->4 pro... 阅读全文

posted @ 2010-10-20 10:59 桃子在路上 阅读(711) 评论(0) 推荐(1) 编辑