问题标签 [tournament]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
638 浏览

php - 比赛生成器 PHP

我找到了这个包,我正在尝试运行示例并显示括号。

但它会输出一些奇怪的字符:

你明白了。

我想这是因为:

但我不知道如何解决它......

谢谢,阿拉

编辑:

所以我在 gat 说之后稍微修改了代码。

在我的控制器中,我得到了: public function getTest(){

在我的 test_img.php 页面中,我得到了这个:

反正也没用。。

0 投票
4 回答
6796 浏览

php - 双淘汰赛赛程表

我正在尝试创建一些逻辑来生成双淘汰锦标赛括号中的事件时间表。

这是一个示例 8 队括号:

这些数字代表匹配数组中的索引,这是所需的输出。例如,索引 0 将代表团队 1 与团队 8(使用种子系统),索引 4 将代表索引 0 的获胜者与索引 1 的获胜者。

失败者的括号由获胜者括号的失败者填充,其中索引 6 是索引 0 的失败者与索引 1 的失败者,索引 8 是索引 4 的失败者与索引 6 的获胜者。

在视觉示例中,您可以看到用字母标记的团队,并清楚地显示获胜团队每次都在顶部分支,而失败团队在底部分支的清晰示例。指数 0 代表 A 队对 B,指数 4 代表指数 0 (A) 的获胜者对指数 1 (C) 的获胜者。指数 6 是指数 0 (B) 的输家与指数 1 (D) 的输家,指数 8 是指数 4 (C) 的输家与指数 6 (B) 的赢家

出现了一个明显的模式,但是当我尝试适应不同数量的竞争对手时,我的逻辑变得混乱和混乱。为简单起见,我将支架固定为只有 2 个团队的幂。我能够编写所有内容来为 8 队括号创建一系列匹配项,但我什至对自己的代码也失去了理解,因为它似乎不可扩展。

上面代码的输出:

关于如何修改它以适用于 4 队、16 队或 2^n 队支架的任何想法?我觉得“半决赛”标题下的逻辑是应该重复 0+ 次,但每次我尝试根据总轮数循环它时,它只是重复与上一轮相同的匹配。

0 投票
1 回答
67 浏览

c - 出乎意料 - 找到最大值和第二个最大值

我正在尝试在 C 中实现一个简单的锦标赛。

n = 5和 1 2 3 4 5的输出

是最大值 = 4195048

下一个最大值 = 32588

并且这个输出每次都有少量变化!

如果我在构建函数之前放置一个测试 printf 命令,它不会执行。

有人可以找到错误/解释输出吗?谢谢 :)

0 投票
1 回答
162 浏览

sql - 使用 cake php 对锦标赛应用程序进行建模

我想用 cakePHP 创建一个锦标赛应用程序,我需要一些帮助来正确创建数据库和链接模型。

我的最终目标是:

我真的不知道如何组织模型和 sql 表,目前我看到 2 个表:

我是否需要两个表之间的另一个表(例如:matches_teams)或者我可以在我的匹配表中使用 teamA_id 和 teamB_id?CakePHP 是否支持同一模型中的多个外键?

我想知道是否有人已经在 cakePHP 中开发了这种项目,以及它是否工作正常且合乎逻辑(没有技巧)。

谢谢!

0 投票
0 回答
258 浏览

java - 括号锦标赛计划(optaplanner)

我正在尝试创建一个实现来计划每轮比赛的时间表。也称为括号锦标赛。

我正在尝试为此使用 OptaPlanner,但文档对我来说不是那么清楚。

我有以下课程:

  • 播放器
  • 桌子
  • 比赛(包含:2 名球员和一张桌子)这是我的计划实体
  • 回合(包含:比赛列表,球员列表,桌子列表,以前的比赛列表)这是我的计划解决方案)
  • 时间表(包含:轮次列表)

我想要的,是至少 1 轮来自此信息的对决列表。

我没有得到的是如何在 drools 中配置我的规则。

例如:我如何配置一个简单的规则:一个machup 包含两个不是同一个玩家的玩家。另一种是:一场比赛包含两名未曾交手的球员最后:一张桌子可用于一场比赛。

感觉没那么复杂,但是文档(包括示例)还不足以实现。

