Algorithm 飞机轰炸问题-帮助
我正在培训代码问题,在这一次我有问题要解决,你能给我一些如何解决的建议吗 问题就在这里: 问题12:愤世嫉俗的时代 问题是这样的(但请参考源问题的上面链接,它有一个图表!): 你的任务是在地图上找到轰炸机预计要飞行的点的序列,以便它击中所有重要的环节。从A到B的链接是至关重要的,因为它的缺失将A和B完全隔离。换句话说,从A到B(或反之亦然)的唯一途径是通过该链接 由于敌人的反击,飞机可能随时都要撤退,因此飞机在任何时候都应该跟随最接近的关键链路,即使最后总距离变大 给定所有坐标(飞机的初始位置和地图中的节点)和距离R,您必须确定飞机必须投弹的位置顺序 该顺序应在初始位置开始(起飞)和结束(着陆)。除了开始和结束之外,所有其他位置都必须精确地落在地图的一段中(即,它应该对应于非命中重要链接段中的一个点) 使用的坐标系为UTM(通用横墨卡托)北距和东距,基本上对应于欧几里得世界透视图(X=东距;Y=北距) 输入 每个输入文件将以三个浮点数开始,表示机场的X0和Y0坐标以及范围R。第二行包含一个整数N,表示道路网络图中的节点数。然后,下一个N(Algorithm 飞机轰炸问题-帮助,algorithm,Algorithm,我正在培训代码问题,在这一次我有问题要解决,你能给我一些如何解决的建议吗 问题就在这里: 问题12:愤世嫉俗的时代 问题是这样的(但请参考源问题的上面链接,它有一个图表!): 你的任务是在地图上找到轰炸机预计要飞行的点的序列,以便它击中所有重要的环节。从A到B的链接是至关重要的,因为它的缺失将A和B完全隔离。换句话说,从A到B(或反之亦然)的唯一途径是通过该链接 由于敌人的反击,飞机可能随时都要撤退,因此飞机在任何时候都应该跟随最接近的关键链路,即使最后总距离变大 给定所有坐标(飞机的初始位置
这个问题可以分为两部分 1) 找到重要的链接 这些只不过是所描述图表中的数字。请参阅wiki页面(在上一句中链接到),其中提到了Tarjan查找桥梁的算法 2) 一旦你有了重要的链接,你需要找到最小数量的点,给定炸弹的半径,将覆盖链接。为此,对于每个链接,您在其周围创建一个区域,在该区域投下炸弹将摧毁它。现在形成这些区域的图形(如果两个区域相交,则两个区域相邻)。您可能需要在这个图中找到一个最小值 我还没有想清楚(特别是第二部分),但希望能有所帮助
祝你在比赛中好运 我认为白痴在第一部分是正确的,但在第二部分。。。 问题描述没有说明任何关于“最小点数”的内容。它告诉我们飞机会飞到最近的关键环节。 因此,我认为第2部分会简单得多:
- 查找距离当前位置最近的未命中段
- 移动到最近线段上的最近点
- 轰炸当前位置(删除与圆相交的所有线段)
- 重复此操作,直到没有未命中的重要链接
这种直接算法的复杂度为O(N*N),但考虑到输入约束,这应该足够了。您应该使用什么语言?另外,不要指望有人为你做这件事。人们可以给你提示,但仅此而已。到目前为止你试过什么?你被困在哪里了?我能给你的最好建议是,你应该自己开始做作业,并就具体问题寻求具体的帮助。正如帖子所说,你的问题太长太密集,我无法尝试开始帮助你。我只有在得到一些学分的情况下才会解决这个问题。对我来说,这不像是家庭作业。此外,第一行是:“我在训练代码问题”,我想这是编程竞赛类型的问题。旅行推销员是不对的。对不起,这似乎不明显。你能详细说明一下吗?根据我在问题声明指针贴出之前的理解,这一切都是为了找到飞机的计划:即从机场飞到X地点,在X地点投炸弹,从X地点飞到Y地点,在Y地点投炸弹,等等。你的回答提供了一个非常可靠的方法来确定这些地点。搜索空间将包括哪些地点已经被轰炸,以及当前的计划地点,从一个州到下一个州的行动(飞到或轰炸),轰炸行动的成本为零,飞行行动成本将与当前飞机位置和目标位置之间的距离成比例。另一种可能性是——一旦你确定有用轰炸区域的方法被应用——将整个事情建模为一个带成本的STRIPS()规划问题,并使用一个好的独立于领域的规划器来计算计划,就像你在这里可以找到的:这完全取决于@peiska的目的。我认为他是从头开始做这件事的,如果他能拿出现成的工具,比如我建议的规划算法,那就可以归结为编写一个程序,将以规定格式呈现的问题映射为条状问题,打电话给计划者来解决这个问题,然后将计划者给出的解决方案映射回所述原始问题所需的表示形式。我相信其目的是为了投出最少数量的炸弹,而不考虑行驶的总距离。最近的链接只是根据到机场的距离对点进行排序,以将攻击风险降至最低。(至少这是我的解释)@白痴:投最少数量的炸弹(这不是政府明确要求的)
Sample input 1
102.3 553.9 0.2
14
342.2 832.5
596.2 638.5
479.7 991.3
720.4 874.8
744.3 1284.1
1294.6 924.2
1467.5 659.6
1802.6 659.6
1686.2 860.7
1548.6 1111.2
1834.4 1054.8
564.4 1442.8
850.1 1460.5
1294.6 1485.1
17
1 2
1 3
2 4
3 4
4 5
4 6
6 7
7 8
8 9
8 10
9 10
10 11
6 11
5 12
5 13
12 13
13 14
Sample output 1
102.3 553.9
720.4 874.8
850.1 1460.5
102.3 553.9