全国站

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

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

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

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

华中地区 | 河南 湖北 湖南

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

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

华南地区 | 广东 广西 海南

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

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

来自:查字典高考网 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.

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

哪些知识点是高中联赛中重点考查的?

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

从近年来国内外化学竞赛题看分析化学的培训方向

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

以后高考会不会发展到每个省市都实行自主命题?

高中课改:模块考试不及格可能不用补考

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

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

高考改革关注:考生能力测试该如何实施?

全国高中化学竞赛初赛模拟试卷三(b)

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

网友关注

教育部:建立健全学业水平考试考务工作规章制度

2016届电子科技大学毕业生就业质量年度报告

清北和普通985的区别在哪里

农村青少年的心理健康问题令人堪忧

2016届山东大学毕业生就业质量报告

2016届四川大学毕业生就业质量报告

2016届中南大学毕业生就业质量报告

湖北省人大代表商怀建呼吁引进专职规划教师

校园借贷乱象:大学生逾六成不懂高利贷

福建省质检考被指多科泄题,教育厅紧急叫停考试

关于2017年文科数学备考经验和心得

2016届中山大学毕业生就业质量报告

大部分毕业生频繁跳槽身价是否会水涨船高

2016年武汉理工大学毕业生就业质量报告

“不改名”的师范院校应发挥主流的作用

2017年考场作文必备攻略

2016届西南财经大学毕业生就业质量报告

国务院鼓励社会力量兴办教育,促进民办教育健康发展

2017年甘肃省拥有美国“高考”考点

2017关于二十四节气的相关知识点

“美国高考”中文试卷长这样

2016届湖南大学毕业生就业质量年度报告

2017年南京艺术学院校考正式开考

2016年华中科技大学研究生就业质量报告

2017年高考英语寒假高效备考策略

2016武汉大学毕业生就业质量年度报告

书信文化在没落但不会消亡

2016届华南理工大学毕业生就业质量年度报告

2016届西北农林科技大学毕业生就业质量报告

2016届中南财经政法大学毕业生就业质量报告

网友关注视频

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

高职高考数学公式

北京新闻 2019 5.9万余北京考生今日高考 语文试题鼓励创造性阅读与表达

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

老马讲高考真题第九季2018年高考地理新课标一卷第37题

这!就是专业 第36集 河北经贸大学——数学专业

乾坤已定,组合解读2019高考数学全国3卷理科18题,你是黑马吗?

看懂图片,你也会做高考地理题,解析2019年高考文综地理4

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

这!就是专业 第15集 中国矿业大学——数学专业

高级中学高考试卷分析专题教研评比活动

高中数学必修5 高考数列选填真题技巧秒杀讲解

创艺第二届:2019届高考录取表彰大会暨“核桃音乐节”合影——你只管努力,剩下的交给创艺

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

加油吧考生:2019高考咨询大直播 第43集 科学填报志愿 规划精彩人生

初二辍学,3次高考落榜,如今却成为最成功的音乐人之一

2019高考语文全国2卷小说阅读解析

2019高考数学全国2卷理科第16题视频讲解及答案

2019 广西:帅气学霸高考730分 数学英语满分!

励志歌曲《阳光总在风雨后》送给高考的莘莘学子,祝金榜题名!

如何制作100万层的酥皮糕点?推算过程像数学高考题

招办面对面 第76集 阜阳师范学院信息工程学院

高考阅卷名师给考生的高考作文密训课 第3集 高考作文审题实操方法精讲(一)

广州早晨 2019 山西一高中班主任带学生骑行1800公里去上海

1000张学生用草稿纸考研专用免邮空白便宜薄演草演算纸白纸本书写纸批发打草a4大张实惠装18k高考数学草稿本

招办面对面 第2集 中国科学技术大学

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

优秀!英语数学双满分,广西“最牛”高考状元730分刷新最高纪录

视频|2019全国高考今日开考: 语文特级教师评析上海卷高考作文

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