全国站

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

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

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

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

华中地区 | 河南 湖北 湖南

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

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

华南地区 | 广东 广西 海南

资    源
  • 资    源
当前位置:查字典高考网>高中频道>信息学联赛知识>信息学联赛知识:贪心策略的特点与在信息学竞赛中的应用

信息学联赛知识:贪心策略的特点与在信息学竞赛中的应用

来自:查字典高考网 2009-11-12

贪心策略的特点与在信息学竞赛中的应用

1、求最长路径问题(NOI93):

对一个不存在回路的有向图,编程求出途经结点数最多的一条路径。有向图存放在一个文本文件中,第0行为一个数字,为该图的结点总数N,其下还有N行,每行有N个非0即1的数字。若第i行第j列的数字为1,则表示结点i到结点j存在由i指向j的边,否则该数为0。

2、删数问题的源程序:

输入数据:一个高精度正整数N,所删除的数字个数S。

输出数据:去掉的数字的位置和组成的新的正整数。

Program Delete_digit;

Var n:string;{n是由键盘输入的高精度正整数}

s,a,b,c:byte;{s是所要删除的数字的个数}

data:array[1..200] of 0..9; {记录删除的数字所在位置}

begin

readln(n);

readln(s);

for a:=1 to s do

for b:=1 to length(n) do if n[b]n[b+1] then {贪心选择}

begin

delete(n,b,1);

data[a]:=b+a-1; {记录所删除的数字的位置}

break;

end;

while n[1]='0' do delete(n,1,1); {将字符串首的若干个0去掉}

writeln(n);

for a:=1 to s do writeln(data[a],' ');

end.

3、最优乘车问题

输入数据:输入文件INPUT.TXT。文件的第行是一个数字M(1100)表示开通了M条单向巴士线路,第2行是一个数字N(1500),表示共有N个车站。从第3行到第M+2行依次给出了第一条到第M条巴士线路的信息。其中第i+2行给出的是第i条巴士线路的信息,从左至右依次按行行驶顺序给出了该线路上的所有站点,相邻两个站号之间用一个空格隔开。

输出数据:输出文件是OUTPUT.TXT。文件只有一行,为最少换车次数(在0,1,,M-1中取值),0表示不需换车即可达到。如果无法乘车达到S公园,则输出NO。

Program Travel;

var m:1..100; {m为开通的单向巴士线路数}

n:1..500; {n为车站总数}

result:array[1..501] of -1..100; {到某车站的最少换车数}

num:array[1..500,1..50] of 1..500; {从某车站可达的所有车站序列}

sum:array[1..500] of 0..50; {从某车站可达的车站总数}

check:array[1..500] of Boolean; {某车站是否已扩展完}

Procedure Init;

var f1:text;

a,b,c,d:byte;

data:array[1..100] of 0..100;

begin

assign(f1,'input.txt');

reset(f1);

readln(f1,m);

readln(f1,n);

result[501]:=100;

for a:=1 to m do

begin

for b:=1 to 100 do data[b]:=0;

b:=0;

repeat

inc(b);

read(f1,data[b]);

until eoln(f1);

for c:=1 to b-1 do

for d:=c+1 to b do

begin

inc(sum[data[c]]);

num[data[c],sum[data[c]]]:=data[d];

end;

end;

end;

Procedure Done;

var min,a,b,c,total:integer;

begin

fillchar(result,sizeof(result),-1);

result[1]:=0;

for c:=1 to sum[1] do result[num[1,c]]:=0;

b:=data[1,1];

repeat

for c:=1 to sum[b] do

if (result[num[b,c]]=-1) then result[num[b,c]]:=result[b]+1;

min:=501;

for c:=1 to n do if (result[c]-1) and (result[c]result[min])

then min:=c;

b:=min;

until result[n]

writeln(result[n]);{到达S公园的最少换车次数}

end;

begin

Init;

end.

4、最佳游览路线问题

输入数据:输入文件是INPUT.TXT。文件的第一行是两个整数M和N,之间用一个空格符隔开,M表示有多少条旅游街(1100),N表示有多少条林荫道(120000)。接下里的M行依次给出了由北向南每条旅游街的分值信息。每行有N-1个整数,依次表示了自西向东旅游街每一小段的分值。同一行相邻两个数之间用一个空格隔开。

输出文件:输出文件是 OUTPUT.TXT。文件只有一行,是一个整数,表示你的程序找到的最佳浏览路线的总分值。

Program Tour;

var m,n:integer; {M为旅游街数,N为林荫道数}

data:array[1..20000] of -100..100;{data是由相邻两条林荫道所分}

procedure Init; {隔的旅游街的最大分值}

var a,b,c:integer;

f1:text;

begin

assign(f1,'input.txt');

reset(f1);

read(f1,m,n);

for a:=1 to n-1 do read(f1,data[a]); {读取每一段旅游街的分值}

for a:=2 to m do

for b:=1 to n-1 do

begin

read(f1,c);

if cdata[b] then data[b]:=c; {读取每一段旅游街的分值,并选择}

end; {到目前位置所在列的最大分值记入数组data}

close(f1);

end;

procedure Done;

