<commit_before>\documentclass[a4paper, 11pt, nofonts, nocap, fancyhdr]{ctexart}
\usepackage{graphicx} 

\usepackage[margin=60pt]{geometry}

\setCJKmainfont[BoldFont={FZHei-B01}, ItalicFont={FZKai-Z03}]{FZShuSong-Z01}
\setCJKmonofont{FZShuSong-Z01}

\CTEXoptions[today=small]

\pagestyle{plain}



% \fancyhead[L]{\small{team name}}
% \fancyhead[C]{\small{FSTC 2014 - 05 - 训练报告}}
% \fancyhead[R]{\small{2014年8月2日}}

\renewcommand{\thesubsubsection}{Problem \Alph{subsubsection}.}
\newcommand{\problem}[1]{\subsubsection{#1}}

\title{Fudan ACM-ICPC Summer Training Camp 2014\\第N场训练报告}
\author{Team 1}
\date{\today}

\begin{document}

\maketitle

\section{概况}

本场训练，我们队伍在比赛中完成了9道题目，比赛后完成了2道题目，共完成11道题目。已经完成本场训练所有题目。


\section{训练过程}

(yy视角)

由于今天非常奇葩, 只有一份题面, 大家把题目拆了开始看题.

我们上机的时候已经有队伍把K题过了, 于是lym去做K题.

[K - 19min - 1Y]

lym本想继续写题, 最后觉得有些问题, 就让xhm写题了. 我由于把F题的N看成$10^4$, 苦苦思考. 然后lym把J题扔给了我, 我就去做J了.

邢皓明写完过了.

[B - 53min - 1Y]

接着lym上去拍I, 拍完过了.

[I - 58min - 1Y]

xhm上去做J, 然后wa了下来看代码, 我推出了J的式子, 上去写了半分钟交发现wa了. 然后下来检查式子, lym开始写E.

5分钟后我发现有个地方写错了, 改了过了.

[J - 88min - 2Y]

然后看了一眼板, 发现大家纷纷过了F题, 于是重新看了看题, 发现$N \leq 1000$, 这时lym写完了E.

[E - 107min - 1Y]

我上去写F, 5分钟写完过了.

[F - 112min - 1Y]

lym帮助xhm查代码, xhm开始写D. 我思考G的做法.

lym查出了xhm代码数组下标可能为负的情况, 改了之后过了A.

[A - 138min - 3Y]

这时我想出了G的正确做法, 由于板子这题需要的板子是lym的, 让lym上去写. 我开始做C题.

[G - 172min - 1Y]

xhm交了一发G, 发现TLE.

于是我开始写C. 一开始写的时候没有思考清楚, 写一半觉得有些恶心, 然后队友们认为$N^2$能过. 于是我迅速码了一个$N^2$的做法上去. 但是TLE了.

于是我下来重新思考$Nlog(N)$的做法, xhm上去优化D题的代码.

D题又提交了一发, 但是还是TLE.

于是我开始写C. 想清楚了之后写了10分钟, 但是wa了. 下来思考, 让xhm继续调题.

最终发现有个地方手贱了.

[C - 279min - 3Y]

D题由于是一开始没有想清楚, 所以导致修改的时候改的不是很正确, 到最后没有调出来.

\section{解题报告}

\problem{Another OCD Patient}

\begin{description}
\item[负责] 邢皓明
\item[情况] 比赛中通过 - 138min(3Y)
\end{description}

我是A题的报告。

\problem{Boring Sum}

\begin{description}
\item[负责] 邢皓明
\item[情况] 比赛中通过 - 53min(1Y)
\end{description}

我是B题的报告。

\problem{Closed Paths}

\begin{description}
\item[负责] 杨越
\item[情况] 比赛中通过 - 279min(3Y)
\end{description}

我是C题的报告。

\problem{Dividing a String}

\begin{description}
\item[负责] 邢皓明
\item[情况] 赛后通过
\end{description}

我是D题的报告。

\problem{Emmet}

\begin{description}
\item[负责] 刘炎明
\item[情况] 比赛中通过 - 107min(1Y)
\end{description}

这种表达式解析的题目随便递归一下就做出来了，最多写个15min，调个5min。看版上大家不敢写其实令人很无语。

\problem{Fast Matrix Calculation}

\begin{description}
\item[负责] 杨越
\item[情况] 比赛中通过 - 122min(1Y)
\end{description}

我是F题的报告。

\problem{GGS-DDU}

\begin{description}
\item[负责] 杨越、刘炎明
\item[情况] 比赛中通过 - 178min(1Y)
\end{description}

挺裸的一个最小树形图模型，按题目所说连边，再从高级向低级连回边即可。使用$O(|V||E|)$的做法已经足够通过。

\problem{Handling the Past}
<commit_msg>some solutions on 8-19<commit_after>\documentclass[a4paper, 11pt, nofonts, nocap, fancyhdr]{ctexart}
\usepackage{graphicx} 

\usepackage[margin=60pt]{geometry}

\setCJKmainfont[BoldFont={FZHei-B01}, ItalicFont={FZKai-Z03}]{FZShuSong-Z01}
\setCJKmonofont{FZShuSong-Z01}

\CTEXoptions[today=small]

\pagestyle{plain}



% \fancyhead[L]{\small{team name}}
% \fancyhead[C]{\small{FSTC 2014 - 05 - 训练报告}}
% \fancyhead[R]{\small{2014年8月2日}}

\renewcommand{\thesubsubsection}{Problem \Alph{subsubsection}.}
\newcommand{\problem}[1]{\subsubsection{#1}}

\title{Fudan ACM-ICPC Summer Training Camp 2014\\第N场训练报告}
\author{Team 1}
\date{\today}

\begin{document}

\maketitle

\section{概况}

本场训练，我们队伍在比赛中完成了9道题目，比赛后完成了2道题目，共完成11道题目。已经完成本场训练所有题目。


\section{训练过程}

(yy视角)

由于今天非常奇葩, 只有一份题面, 大家把题目拆了开始看题.

我们上机的时候已经有队伍把K题过了, 于是lym去做K题.

[K - 19min - 1Y]

lym本想继续写题, 最后觉得有些问题, 就让xhm写题了. 我由于把F题的N看成$10^4$, 苦苦思考. 然后lym把J题扔给了我, 我就去做J了.

邢皓明写完过了.

[B - 53min - 1Y]

接着lym上去拍I, 拍完过了.

[I - 58min - 1Y]

xhm上去做A, 然后wa了下来看代码, 我推出了J的式子, 上去写了半分钟交发现wa了. 然后下来检查式子, lym开始写E.

5分钟后我发现有个地方写错了, 改了过了.

[J - 88min - 2Y]

然后看了一眼板, 发现大家纷纷过了F题, 于是重新看了看题, 发现$N \leq 1000$, 这时lym写完了E.

[E - 107min - 1Y]

我上去写F, 5分钟写完过了.

[F - 112min - 1Y]

lym帮助xhm查代码, xhm开始写D. 我思考G的做法.

lym查出了xhm代码数组下标可能为负的情况, 改了之后过了A.

[A - 138min - 3Y]

这时我想出了G的正确做法, 由于板子这题需要的板子是lym的, 让lym上去写. 我开始做C题.

[G - 172min - 1Y]

xhm交了一发D, 发现TLE.

于是我开始写C. 一开始写的时候没有思考清楚, 写一半觉得有些恶心, 然后队友们认为$N^2$能过. 于是我迅速码了一个$N^2$的做法上去. 但是TLE了.

于是我下来重新思考$Nlog(N)$的做法, xhm上去优化D题的代码.

D题又提交了一发, 但是还是TLE.

于是我开始写C. 想清楚了之后写了10分钟, 但是wa了. 下来思考, 让xhm继续调题.

最终发现有个地方手贱了.

[C - 279min - 3Y]

D题由于是一开始没有想清楚, 所以导致修改的时候改的不是很正确, 到最后没有调出来.

\section{解题报告}

\problem{Another OCD Patient}

\begin{description}
\item[负责] 邢皓明
\item[情况] 比赛中通过 - 138min(3Y)
\end{description}

把一段区间合并成和相当于是在前缀和序列中删除一个区间的数，于是相当于是操作若干次使得存在一个中心（可能为空），左侧前缀和和右侧后缀和相同。于是就变成了一个简单的子序列dp。

比赛的时候循环居然打成了For(i,1,n) For(j,1,n-1) f[i] = opt{f[j]}还很久没有看出来，气死了。

\problem{Boring Sum}

\begin{description}
\item[负责] 邢皓明
\item[情况] 比赛中通过 - 53min(1Y)
\end{description}

1e5以内的约数最多的数只有182个约数，调和枚举求出每个数的约数，然后暴力更新即可。

\problem{Closed Paths}

\begin{description}
\item[负责] 杨越
\item[情况] 比赛中通过 - 279min(3Y)
\end{description}

我是C题的报告。

\problem{Dividing a String}

\begin{description}
\item[负责] 邢皓明
\item[情况] 赛后通过
\end{description}

折半搜索，对于左半部分的每一个方案，有用的信息只有短的串还要接上什么才能变成长的那个串。
于是相当于是给两个100w的pair<int,string>数组，求一个x,y使得a[x].second==b[y].second且|a[x].first-b[y].second|最小。
因为second是长度<=20的01串所以不需要map，直接对于每种second压到vector里扫一遍就能求出答案了。

\problem{Emmet}

\begin{description}
\item[负责] 刘炎明
\item[情况] 比赛中通过 - 107min(1Y)
\end{description}

这种表达式解析的题目随便递归一下就做出来了，最多写个15min，调个5min。看版上大家不敢写其实令人很无语。

\problem{Fast Matrix Calculation}

\begin{description}
\item[负责] 杨越
\item[情况] 比赛中通过 - 122min(1Y)
\end{description}

我是F题的报告。

\problem{GGS-DDU}

\begin{description}
\item[负责] 杨越、刘炎明
\item[情况] 比赛中通过 - 178min(1Y)
\end{description}

挺裸的一个最小树形图模型，按题目所说连边，再从高级向低级连回边即可。使用$O(|V||E|)$的做法已经足够通过。

\problem{Handling the Past}

{'fraction_non_alphanumeric': 0.15155346820809248, 'fraction_numerical': 0.04190751445086705, 'mean_word_length': 5.357060849598163, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5298002', 'n_tokens_mistral': 3970, 'n_tokens_neox': 4179, 'n_words': 409}