转跳到内容

数学做累了?那就来试试这个简单的逻辑分析题吧


推荐贴

  • 回复 165
  • 创建于
  • 最后回复

本主题的最活跃

热门回复

Mr.K 018

我有个临时的想法,还不太成熟。 首先我们不希望参加者提交代码,只需要伪代码即可。这个是大的方面。 考虑到伪代码和文字描述的模糊性,有必要提出几点这里使用的伪代码/文字描述规范,不满足规范的视为思路说明,而非伪代码。我目前想到了如下几点: 文字描述必须包含输入、处理和输出过程,不能假定数据在开始时就已经输入完毕,存储在内存中; 算法的每一步,要么是常

Mr.K 018

关于这个问题,我有很明确的答复:这个活动是面向所有人的,以算法交流为主,重点在于如何解决问题,而不是编制没有bug的程序,所以我希望合格的标准能尽可能放开一些。 只不过伪代码肯定不能瞎写对不对( 关于您提出的这一条规则,实际上是在数据定义方面做的一点注解。实际上可能不会明确地写给大家看。这条规则实际上是说,遇到数据定义中有歧义的地方,按照C语言中struct的处理方法处理。大家

yhz012

我觉得是因为很多人不想用暴力解法吧 毕竟直观来看如果我们能把所有三角面都放上方块,那接着如果我们有方法再判断一下一个方块是不是在体内,就不需要这么暴力的方法了   更进一步地,如果我把所有三角面的边上都放上方块,那接着如果我有办法判断一下这个方块是否在这个边界内,那我就能把三角面都放上方块了   直观来看是这样,但是判断内部这件事我还真的没想到什么

16 分钟前, ZERC 说道:

突然补刀吗.......

哈哈哈哈哈,其实我特地跑了一遍就为了拿错误的信息

 

2 分钟前, ZERC 说道:

@inuisanaa @随性而为 @NianRuoshui @魍魉QAQ @提辖

你们六位先讨论吧,我这边晚上,得去睡觉了......

再见,我看好你们!

我觉得可以留下代码再附一张结果带运行时间的截图,只留下代码的和运行时间相近的交给 @Mr.K 018 。目前的问题是每个人电脑配置不同运行时间上可能会不太公平

链接到点评
48 分钟前, inuisanaa 说道:

哈哈哈哈哈,其实我特地跑了一遍就为了拿错误的信息

 

我觉得可以留下代码再附一张结果带运行时间的截图,只留下代码的和运行时间相近的交给 @Mr.K 018 。目前的问题是每个人电脑配置不同运行时间上可能会不太公平

:mx051:那难道人工计算复杂度?

链接到点评
54 分钟前, inuisanaa 说道:

我觉得可以留下代码再附一张结果带运行时间的截图,只留下代码的和运行时间相近的交给 @Mr.K 018 。目前的问题是每个人电脑配置不同运行时间上可能会不太公平

采用参与者提交程序代码的方法的话也不是不行,这种方案就是我初始化一个虚拟机来跑提交的代码,然后构造出一些数据来测的样子。

虚拟机我有,要写一个东西来自动化输入输出并且测量程序用时,而且我也没想好怎么测内存使用

老实说我不喜欢这个方案因为这样有点本末倒置(大家又不是人均ACM,其实我也不打ACM的),大家负担也重咱们负担也重。我要是看到一个让我编程的挑战肯定直接跑路,不会像数学挑战那样坐下来做题的,因为编程时间挺不可控的

 

链接到点评
1 分钟前, Mr.K 018 说道:

采用参与者提交程序代码的方法的话也不是不行,这种方案就是我初始化一个虚拟机来跑提交的代码,然后构造出一些数据来测的样子。

虚拟机我有,要写一个东西来自动化输入输出并且测量程序用时,而且我也没想好怎么测内存使用

老实说我不喜欢这个方案因为这样有点本末倒置(大家又不是人均ACM,其实我也不打ACM的),大家负担也重咱们负担也重。我要是看到一个让我编程的挑战肯定直接跑路,不会像数学挑战那样坐下来做题的,因为编程时间挺不可控的

 

确实:YangTuo_OZ:我也觉得这个不太好

,由inuisanaa修改
链接到点评
9 分钟前, Mr.K 018 说道:

要不然让参与者给伪代码?

给出算法的伪代码表示总比编出能跑的程序简单点

如果没有真正的代码只有伪代码不就类似于云编程了嘛,编程的最终目的还是要能给计算机跑,讲道理还是先要搞清每日挑战是一个轰轰烈烈的比赛还是一场研究算法的爱好交流会,如果是比赛的话我觉得是不太可能做到公平的,就像上面说的每个人的运行环境都不一样,有些题目有人做过有人没做过,如果是交流的话,时间什么的也可以宽松一点。

链接到点评
4 小时前, ZERC 说道:

@摸鱼奇才咖啡喵 希望出题委员会的每个人能获得节操津贴 + 勋章。

如果能获得贵方的支持,这个项目的可持续性会稳固很多。

并且如你所见,每日数学和相关的理科系讨论已经为三次元区带来了可观的讨论热度和新人。

这个还是要咨询三次元版主苍雨瞬老师呢~ @苍雨瞬

咱这边只是实习的代理版主,没有直接的决定权www:NEKOMIMI_PARADISE_1:

链接到点评
57 分钟前, 随性而为 说道:

如果没有真正的代码只有伪代码不就类似于云编程了嘛,编程的最终目的还是要能给计算机跑,讲道理还是先要搞清每日挑战是一个轰轰烈烈的比赛还是一场研究算法的爱好交流会,如果是比赛的话我觉得是不太可能做到公平的,就像上面说的每个人的运行环境都不一样,有些题目有人做过有人没做过,如果是交流的话,时间什么的也可以宽松一点。

其实也没打算是编程,只是算法

链接到点评

我有个临时的想法,还不太成熟。

首先我们不希望参加者提交代码,只需要伪代码即可。这个是大的方面。

考虑到伪代码和文字描述的模糊性,有必要提出几点这里使用的伪代码/文字描述规范,不满足规范的视为思路说明,而非伪代码。我目前想到了如下几点:

  1. 文字描述必须包含输入、处理和输出过程,不能假定数据在开始时就已经输入完毕,存储在内存中;
  2. 算法的每一步,要么是常数时间内可以完成的动作,要么是众所周知的方法(如排序、最短路等),要么是调用在同一段伪代码中定义的其他方法。循环和方法定义的执行体不视为一步,而是当作多步处理,但其中的每一步仍需满足本条的规范。
  3. 要对使用的数据结构有明确的定义。数据结构中要引用其他数据结构的,可以使用指针(如Node* next = nullptr),若做了相应说明,也可以使用引用(如Node next = Null)。但是若没有做说明,则默认内层数据结构是外层数据结构的一个字段,访存时可直接通过外层数据结构的地址和偏移量来访问内层数据结构的成员。默认整数是32位的,实数是64位的,指针是32位的,除特殊说明外字符是单字节的ASCII字符。
  4. 尽量少bug。我们不是OJ,不要求伪代码完全正确,但也不是对正确性毫无要求。我们能发现或者被其他人指出来有明显/严重的bug的算法,会酌情扣除少量奖励。奖励发放后被指出错误的,不会追回奖励。

奖励方面,我自己拿不出太多节操,同时我想这个虽然有比赛的成分,但是主要目的还是激发活跃性。因此奖励可能不会太多,就是意思意思。所以可不可以这样:

  • 首先给出可接受答案的,受上赏;
  • 并非首先给出可接受答案,但是给出了新的内容,如算法细节、另一种方法(这个应该不太常见)、更详细的说明、证明等等,受中赏;
  • 参与讨论,给出了有价值的想法以及提出解答中的bug的,受下赏。

非规范的伪代码(即“思路说明”)按详细程度酌情给奖励,最高可以给到相当于一段伪代码的奖励。同时考虑若干加分项:

  1. 对算法及其思路进行了较详细解释说明的,如动态规划问题解释清楚动归的目标和状态转移函数;
  2. 计算了算法的时空复杂度的。整数和实数的四则运算可以认为能在常数时间内完成,高精度数除外;
  3. 对于一些特殊算法(如贪心和剪枝等),证明了正确性的。

 @ZERC @inuisanaa @随性而为 @NianRuoshui @魍魉QAQ @提辖 讨论一下,六位的看法是?

链接到点评
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款