0 投票
1 回答
1124 浏览

c - 高尔夫锦标赛配对算法

想法很简单。函数需要一个参数,即玩家数量。它会生成每个玩家所在位置与另一个玩家的图表(包括屏幕)。如果玩家是偶数,则轮数等于玩家-1,否则,它等于玩家。

包括屏幕(http://i.stack.imgur.com/k7xAZ.png)

我注意到进行配对的最佳方法是更改​​数字的顺序(source)。

我找不到任何解决方案使其适用于不均匀的玩家人数。欢迎任何建议,因为我真的需要这个算法尽快开始工作。它看起来很简单,不需要太多编码,所以这不是问题。我只需要小费。

0 投票
3 回答
3463 浏览

algorithm - 在 128 人锦标赛中分配 32 名种子选手的算法

我正在尝试创建一个网球锦标赛模拟器,其中游戏的结果是随机的(有点)。大满贯赛事共有 128 名球员,其中 32 名种子选手。目前我正试图将种子放在适当的位置。我根据正态分布(将代替他们的排名)生成球员的实力并将它们存储在升序排序的 std::array 中。我想简单地将平局最初表示为vector<double> Draw(128). 理想情况下,我会有一个算法让每个玩家在平局中处于适当的位置,但我还没有想出一个,所以我决定只将位置输入到一个数组中,然后根据情况选择适当的数组关于比赛中有多少球员。

位置如下:0,127,95,32,64,96,31,63,16,112,79,48,15,111,80,47,41,72,8,119,23,104,55,87,71,39,24, 7,56,88,103,120

以 32 的倍数表示的前几项是:0*32,4*32-1,3*32-1,1*32,2*32,3*32,1*32-1,2* 32-1,0.5*32,3.5*32-1,2.5*32-1,1.5*32,0.5*32-1,3.5*32,2.5*32。

我还没有从中找出一个模式。有一个已知的算法吗?

0 投票
0 回答
664 浏览

c# - 比赛生成:括号放置

我目前正在生成锦标赛括号系统,但我无法为以下内容提出一个好的算法:

我有一个列表,其中 TournamentRound 如下所示:

我确实有轮次的一代,并且知道所有的价值观。例如:

以下是我的问题:

假设最终 pdf 的一页上只有 6 个框有空间。 给定页面和框的固定大小,我如何计算框的位置?

编辑澄清!

示例输出

我画了下图来展示上面提到的那 3 轮的输出会是什么样子。问题是例如:只有 6 个盒子有空间可以放在一页的高度上,这意味着在某些轮次中必须以某种方式进行分页。

如果有帮助,我正在考虑构建一个树状结构,其中每个节点都保存它的位置以及它在哪个页面(1、2、3 ...)上。

0 投票
2 回答
974 浏览

algorithm - 什么算法可以为有两个以上参赛者的回合生成循环“配对”?

我希望能够生成一组锦标赛对决,以便每个玩家至少面对其他玩家一次,每个玩家玩相同数量的游戏。把它想象成马里奥赛车循环赛的抽象。

就我而言,我有 17 名参赛者,并希望他们以 3 或 4 名选手的形式进行比赛。我想有一种方法来生成 S,一组 P(玩家)的子集,使得 P 的每个元素与 P 的每个其他元素出现在 S 的至少一个元素中。

起初我认为平衡比赛设计会回答问题,但它似乎没有任何方法可以在每轮比赛中匹配多个参赛者,每对只能进行多次额外的对峙。

它也有一个确切的封面问题的味道,但不完全是。

这也适用于四人国际象棋、冰屋、各种纸牌和骰子游戏等游戏。

0 投票
1 回答
67 浏览

algorithm - 锦标赛算法中的根索引

我正在努力建立使用锦标赛算法在数组中查找第 k 个最小元素的“O”复杂性。

我已经形成了反向树,最小元素位于反向树的根节点。[(n-1)*log n]

现在我们从底部的最小元素开始提升倒置树。
在每个级别找到根元素的索引不会再次成为 O'n' 操作吗?

我将不得不遍历每个级别的数组以通过“n”比较找到最小(根)元素的索引。[n*log n]
有没有更快的方法来设计每个级别的根元素的索引?