var a,sum,result,c:integer;

f2:text;

begin

result:=0;

sum:=0;

a:=0;

while (an) do

begin

inc(a); {从数组的第一个数据开始累加,将累加所}

sum:=sum+data[a]; {得到的最大分值记入result}

if sumresult then result:=sum;

if sum0 then sum:=0; {若当前累加值为负数,则从当前状态起从新}

end; {累加}

assign(f2,'output.txt');

rewrite(f2);

writeln(f2,result);

close(f2);

end;

begin

Init;

Done;

end.

【信息学联赛知识:贪心策略的特点与在信息学竞赛中的应用】相关文章:

信息学联赛知识:动态规划的状态表示(二)

高中数学联赛培训讲义(二)

信息学联赛知识:ISBN号码

高中数学联赛培训讲义(三)

化学创造学习

10月26日8时北京艺术特长生报名网站正式开通

高二数学联赛讲座三角函数及其最值(一)

高考新版教辅“新瓶装旧酒” 不要盲目购买

信息学联赛知识:动态规划的状态表示(三)

高中学生心经:为了高一不掉队我们这样学习

[标签:竞赛联赛,竞赛]

网友关注

08年SAT考试公布注册时间 去年11月成绩可查

高考成绩将成个人隐私 不搞排名严禁对外公布

高考九类典型热门专业案例分析及报考导航

高三学子寒假备战高考 老师提醒不要常换书

部分高校在川艺术招生 考试中“川普”是大忌

如何用差量法巧解化学计算?

五年后 哪所高校会破产?

查字典高一期末讲座——公开串讲课现场实录

专家建议每年举行两次高考 专本科分开招

08年高校招生计划确定 本专科招生599万

2008年北京高校艺术类招生更关注专业水平

“英语差生”如何提高成绩?

高三学生寒假备战高考 “三大门”如何下手?

北京政协委员建议允许绿卡子女在北京高考

艺考生莫进入误区 艺招越来越看重“内功”

北京1月下旬部分高校高考艺术特长集中测试

北京舞蹈学院招办 08年招生稍微倾向传统学科

高三生编写应试宝典兜售 自称几天内提高成绩

名校和名校差距不小保送生不能放松学习

决战2010系列讲座:高一期末复习公开串讲课

高考考生成绩成隐私 此举旨可能导致暗箱操作

北京:08年艺术高考咨询考生聚焦四大问题

辣评:大学生成技校“回炉生”是喜还是忧?

复旦交大自主选拔不再“撞车” 名单3月公布

高三期末统测“透露”新高考试卷模式

2008年高考一诊开考 易中天编入语文考题

高考梯度改革 教育公平不能遗弃“移民二代”

北京市属高校今年计划在京招生共计8.2万人

快讯:港校内地招生暂停扩容

浑然不知外面飘雪 高考美术类考生紧张备战

网友关注视频

2019全国高考志愿填报攻略 第50集 天津市高考历史三年本科录取排名

衍声高考琴行2019高本硕学生暑假音乐会 张俊瀚《陕北民歌主题变奏曲》《阿根廷舞曲》第三乐章

这!就是专业 第43集 河北经贸大学—计算机科学与技术专业

NBA流言收割机 第6集 神预测?高考数学试题暗示猛龙勇士4

体育大杂烩 第2217集 太厉害!马龙登上全国高考作文题

探秘历史 第二季 第479集 河南叛逆高考生,写下8000字批判作文,现状如何?

高考体育四项生的日常训练——深蹲移动跳:发展膝关节,踝关节力量。

沈阳音乐学院郎亦农教授的女高音高考曲目解析课程 第1集 沈阳音乐学院郎亦农为你讲解女高音高考曲目

最新高考数学全国2卷第12题视频解读

这!就是专业 第18集 中国科学技术大学

老外:外国理科高材生遇到中国数学高考,看到题目狂喊:NO!

张雪峰高考志愿填报指南 第15集 高考填报志愿,想学电子信息类专业,推荐报这六所高校,不出错

【姜浩张超画室】

高职高考数学公式

高中信息技术

【高考英语】七选五解析,不算太难

印度美术高考美术联考,考前培训班

高级中学高考试卷分析专题教研会

2019高考语文试卷解析

张雪峰高考志愿填报指南 第28集 高考志愿分析,材料科学与工程专业,就业很一般,建议慎重选择

一站到底:高考语文老师上台,穿长衫说Rap,全场笑翻了!

2019高考数学第四题技巧秒出答案

这四首励志歌曲,送给为梦起航的高考学子们,听完心潮澎湃!

这!就是专业 第47集 江苏理工学院

外国数学老师挑战中国高考题,一顿“凶猛操作”下来,被虐惨!

爆笑班主任 第一季 第220集 高考前最后一只视频,山东王老师揭秘高考的秘密

探秘历史 第二季 第233集 考英语用来睡觉,结果仍是高考状元,如今她怎么样了?

女儿高考作文只得5分,怎料妈妈一听作文题目,瞬间懂了

学渣男高考英语全写B,老师给老爸说成绩,老爸直接听懵了!

高考同学看过来,难度系数三颗星的奥数1