全国

热门城市 | 全国 北京 上海 广东

华北地区 | 北京 天津 河北 山西 内蒙古

东北地区 | 辽宁 吉林 黑龙江

华东地区 | 上海 江苏 浙江 安徽 福建 江西 山东

华中地区 | 河南 湖北 湖南

西南地区 | 重庆 四川 贵州 云南 西藏

西北地区 | 陕西 甘肃 青海 宁夏 新疆

华南地区 | 广东 广西 海南

  • 微 信
    高考

    关注高考网公众号

    (www_gaokao_com)
    了解更多高考资讯

首页 > 高中频道 > 信息学联赛知识 > 信息学联赛知识:基本程序题集

信息学联赛知识:基本程序题集

2009-11-12 23:03:50网络

基本程序题集

  NOIP是一个比较基础的比赛,大家都说NOIP是考察基本算法的熟练掌握,所以个人认为无论是普及组还是提高组,都要从最最基本的题做起,要达到:只要是简单题,编完就对--不用编译;一般的题,写出来的都是对的--运行后几本上是正确的。为了提高,于是做了一个基本程序题集,以便查找自己的不足之处。

  题集目录

  一、贪心算法

  Problem1删数问题

  Problem2旅行家的预算

  Problem3线段覆盖

  Problem4背包问题

  Problem5任务调度

  Problem6果子合并

  Problem7射击竞赛

  Problem8任务安排

  Problem9最小差距

  二、 分治算法

  Problem1一元三次方程的解

  Problem2查找第k大元素

  Problem3麦森数

  Problem4逆序对个数

  Problem5寻找最近点对

  Problem6剔除多余括号

  Problem7赛程安排

  三、 搜索算法

  Problem1皇后问题

  Problem2八数码问题

  Problem3拼图

  Problem4质数方阵

  Problem5埃及分数

  Problem6字符串变换

  Problem7聪明的打字员

  Problem8 01序列

  Problem9生日蛋糕

  四、 图论算法

  Problem1一笔画问题

  Problem2 Car的旅行路线

  Problem3求割点与桥

  Problem4十字绣

  Problem5舞会

  Problem6休息中的小呆

  Problem7最优布线问题

  Problem8磁盘碎片整理

  Problem9说谎岛

  Problem10 01串问题

  Problem11海岛地图

  五、 数学问题

  Problem1数的划分

  Problem2最优分解方案

  Problem3出栈序列统计

  Problem4百事世界杯之旅

  Problem5电子锁

  Problem6堆塔问题

  Problem7取数游戏

  Problem8球迷购票

  Problem9 Fibonacci公约数

  Problem10传球问题

  Problem11约瑟夫问题

  Problem12青蛙过河

  Problem13棋盘游戏

  六、 数据结构

  Problem1火车栈

  Problem2括号表达式

  Problem3银河英雄传说

  Problem4矩形覆盖

  Problem5最短路径问题

  Problem6果子合并

  七、 字符串处理

  Problem1相对分子质量

  Problem2表达式求值

  Problem3侦探推理

  Problem4最长公共子串

  Problem5一元一次方程的解

  Problem6多项式乘法

  一、 贪心算法

  Problem1删数问题

  题目描述:

  给定一正整数n(n的位数小于240),现要删除数n中的s个数码,使其得到的新数最小,求这个最小数。

  输入

  输入有两行,第一行为整数n,第二行即为s

  输出

  输出一行,即最小的那个数

  Problem2旅行家的预算

  题目描述

  一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离i、每升汽油价格Pi(i=1,2,……N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出"No Solution"。

  输入

  输入第一行有5个数:D1,c,D2,P,N(前四个为实数,N为整数,N<=1000)

  后面有N行,每行两个实数,分别表示对应的加油站离出发点的距离,与每升汽油的价格

  输出

  输出仅一行,即最少花费

  Problem3线段覆盖

  题目描述

  给定数轴上的n条线段(n<100),每个线段有其端点ai、bi组成(-999<=ai<bi<=999),由于有些线段会相互覆盖,所以求出至少去掉多少条线段,才能使剩下的所有线段之间互相没有内部公共点(若只是端点重合,则不是内部公共点)。

  输入

  输入第一行为整数N,接下来有N行,分别描述每条线段

  输出

  输出第一行为最少删除的线段数s

  后面s行描述一个可行的删除方案,即删除那些线段

  Problem4背包问题

  题目描述

  有一个贼在偷窃一家商店时发现有N件物品:第i件物品值Vi元,重Wi磅,(1≤i≤n),此处Vi和Wi都是整数。他希望带走的东西越值钱越好,但他的背包中最多只能装下W磅的东西(W为整数),小偷可带走某个物品的一部分(只带走其中的几磅),小偷应该带走哪几件东西,每件东西的重量是多少?

  输入

  输入第一行为N(N<=10000),后面N行描述每个物品,每行两个数,即为Vi与Wi

  输出

  输出第一行为大的最大价值,后面依次描述物品i应偷多少(如果没偷,则不输出,输出对应的i为升序)。

  Problem5任务调度

  题目描述

  一个单位时间任务是个作业,如要在计算机上运行一个程序,它恰覆盖一个单位的运行时间。给定一个单位时间任务的集合S,对S的一个调度即S的一个排列,其中规定了这些任务的执行顺序。该调度中的第一个任务开始于时间0,结束于时1;第二个任务开始于时间1, 结束于时间2;……。单处理器上具有期限和罚款的单位时间任务调度问题的输入如下:

  1.包含n个单位时间任务的集合S={1,2,……,n};

  2.n个取整的期限d1,……,dn,(1≤d,≤n),任务i要求在di前完成;

  3.n个非负的权(或罚款)w1,……,wn。如果任务i没在时间di之前结束,则导致罚款wi;

  要求找出S的一个调度,使之最小化总的罚款。

  输入

  输入第一行为N(N<=1000),后面N行每行两个数,即为对应的di与wi

  输出

  输出最小总罚款Problem6果子合并

  Problem6果子合并

  题目描述

  在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。

  每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。

  因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。

  例如有3种果子,数目依次为1,2,9。可以先将1、2堆合并,新堆数目为3,耗费体力为3。接着,将新堆与原先的第三堆合并,又得到新的堆,数目为12,耗费体力为12。所以多多总共耗费体力=3+12=15。可以证明15为最小的体力耗费值。

 

[标签:竞赛联赛 数学联赛]

分享:

高考院校库(挑大学·选专业,一步到位!)

高考院校库(挑大学·选专业,一步到位!)

高校分数线

专业分数线

  • 欢迎扫描二维码
    关注高考网微信
    ID:gaokao_com

  • 👇扫描免费领
    近十年高考真题汇总
    备考、选科和专业解读
    关注高考网官方服务号