全国站

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

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

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

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

华中地区 | 河南 湖北 湖南

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

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

华南地区 | 广东 广西 海南

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

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

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

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

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

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

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

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

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

北大、清华明年“特殊”招生开始网上报名

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

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

信息学联赛知识:ISBN号码

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

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

网友关注

云南:2019年普通高校招生体育专业统考考生告知书

江苏:2019年体育类专业省统考即将开始

江苏:2019年普通高校运动训练、武术与民族传统体育专业招生文化考试即将开始

浙江:2019年普通高校招生体育专业特招生和高水平运动队体育专项测试考点和时间安排

中国农业大学高水平艺术团拟签约58人

北京林业大学高水平艺术团可报两项目

甘肃2019年高考戏剧与影视学类专业统考成绩查询方式及入口

新疆:2019年普通高等学校招生体育类专业测试工作的通知

体育总局科教司关于做好2019年体育单招考务工作有关事宜的通知

海南:2019年普通高校招生体育类专业考试成绩查询公告

新疆:2019年普通高等学校运动训练、武术与民族传统体育专业报名3月1日开始

专业教师指导高水平艺术团备考

河北:119个县市区开办国开行生源地信用助学贷款

山东2019年高考体育专业考试4月8日开考

天津:普通高考体育类专业考试将于4月13至14日举行

53所高校有高水平艺术团招生资格

福建:2019年省外院校在闽设点校考安排表

陕西:关于做好2019年普通高校体育专业招生工作的通知

关于做好2018年高校高水平艺术团在京招收艺术特长生工作的通知(摘录)

清华大学高水平艺术团 最低线下60分录取

北京科技大学高水平艺术团 优惠政策分两档

江苏省2019年高考艺术专业省统考成绩查询方式及入口

北京理工大学4个艺术团计划招生37人

北京化工大学高水平艺术团 五项目招生

海南:2019年普通高校招生体育类专业考试的公告

北京:报考高水平艺术团 理性方能锦上添花

江苏:2019年艺术专业省统考成绩及合格线公布

中国人民大学高水平艺术团 网报10日截止

上海:2019年普通高校招生体育类专业统考成绩即将公布

2019年体育单招有哪些新变化?

网友关注视频

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

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

amc传媒音乐影像 第一季 第600集 高中校长演唱《记忆花园》为高考学子助力打气

这!就是专业 第20集 长沙理工大学—数据科学专业

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

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

2019年高考数学全国2卷理科第4题讲解及答案

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

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

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

知道班里的高考成绩后,山东班主任气吐血了

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

美术联考用纸上海考试模拟试卷纸高考统考纸 4k水粉纸素描纸 速写纸卡纸美术模拟测试试卷纸 美术考试专用纸

2019高考·语文试题有亮点 凸显时代主题 厚植家国情怀

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

最新高考数学全国2第12题视频讲解及答案

良心推荐:2019高考数学全国3卷理科12题讲解,附答案

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

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

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

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

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

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

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

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

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

一边扔试卷一边玩摇滚?这个学校的高考减压方式,真是帅到没朋友

武汉美术高考

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

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