概览:
题数
|
类型
|
1
|
几何
|
2
|
图论
|
3
|
组合;分治
|
4
|
多重背包
|
5
|
模拟
|
6
|
贪心
|
7
|
深度优先搜索(剪枝)
|
8
|
拓扑排序(有向图)
|
【试题一】
练习处:
类型:几何
解法:每个物资在每个圆形区域的有效性可以转化为数学公式:
( 是圆心坐标,R是半径,x、y是落点坐标)。
然后就是利用双层循环,在每个圆中探测每个投放物资的坐标点,有效则输出”YES”,
无效则输出”NO”。
【试题二】
练习处:
类型:图论
解法:把相关数据存入图的边结构之后,求最小生成树。有两种简单算法供选择:Prim和Kruskal。其中,Prim算法适合求边稠密的最小生成树,而Kruskal算法适合求边稀疏的最小生成树。本题的“很多基站之间不能直接建立通信”说明边是稀疏的,那么选择Kruskal算法。
先对各个边按照权值进行升序排序,然后把各个顶点各自归为一组。依次取出各条边的两个顶点编号,判断是不是同一组:若两个顶点不在一组则可加入最小生成树,标记这条边加入了最小生成树;若两个顶点在一组(会构成回路)则放弃这条边。由于各条边已经按照权值递增排序,最后被标记为最小生成树的一边的所有边的权值之和则为题中所求最小代价。最后计算最小生成树中各条边的权值总和并输出。
【试题三】
密码破译
练习处:
类型:组合;分治
解法:对所有可能的钥匙组合进行穷举是个方法,但应该注意到:要求两个钥匙的长度之和恰好为此密码的长度,那么其中一把钥匙的长度必定大于等于密码长度的一半。先对钥匙进行升序排序,然后使用二分搜索法定位到第一个大于L/2(L为密码的长度)的元素位置,得到相邻两钥匙的长度之和and,如果and大于L则向左端搜索,否则向右端搜索,遇到and==L,保存两把破译的钥匙的编号。搜索完毕还没有相符的and,则无法找到破译此密码的钥匙。最后,如果相符的and只有一个,则直接输出;如果相符的and有多个,则选择起始编号最小的一组数据输出。
【试题四】
练习处:
类型:应该是多重背包问题
解法:多重背包问题描述是这样的,有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。参见:http://www.nocow.cn/index.php/多重背包。而现在只不过不求最大价值,要求装满背包(飞机)。
【试题五】
练习处:
类型:模拟
解法:对于每一个灾区,如果没有达到平均水平,则分别向左右(注意环形)搜索到最近的超过平均水平的灾区,并索取物资。另外一种思路是http://www.xushine.com/?p=853不太确定其正确性。此处有讨论。
【试题六】Time Limit:1000MS
练习处:http://poj.org/problem?id=1922
类型:贪心
题意:有一个勇士在行军时有一个习惯,跟着别人跑,还会跟着超过他的人跑,但是没人出发他就不出发。那么勇士何时能到达目的地?
解法:比勇士先出发的不用管了(一定不会跟在他们后面),勇士会跟着在他之后出发的并且最先到达目的地的士兵一块到达。
【试题七】Time Limit: 1000MS(这个提示原来是标准输出之后的)
练习处:http://poj.org/problem?id=1011
http://acm.tju.edu.cn/toj/showp1009.html
类型:深度优先搜索(剪枝)
题意:乔治拿来一组等长的木棒,将它们随机地砍断,使得每一节木棍的长度都不超过50个长度单位。然后他又想把这些木棍恢复到为裁截前的状态,但忘记了初始时有多少木棒以及木棒的初始长度。请你设计一个程序,帮助乔治计算木棒的可能最小长度。
解法:对这些木棍逆序排序,然后假定最长的木棍为最优解,检查是否可以砍断为这些木棍,如果不行,长度加1继续检查。检查过程是:从这些木棍中选取第一个(最长的)开始尝试组合第一根棍子,如果不够长,加入下一根,直到组合成功,接着组合下一根棍子。
【试题八】
练习处:http://poj.org/problem?id=1094
类型:拓扑排序(有向图)
题意:对前n个字母,输入m组确定他们之间的大小关系,从而判断有没有唯一的序列。
第一种:输出,在前t(t<=m)已能确定一个序列
第二种:不能确定唯一的序列
第三种:不存在拓扑排序
当所有关系式输入后无法排序则输出无法排序。
解法:
1、注意拓扑排序只在有向无环图中有效,关键在于要在每次输入关系后做一次有无环的判断。
:如果已经输入的有向图中的点,不存在入度为0的点,则该有向图存在回路
:如果已经输入的入度为0的点大于一个,则该有向图肯定不存在一个可以确定的拓扑序列但并不妨碍拓扑排序,还要检测是否已经出现了环(存在回路)。
2、还可以使用深度优先搜索来实现拓扑排序,根据每个结点的结束访问时间的降序对结点进行拓扑排序,如果在某个结点的扩展过程中发现反向边,则出现了矛盾;否则对所得到的结点序列,进行一次遍历,对于相邻的结点检测是否存在连接边(存在则表示它们的顺序已经可以确定),如果所有的相邻结点都可确定顺序,则这个序列是完全有序的,对于后面的输入可以忽略;如果处理完所有的输入还不能得到完全有序序列,则输出序列顺序不能确定。
3、Warshall算法(求二元关系的传递闭包),但时间复杂度为O(n³)。
赛题见:http://download.csdn.net/download/wujun8/4218470
分享到:
相关推荐
包括图论例题、动态规划例题、综合题例题。
全国大学生英语竞赛题型,时间和分数分数分数第三方
河北省第六届大学生物理竞赛试题.pdf
刘征宇编写的 大学生电子设计竞赛 指南,内容有六大章:元器件介绍;单元电路讲解;单片机;系统设计方法与题型分析;竞赛常用仪器;竞赛实务。
包含大学生英语竞赛阅读理解题型简介,对有掌握阅读技巧有帮助。
大学英语四级新题型听力分析解析PPT课件.pptx
包含ACM经典题型及详细解析,希望能给大家带来帮助!!
全国大学生电子设计竞赛是电子信息类在校大学生的重点学科竞赛,经过历届的发展,参赛的学校和队伍以及赛题的数量与难度都在逐年递增,竞赛的题目也由以往简单的电路设计开始向系统设计演变,其中部分题目还会综合...
该资源为2012-2019年四川师范大学831C语言程序设计与数据结构考研真题,资源高清无水印哦!
河南省公务员面试新题型河南省公务员考试题型.pdf
《Java程序设计习题集》是同作者所编写的清华大学教材《Java程序设计》相配套的习题集。习题集内容覆盖面广,包括:Java言的基本常识、基本语法、面向对象的基本概念、数组、字符串、异常处理、文件和数据流、图形...
大一VB《计算机语言与程序设计》考试题型复习分析含答案.pdf
全国电子设计大赛、全国大学生智能汽车竞赛、蓝桥杯、集成电路创新创业大赛、光电设计竞赛、挑战杯、大创项目、互联网+、三创赛、计算机设计竞赛、创新创业大赛、ACM-ICPC国际大学生程序设计竞赛、全国大学生数学...
课程设计题型,预先了解题型,能让你超越别人。不要输在起跑线。
大学生心理健康考试题型.doc
包含程序设计题,判断题,选择题,填空题,包含有大量典型例题。足够应付考试中出现的各类题型,学到就是赚到
吉林大学《程序设计基础》历年试题及答案,请关注我的CSDN博客,今年4月份左右会继续上传我做的一份笔记,程序设计和数据结构历年出现的题型以及注意的事项,我会整理一个数据结构和算法的模板。
大学英语四级新题型听力分析解析学习教案.pptx
内容概要:该资源汇集了从往年各个届全国大学生电子竞赛中的竞赛题目,涵盖计算机科学、电子工程、通信技术等多个知识领域,涉及算法设计、编程、硬件设计等技术关键词。这些题目可以帮助学生们深入理解各个领域的...
西北工业大学202004机考《有限元及程序设计》参考答案。包含选择题型和判断题型,通过本次训练可以顺利通过考试,都会围绕本套试卷范围进行测试。