「Wdoi2021」Windy OI Codeforces Round 1

2021-11-06 15:00:00 ~ 2021-11-06 18:15:00

\[-85px] \def{\s}{\kern{.5pt}} \begin{array}{cc} \mathclap{ \begin{gathered} \cr[25pt] \kern{168pt} {\color{#FCCB4B}\rule{2.8em}{6em}} \kern{6pt} {\color{#1E8ACB}\rule{2.8em}{7em}} \kern{6pt} {\color{#B81F24}\rule{2.8em}{5em}} \end{gathered} } \begin{array}{c} \begin{gathered} \begin{aligned} & \kern{140pt}\cr & {\normalsize\textbf{\textsf{【WdOI-CFR 1】}}} & {\Large \underline{\frak{WdOI}}} \end{aligned} \cr \stackrel{ {\color{#000000}\huge\textbf{\textsf{C\s}}} {\color{#000000}\Large\textbf{\textsf{O\s D\s E}}} {\color{#445F9D}\Large\textbf{\textsf{F\s O\s R\s C\s E\s S}}} }{ {\normalsize \textsf{\kern{20pt}Sponsored by }}\underline{\frak{WdOI}} } {\Huge\textsf{Round }}{\Huge\textbf{\textit{I}}} \end{gathered} \cr\small \begin{aligned} \kern{60pt} & \kern{170pt}\cr[-20pt] \textsf{\textbf{yzy1}} & \kern{10pt} \textsf{There're my problems eventually /cy}\cr[-4pt] \textsf{\textbf{Ran}} & \kern{10pt} \textsf{A lot of problems this time! Awesome!}\cr[-4pt] \textsf{\textbf{N!a!O!H!_F!r!o!g}} & \kern{10pt} \textsf{Gu gu gu gu gua gua gua gua.}\cr[-4pt] \textsf{\textbf{chen_zhe}} & \kern{10pt} \textsf{No review? Ask Rin.}\cr[-4pt] \textsf{\textbf{DWT}} & \kern{10pt} \textsf{Make Touhou great again!}\cr \end{aligned} \cr \begin{gathered} \tiny\color{green}\text{Rated for div.1 \& div.2} \end{gathered} \end{array} & \kern{-20pt} \begin{array}{c} \rule{1pt}{14.5em} \end{array} &\kern{-10px} \begin{array}{c} \large\text{Tasks Authors}\[20px] \begin{array}{ccc} \begin{gathered} \boxed{\phantom{\color{white}\rule{1em}{1em}}}\ \tiny\color{orange}\texttt{Yakumo Ran} \end{gathered}& \begin{gathered} \boxed{\phantom{\color{white}\rule{1em}{1em}}}\ \tiny\color{blue}\texttt{yzy1} \end{gathered}& \begin{gathered} \boxed{\phantom{\color{white}\rule{1em}{1em}}}\ \tiny\color{purple}\texttt{NaOH_Frog} \end{gathered}\end{array}\[30px] \tiny\color{#AAA}\text{Stub, self tearing is invalid} \end{array} \end{array}

--- **我们已经对一些简单的翻译问题做出了修改,很抱歉这些问题影响了大家的做题体验** **A 题翻译已加入对样例 1 的解释** **E 的题面已经修改并统一,为这些低级的题目错误向大家道歉** **对不起,这里是 D1 造数据人 yzy1,D1 造数据的时候 #4 保存时编码选错了,导致一些读入方式可能会把 $m=10$ 读成 $1$,现深表歉意。数据已经重新保存为 ASCII 编码,现在经测试各种读入方法均不会出现问题。对于一些选手的时 & 罚分我深表歉意。** Questions about problems $$ \def{\l}{\cr[-10pt]&\textsf} \def{\bg}{\begin{aligned}} \def{\ed}{\end{aligned}} \newcommand{\qs}[5]{ \textit{#1} & \textsf{#2} & \bg & \textsf #3 \ed & \bg & \textsf #4 \ed & \textsf{#5} \cr\hline } \def{\arraystretch}{1.8} \small\begin{array}{|c|c|l|l|c|} \hline \textbf{\textsf{\#}} & \textbf{Party} & \textbf{\kern{35pt}Question\kern{35pt}} & \textbf{\kern{40pt}Answer\kern{40pt}} & \textbf{Ans.auth.} \cr \hline \qs{1*}{Ran}{{ 为何比赛时间发生了更改?}}{{ 出于某些原因,我们被迫\textbf{调}}\l{ \textbf{整了比赛开始时间}。望大家}\l{ 原谅。 }}{Ran} \qs{2}{yzy1}{{ Are there any Chinese versio-}\l{ ns of problems?}}{{ Yes }}{yzy1} \qs{3}{yzy1}{{ 提问可以使用中文吗? }}{{ 是。 }}{yzy1} \qs{4}{dwt}{{ 如何在赛时添加问题? }}{{ 通过在答疑帖内询问,我们}\l{ 会将比较重要的问题放在这}\l{ 里。请及时关注。 }}{dwt} \qs{5}{dwt}{{ 本比赛如何计算分数? }}{{ 为了防止有人没看到,这里}\l{ 再重复一遍。模仿 CF,每条}\l{ 题目\textbf{分值不等},下文有写。}\l{ 比赛采用乐多赛制,\textbf{每次提}}\l{ \textbf{交会产生折扣}。同时使用了}\l{ SPJ,随着时间增加,\textbf{分值}}\l{ \textbf{不断减少}。}\l{ 还有件重要的事情是,\textbf{通过}}\l{ \textbf{后测试点显示 WA。}此时请}\l{ 勿再次提交,以免造成分数}\l{ 浪费。 }\l{ \textbf{UPD : 已经可以正常显示测}}\l{ \textbf{试点的 AC}}}{dwt} \qs{6}{Sept}{{ 本比赛如何保证与 CF 赛制}\l{ 有关的 SPJ 等运行正常? }}{{ 我们已经举办了一场面向部}\l{ 分用户的 Test Round,以}\l{ 确保比赛能够正常运行。 }}{Sept} \qs{7}{dwt}{{ 为什么有的 WA 显示时间\&}\l{ 空间为 0 ? }}{{ 因为迷之原因,自定义脚本}\l{ 无法正常显示 RE (显示为}\l{ UKE),因此改成显示 WA。}\l{ 时空为 0 的 WA 点就是 RE。 }}{dwt} \end{array} % 食用方式: % 使用 \qs 指令添加新的Q&A。\qs指令需要接受五个参数,其中第二个和第三个参数需要使用两个大括号,否则可能导致一些问题。在第2、3个参数里使用\l指令可以进行换行,具体可以参考上面两个。由于一些技术原因,这里会严格限制字数大小,尽量和上面问题进行对齐。 $$ --- Hello ~~Codeforces~~ Luogu! This is an experimental contest held by Windy OI. The purpose of this contest is to mimic the contest system of Codeforces to the greatest extent. In this contest, you have to solve $6$ problems (and $3$ subtasks) in $3$ hours. The problems were written and prepared by $\textcolor{orange}{\text{Yakumo Ran}}$, $\textcolor{blue}{\text{yzy1}}$ and $\textcolor{blue}{\text{NaOH\_Frog}}$. We hope that you will enjoy solving them. We would also like to thank: - $\textcolor{red}{\text{Discrete\_Wavelet\_Transform}}$ for testing the problems and offering much help in $\LaTeX$. - $\textcolor{red}{\text{chenxinyang2006}}$ for testing the problems. - $\textcolor{red}{\text{cmdysj}}$ for cheering everyone up. - Every Wdoi member for making the team better. - And $\textcolor{black}{\text{kkksc03}}$ for the amazing Luogu platform! The competition adopts "Much Joy" contest system. However, we have made some little changes to the system. Special Judge was added to each question in the contest to judge the score according to your submission time. The later you submit, the lower score you get. ~~However, **all test cases will be shown as WA, and the submission will be shown as AC**~~. Now the status will be **correctly shown**. But correct submissions will get points. In order to let the contestants submit the questions normally after the contest, we will delete this Special Judge after the contest and change the score of the questions to $100$ points each. We are so sorry that you can't make hacks. There's no final system test (FST) either. We have tried our best to make the problems interesting and easy to understand. Hope for your participation! Good luck and see you in the standings! **UPD1**: Score distribution: $500 — (250+750) — 1500 — (800+1500) — 2500 — (1000+1750)$. **UPD2**: [Editorial](https://www.luogu.com.cn/blog/over-knee-socks/cfr-ti-xie) **UPD3**: [ZhiHu](https://www.zhihu.com/question/493967667) **UPD4**: For some reasons, we changed the start time of the contest. Sorry for that. [UPD5](https://www.luogu.com.cn/discuss/376870) --- 你好,洛谷! 这是一场由 Wdoi 团队举办的实验性质的比赛,主要目的是为了全真模拟 Codeforces Round(而根本目的则是为了给选手带来更好的做题体验)。 在比赛中,你需要在三个小时里解决六道题,还有三个题目的子问题。我们已经尽力以 CF 的风格出题和组题,并提高题目的思维性。比赛的出题人为八云蓝、yzy1 和 NaOH_Frog。 我们同样要感谢: - 波、cxy、ysj、全体 Wdoi 团员和 kkksc03。 我们使用了乐多赛制,调整了题目的分值,并且添加了 SPJ 来模拟 CF 赛制。具体来说 SPJ 将会根据你的提交时间来相应的返回你的分数。~~**需要注意的是,无论你的答案正确与否,评测结果会显示 AC,但每个测试点都会显示 WA。但是如果你成功通过了题目你将会得到分数。**~~ 已经可以**正常显示**题目与测试点的 AC 情况。赛后我们将会删除 SPJ 并将题目分值调整为 $100$。 由于技术受限,我们没能成功模拟出 hack 机制。望大家谅解。 希望大家多多参与~ --- $$ \def{\ran}{\text{八云蓝}} \def{\cxy}{\text{chenxinyang2006}} \def{\dwt}{\text{离散小波变换°}} \def{\frg}{\text{NaOH\_Frog}} \def{\csp}{\text{CSP\_Sept}} \def{\yzy}{\text{yzy1}} \def{\jkl}{\text{金珂拉}} \def{\msf}{\text{minstdfx}} \def{\ga}{\begin{gathered}}\def{\ag}{\end{gathered}} \def\arraystretch{1.5}\begin{array}{|c|c|c|c|c|}\hline \textbf{\#} & \textbf{idea} & \textbf{std} & \textbf{data\&SPJ} & \textbf{check} \cr\hline \textsf{A} & \ran & \yzy &\yzy& \ga\dwt\\\ran\ag \cr\hline \textsf{B1\&B2} & \ran & \yzy & \yzy & \msf \cr\hline \textsf{C} & \ran & \yzy & \yzy & \ga \yzy\\\ran\ag \cr\hline \textsf{D1\&D2} & \yzy & \yzy & \yzy & \yzy \cr\hline \textsf{E} & \ran & \jkl & \yzy & \jkl \cr\hline \textsf{F1\&F2} & \frg & \ga\frg\ag & \ga\frg\\\yzy\ag & \jkl \cr\hline \end{array} $$ --- 本场比赛用来根据时间计算得分的 $\text{SPJ}$ 的共用部分: ```cpp #include <sys/time.h> #include <time.h> ​ #include <algorithm> #include <cstdlib> #include <sstream> #include <string> #include <vector> ​ #include "testlib.h" ​ using namespace std; ​ bool compareWords(string a, string b) { vector<string> va, vb; stringstream sa; sa << a; string cur; while (sa >> cur) va.push_back(cur); stringstream sb; sb << b; while (sb >> cur) vb.push_back(cur); return (va == vb); } ​ timeval nowtime; ​ void QuitByTime() { tm* tmp = localtime(&nowtime.tv_sec); const int st = 15 * 60, l = 6 * 60; int h = tmp->tm_hour, m = tmp->tm_min, v = l - (h * 60 + m - st); double score = 1.0 * v / l; score = min(score, 1.0); score = max(score, 0.5); quitp(score, "ok"); } ​ signed main(signed argc, char* argv[]) { registerTestlibCmd(argc, argv); gettimeofday(&nowtime, NULL); std::string strAnswer; int n = 0; while (!ans.eof()) { std::string j = ans.readString(); if (j == "" && ans.eof()) break; std::string p = ouf.readString(); strAnswer = p; n++; if (!compareWords(j, p)) quitf(_wa, "wa"); } QuitByTime(); return 0; } ``` 简而言之,如果选手第 $n$ 次提交后通过某道题目(分值为 $\mathit{score}$)的时刻距离比赛开始时的时间间隔为 $\mathit{time}$,而比赛时长 $len$,那么选手获得该题的得分为: $$\frac{2len - time}{2len}\cdot\max\left\{0.95^{n-1},0.7\right\}\cdot \mathit{score}$$