Introduction

  • 对某些题目只会猜结论不会证明?
  • 暴力冲过去了不会证复杂度?
  • 出题时想出了最优复杂度解法还怕爆标?
  • 不会否定错误的贪心导致挂分?

没关系,你可以通过 Sleeping Cup 的特有题型——主观题,对这些技能进行练习。

Finding

你可以在这里找到所有主观题(除了下面这道)。

特别地, 是主观题的试机题目。

Problems

一般来说,主观题需要使用 MarkdownLaTeX\LaTeX 书写证明,包括但不限于:

  • 对某道题目暴力算法的复杂度证明;
  • 对某道题目结论正确性的证明;
  • 对某道题目做法复杂度下限的证明;
  • 对某道题目贪心算法正确性的证明(也可能是证伪);
  • (更多题目类型敬请期待)

Submitting (Contests)

下面以在比赛 Sleeping Cup #1 中提交主观题 [Sleeping Cup #1] Faster than expected 为例:

  1. 复制「提交方式」处的答案示例,修改为你自己的证明,并作为注释附在给出的代码之后
  2. 在主观题中(即上面的题目链接)提交给出的代码,并将 UID 常量(它应该是正数)改为你的 UID。
  3. 等待比赛结束后工作人员批改并评分(工作人员批改后将于私信处进行回复)。

一般来说,给出的代码会是:

#include <bits/stdc++.h>
using namespace std;
const int UID = /*Enter your UID here*/;
int main()
{
    freopen("proof.in", "r", stdin);
    freopen("proof.out", "w", stdout);
    cout << UID;
    return 0;
}

Submitting (Practice)

下面以提交主观题 [Sleeping Cup #1] Faster than expected 为例:

  1. 复制「提交方式」处的答案示例,修改为你自己的证明,并作为注释附在给出的代码之后
  2. 在主观题中(即上面的题目链接)提交给出的代码,并将 UID 常量(它应该是负数)改为你 UID 的相反数
  3. 等待工作人员不定期批改并评分(可以私信 cq_irritater035966_L3 来催促)。

一般来说,给出的代码会是:

#include <bits/stdc++.h>
using namespace std;
const int UID = (-1) * /*Enter your UID here*/;
int main()
{
    freopen("proof.in", "r", stdin);
    freopen("proof.out", "w", stdout);
    cout << UID;
    return 0;
}
/*
...
*/

Reply Format

我们会私信发送以下消息:

你好,我是 Sleeping Cup 管理员。您提交的主观题_______已经批改完毕,结果为:_______;审核管理员:_______;对审核结果有疑问请私信交流。