<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>2018 湘潭邀请赛 - 标签 - 菠菜眾長</title><link>https://lruihao.cn/tags/2018-%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B/</link><description>2018 湘潭邀请赛 - 标签 - 菠菜眾長</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>1024@lruihao.cn (Lruihao)</managingEditor><webMaster>1024@lruihao.cn (Lruihao)</webMaster><lastBuildDate>Fri, 15 Jun 2018 07:51:21 +0000</lastBuildDate><atom:link href="https://lruihao.cn/tags/2018-%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B/" rel="self" type="application/rss+xml"/><item><title>18 湘潭邀请赛参赛队员代表发言</title><link>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E9%98%9F%E5%91%98%E4%BB%A3%E8%A1%A8%E5%8F%91%E8%A8%80/</link><pubDate>Fri, 15 Jun 2018 07:51:21 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E9%98%9F%E5%91%98%E4%BB%A3%E8%A1%A8%E5%8F%91%E8%A8%80/</guid><description><![CDATA[<blockquote>
<p>来自一位大佬的演讲</p>
</blockquote>
<p>尊敬的领导、教练，亲爱的参赛选手们：<br>
大家好，我是来自广东工业大学的 tmk。今天很荣幸能够站在这里代表全体参赛选手发言，与大家分享我的经历和感受。<br>
刚开始来到大学的时候，我一心向学，本着“好好学习，天天向上，为校争光，不搞对象”的信念，想在大学一展宏图。因为高中 OI 的挫败，我在刚上大学的时候就选择了 ACM 这条“不归路”。一开始是因为高中的遗憾，到后来就完全是因为信念和兴趣慢慢一直搞到现在。当时的我还不知道踏上 ACM 这条路的苦，而如今的我却也尝到了 ACM 带给我的乐。<br>
在这三年里，有数不清的夜晚，我的舍友们在寝室里开黑，而我和我的队友在机房里开黑；在这三年里，有数不清的周末，我的舍友们在校园里驰骋，而我和我的队友在题库里驰骋；在这三年里，有数不清的假期，我的舍友们在召唤师峡谷里征战，而我和我的队友在中国各省市征战。三年过去了，我的舍友们成为了 offer 收割机，而我和我的队友成为了气球收割机。<br>
为了变强是一个痛苦且漫长的过程，只有耐得住寂寞，才能守得住繁华。我的一位队友为了变强甚至牺牲了自己的头发，仅仅是因为他担心他的头发阻碍了他思维的发散。他变秃了也变强了。<br>
三年的 ACM 让我成长很多，收获很多。我也从一个“好好学习天天向上为校争光不搞对象”的无知青年变成了一个写的了工程查得出异常的准程序员。我觉得三年献身于 ACM 的日子是值得的，和一大堆萌萌的男孩子们在屋子里面一个又一个通宵奋斗的酣畅淋漓的日子是值得的，看着谈恋爱的大家一会儿哀伤一会儿忧愁而我与代码自得其乐矢志不渝的日子是值得的。此外他还给我带来两个最好的小伙伴，是他们的一路陪伴，让我有勇气一直走下去。我和他们走过的地方，比我和女朋友去过的地方还要多。噢，对了，我好像没有女朋友。总而言之，请珍惜你们的队友，他们是你们在大学里为数不多一起奋斗的小伙伴。希望大家像我一样，也爱着 ACM，为自己心爱的努力。<br>
最后预祝各位参赛选手们取得理想的成绩，也预祝本次大赛圆满成功。谢谢大家。</p>
]]></description></item><item><title>18 湘潭邀请赛总结</title><link>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E6%80%BB%E7%BB%93/</link><pubDate>Thu, 14 Jun 2018 23:32:47 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/18%E6%B9%98%E6%BD%AD%E9%82%80%E8%AF%B7%E8%B5%9B%E6%80%BB%E7%BB%93/</guid><description><![CDATA[<p><a href="http://acm.hdu.edu.cn/downloads/2018ccpc_hn.pdf"target="_blank" rel="external nofollow noopener noreferrer">题目链接<i class="fa-solid fa-external-link-alt fa-fw fa-xs ms-1 text-secondary" aria-hidden="true"></i></a>（hdu 复赛）</p>
<p>2018 年湘潭邀请赛，在湘大举行，当时一起打的过去的，因为没出市就方便点。第一次参加现场赛，首先反省一下自己，比赛前算法先不说（没有好好搞过），就连普通的题，数学性质的题都很少刷，什么都不会，然后英语不说四六级的东西，很多专业英语词汇都没有好好了解过，主要的原因还是刷题刷少了，英文题刷少了。理所当然，成功拿下一铁，湘潭赛打铁告终。</p>
<p>比赛开始，这次是三个人没人一份纸质题目，拿到题目，看最后一题，k.2018 发现可以做，（事实证明确实是一道水题），我就在做这题，他们看了 a 题，好像是 k 题一顿操作后提交，错了，一直到比赛结束都没做出来，后来回去看别人的题解，发现自己情况没有分析全面，其实是完全可以解出来的，真的做的太少太少了。a 题最后也是没过，还有一个 f 题，sort，我最初的想法是用 stl 里的那个 sort 排序，只要对 sort 的 compare 函数做处理应该可以完成排序，比赛之前我看过，但是不熟悉，zxm 她也看了我就交给她了，最后好像因为爆 long double 的问题也没做出来。<br>
哎，菜还是菜，很多算法都不懂，数据结构也没学好，很有一段时间我都特别头疼算法，不想学，费劲，觉得自己不适合学计算机，更不适合 ACM。有时候又想，不适合好像总是 loser 的借口！总是在后悔和偷懒的矛盾中！<br>
最后，放上，&ldquo;参赛奖&quot;羞辱自己，也是鞭策！<br>
</p>
]]></description></item><item><title>F.sorting</title><link>https://lruihao.cn/posts/f-sorting/</link><pubDate>Thu, 14 Jun 2018 22:49:27 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/f-sorting/</guid><description><![CDATA[<p></p>
<h2 id="sample-input">Sample Input</h2>
<pre><code>2
1 1 1
1 1 2
2
1 1 2
1 1 1
3
1 3 1
2 2 1
3 1 1
</code></pre>
<h2 id="sample-output">Sample Output</h2>
<pre><code>2 1
1 2
1 2 3
</code></pre>
<p>题意：给定 n 个元组 (a1,b1,c1),(a2,b2,c2),&hellip;,(an,bn,cn)，将其按 (ai+bi)/(ai+bi+ci) 的值从小到大排序，输出排序后的 n 个元组的原序号；<br>
思路：编写 sort 里的 cmp 函数（形参为元组结构体元素，设为 Tuple x,Tuple y)，若直接算出 (x.a+x.b)<em>(y.a+y.b+y.c) 和 (y.a+y.b)</em>(x.a+x.b+x.c) 再比较大小，这两个结果会爆 unsigned long long；<br>
可以把因式乘积展开成多项式的和，约去两式中相同的项，得到 x.a<em>y.c+x.b</em>y.c 和 y.a<em>x.c+y.b</em>x.c，因此只需计算它俩再比较即可，结果不会爆 unsigned long long</p>
<p>后 AC 代码</p>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&#34;bits/stdc++.h&#34;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="n">using</span> <span class="n">namespace</span> <span class="n">std</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="k">struct</span> <span class="n">node</span><span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="kt">long</span> <span class="kt">double</span> <span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kt">int</span> <span class="n">numb</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span><span class="n">ss</span><span class="p">[</span><span class="mi">1005</span><span class="p">];</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kt">bool</span> <span class="nf">cmp</span><span class="p">(</span><span class="k">const</span> <span class="n">node</span> <span class="o">&amp;</span><span class="n">a</span><span class="p">,</span><span class="k">const</span> <span class="n">node</span> <span class="o">&amp;</span><span class="n">b</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">    <span class="kt">long</span> <span class="kt">double</span> <span class="n">suma</span><span class="p">,</span><span class="n">sumb</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="c1">//suma=a.a*b.c+a.b*b.c;
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>    <span class="c1">//sumb=b.a*a.c+b.b*a.c;
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>    <span class="n">suma</span><span class="o">=</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">a</span><span class="o">+</span><span class="n">a</span><span class="p">.</span><span class="n">b</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">a</span><span class="o">+</span><span class="n">a</span><span class="p">.</span><span class="n">b</span><span class="o">+</span><span class="n">a</span><span class="p">.</span><span class="n">c</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">    <span class="n">sumb</span><span class="o">=</span><span class="p">(</span><span class="n">b</span><span class="p">.</span><span class="n">a</span><span class="o">+</span><span class="n">b</span><span class="p">.</span><span class="n">b</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="n">b</span><span class="p">.</span><span class="n">a</span><span class="o">+</span><span class="n">b</span><span class="p">.</span><span class="n">b</span><span class="o">+</span><span class="n">b</span><span class="p">.</span><span class="n">c</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span><span class="p">(</span><span class="n">suma</span><span class="o">!=</span><span class="n">sumb</span><span class="p">)</span><span class="k">return</span> <span class="n">suma</span><span class="o">&lt;</span><span class="n">sumb</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="n">a</span><span class="p">.</span><span class="n">numb</span><span class="o">&lt;</span><span class="n">b</span><span class="p">.</span><span class="n">numb</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="nf">main</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl">    <span class="kt">int</span> <span class="n">n</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">while</span><span class="p">(</span><span class="n">cin</span><span class="o">&gt;&gt;</span><span class="n">n</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">        <span class="k">for</span><span class="p">(</span><span class="kt">int</span> <span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">            <span class="n">cin</span><span class="o">&gt;&gt;</span><span class="n">ss</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">a</span><span class="o">&gt;&gt;</span><span class="n">ss</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">b</span><span class="o">&gt;&gt;</span><span class="n">ss</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">c</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">            <span class="n">ss</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">numb</span><span class="o">=</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">        <span class="p">}</span>
</span></span><span class="line"><span class="cl">        <span class="nf">stable_sort</span><span class="p">(</span><span class="n">ss</span><span class="p">,</span><span class="n">ss</span><span class="o">+</span><span class="n">n</span><span class="p">,</span><span class="n">cmp</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">        <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">        <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;</span><span class="n">n</span><span class="o">-</span><span class="mi">1</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="n">cout</span><span class="o">&lt;&lt;</span><span class="n">ss</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">numb</span><span class="o">&lt;&lt;</span><span class="s">&#34; &#34;</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">        <span class="n">cout</span><span class="o">&lt;&lt;</span><span class="n">ss</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">numb</span><span class="o">&lt;&lt;</span><span class="n">endl</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></td></tr></table>
</div>
</div>]]></description></item><item><title>K.2018</title><link>https://lruihao.cn/posts/k-2018/</link><pubDate>Thu, 14 Jun 2018 22:48:16 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/k-2018/</guid><description><![CDATA[<h2 id="k-2018">K. 2018</h2>
<p>Given a,b,c,d, ﬁnd out the number of pairs of integers (x,y) where a ≤ x ≤ b,c ≤ y ≤ d and x·y is a multiple of 2018.</p>
<h3 id="input">Input</h3>
<p>The input consists of several test cases and is terminated by end-of-ﬁle.<br>
Each test case contains four integers a,b,c,d.</p>
<h3 id="output">Output</h3>
<p>For each test case, print an integer which denotes the result.</p>
<h3 id="constraint">Constraint</h3>
<p>• 1≤ a ≤ b ≤109,1≤ c ≤ d ≤109<br>
• The number of tests cases does not exceed 104.</p>
<h3 id="sample-input">Sample Input</h3>
<pre><code>1 2 1 2018
1 2018 1 2018
1 1000000000 1 1000000000
</code></pre>
<h3 id="sample-output">Sample Output</h3>
<pre><code>3
6051
1485883320325200
</code></pre>
<p>题意：给定区间 [a,b]、[c,d]，问有多少对有序数组 (x,y)(x∈[a,b],y∈[c,d]) 使得 x<em>y 是 2018 的倍数<br>
思路：2018=2</em>1009（分解质因数），则对 x 分类讨论：1) 仅为 2 的倍数；2）仅为 1009 的倍数；3）即为 2 又为 1009 的倍数；4）既不为 2 又不为 1009 的倍数<br>
等价于如下分类讨论：</p>
<ol>
<li>若 x 是偶数：1）若 x 是 1009 的倍数，则 y 可为 [c,d] 中任意数； 2）若 x 不是 1009 的倍数，则 y 必定为 [c,d] 中 1009 的倍数</li>
<li>若 x 是奇数：1）若 x 是 1009 的倍数，则 y 必定为 [c,d] 中 2 的倍数； 2）若 x 不是 1009 的倍数，则 y 必定为 [c,d] 中 2018 的倍数</li>
</ol>
<p>后 AC 代码</p>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="cp">#include</span><span class="cpf">&lt;cstdio&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp">#include</span><span class="cpf">&lt;iostream&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="k">typedef</span> <span class="kt">unsigned</span> <span class="kt">long</span> <span class="kt">long</span> <span class="n">ll</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="n">using</span> <span class="n">namespace</span> <span class="n">std</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="nf">main</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl">   <span class="n">ll</span> <span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">d</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">   <span class="k">while</span><span class="p">(</span><span class="n">cin</span><span class="o">&gt;&gt;</span><span class="n">a</span><span class="o">&gt;&gt;</span><span class="n">b</span><span class="o">&gt;&gt;</span><span class="n">c</span><span class="o">&gt;&gt;</span><span class="n">d</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_all_1009</span><span class="o">=</span><span class="n">b</span><span class="o">/</span><span class="mi">1009</span><span class="o">-</span><span class="p">(</span><span class="n">a</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">1009</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_even</span><span class="o">=</span><span class="n">b</span><span class="o">/</span><span class="mi">2</span><span class="o">-</span><span class="p">(</span><span class="n">a</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_1009_in_even</span><span class="o">=</span><span class="n">b</span><span class="o">/</span><span class="mi">2018</span><span class="o">-</span><span class="p">(</span><span class="n">a</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">2018</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_rest_in_even</span><span class="o">=</span><span class="n">num1_even</span><span class="o">-</span><span class="n">num1_1009_in_even</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_odd</span><span class="o">=</span><span class="p">(</span><span class="n">b</span><span class="o">-</span><span class="n">a</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">-</span><span class="n">num1_even</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_1009_in_odd</span><span class="o">=</span><span class="n">num1_all_1009</span><span class="o">-</span><span class="n">num1_1009_in_even</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num1_rest_in_odd</span><span class="o">=</span><span class="n">num1_odd</span><span class="o">-</span><span class="n">num1_1009_in_odd</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">ans</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ans</span><span class="o">+=</span><span class="n">num1_1009_in_even</span><span class="o">*</span><span class="p">(</span><span class="n">d</span><span class="o">-</span><span class="n">c</span><span class="o">+</span><span class="mi">1</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num2_all_1009</span><span class="o">=</span><span class="n">d</span><span class="o">/</span><span class="mi">1009</span><span class="o">-</span><span class="p">(</span><span class="n">c</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">1009</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ans</span><span class="o">+=</span><span class="n">num1_rest_in_even</span><span class="o">*</span><span class="n">num2_all_1009</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num2_even</span><span class="o">=</span><span class="n">d</span><span class="o">/</span><span class="mi">2</span><span class="o">-</span><span class="p">(</span><span class="n">c</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ans</span><span class="o">+=</span><span class="n">num1_1009_in_odd</span><span class="o">*</span><span class="n">num2_even</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">ll</span> <span class="n">num2_all_2018</span><span class="o">=</span><span class="n">d</span><span class="o">/</span><span class="mi">2018</span><span class="o">-</span><span class="p">(</span><span class="n">c</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">2018</span><span class="p">;</span> <span class="n">ans</span><span class="o">+=</span><span class="n">num1_rest_in_odd</span><span class="o">*</span><span class="n">num2_all_2018</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">     <span class="n">cout</span><span class="o">&lt;&lt;</span><span class="n">ans</span><span class="o">&lt;&lt;</span><span class="n">endl</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">   <span class="p">}</span>
</span></span><span class="line"><span class="cl">   <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></td></tr></table>
</div>
</div>]]></description></item><item><title>B.Higher h-index</title><link>https://lruihao.cn/posts/b-higher/</link><pubDate>Thu, 14 Jun 2018 22:47:28 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/b-higher/</guid><description><![CDATA[<h2 id="b-higher-h-index">B. Higher h-index</h2>
<p>The h-index of an author is the largest h where he has at least h papers with citations not less than h.<br>
Bobo has no papers and he is going to publish some subsequently. If he works on a paper for x hours, the<br>
paper will get (a·x) citations, where a is a known constant. It’s clear that x should be a positive integer.<br>
There is also a trick – one can cite his own papers published earlier.</p>
<p>Given Bobo has n working hours, ﬁnd the maximum h-index of him.</p>
<h3 id="input">Input</h3>
<p>The input consists of several test cases and is terminated by end-of-ﬁle.<br>
Each test case contains two integers n and a.</p>
<h3 id="output">Output</h3>
<p>For each test case, print an integer which denotes the maximum h-index.</p>
<h3 id="constraint">Constraint</h3>
<pre><code>• 1≤ n ≤109
• 0≤ a ≤ n
• The number of test cases does not exceed 104.
</code></pre>
<h3 id="sample-input">Sample Input</h3>
<pre><code>3 0
3 1
1000000000 1000000000
</code></pre>
<h3 id="sample-output">Sample Output</h3>
<pre><code>1
2
1000000000
</code></pre>
<h3 id="note">Note</h3>
<p>For the ﬁrst sample, Bobo can work 3 papers for 1 hour each. With the trick mentioned,<br>
he will get papers with citations 2,1,0. Thus, his h-index is 1.<br>
For the second sample, Bobo can work 2 papers for 1 and 2 hours respectively.<br>
He will get papers with citations 1+1,2+0. Thus, his h-index is 2.</p>
<p>题意：给定 n 个小时，可以用其中 x(1&lt;=x&lt;=n) 个小时写一篇论文，那么这篇论文的&quot;既定&quot;引用数将会是<code>x*a</code>(a 为给定正整数）；此外，已经写好的论文将会被其后写成的论文所引用，也就是说，这篇论文的总引用数将会是&quot;既定&quot;引用数+其后论文篇数；问在所有的写论文方案中（例如一种方案就是用 n 个小时写 n 篇论文，每篇论文各花 1 小时（可以得到这 n 篇论文的引用数）)，h 最大为多少 (h 的含义同上题）（每一种方案都对应着一个 h，求这些 h 中的最大者）<br>
思路：最优方案（即对应 h 值最大的方案）是平摊 n 小时写成 n 篇论文（证明未知）；此时 n 篇论文的引用数为 a,a+1,a+2,&hellip;,a+n-1，引用数为 a+i 时，引用数大于等于它的论文有 n-i 篇，令 a+i=n-i 得 i=(n-a)/2, 所以 h=a+(n-a)/2;</p>
<p>后 AC 代码</p>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="cp">#include</span><span class="cpf">&lt;cstdio&gt;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp"></span>
</span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="nf">main</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl">   <span class="kt">int</span> <span class="n">n</span><span class="p">,</span><span class="n">a</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">   <span class="k">while</span><span class="p">(</span><span class="nf">scanf</span><span class="p">(</span><span class="s">&#34;%d%d&#34;</span><span class="p">,</span><span class="o">&amp;</span><span class="n">n</span><span class="p">,</span><span class="o">&amp;</span><span class="n">a</span><span class="p">)</span><span class="o">!=</span><span class="n">EOF</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">    <span class="nf">printf</span><span class="p">(</span><span class="s">&#34;%d</span><span class="se">\n</span><span class="s">&#34;</span><span class="p">,</span><span class="n">a</span><span class="o">+</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="n">a</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">   <span class="p">}</span>
</span></span><span class="line"><span class="cl">   <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></td></tr></table>
</div>
</div>]]></description></item><item><title>A.Easy h-index</title><link>https://lruihao.cn/posts/a-easy/</link><pubDate>Thu, 14 Jun 2018 22:36:58 +0000</pubDate><author>Lruihao</author><guid>https://lruihao.cn/posts/a-easy/</guid><description><![CDATA[<h2 id="a-easy-h-index">A. Easy h-index</h2>
<p>The h-index of an author is the largest h where he has at least h papers with citations not less than h.<br>
Bobo has published many papers. Given a0,a1,a2,&hellip;,an which means Bobo has published ai papers with<br>
itations exactly i, ﬁnd the h-index of Bobo.</p>
<h3 id="input">Input</h3>
<p>The input consists of several test cases and is terminated by end-of-ﬁle.<br>
The ﬁrst line of each test case contains an integer n. The second line contains (n+1) integers a0,a1,&hellip;,an.</p>
<h3 id="output">Output</h3>
<p>For each test case, print an integer which denotes the result.</p>
<h3 id="constraint">Constraint</h3>
<p>• 1≤ n ≤2·105
• 0≤ ai ≤109
• The sum of n does not exceed 250,000.</p>
<h3 id="sample-input">Sample Input</h3>
<pre><code>1
1 2
2
1 2 3
3
0 0 0 0
</code></pre>
<h3 id="sample-output">Sample Output</h3>
<pre><code>1
2
0
</code></pre>
<p>题意：给定被引用次数为 0~n 的论文分别有几张，找到最大的 h，满足被引用次数大于等于 h 的论文至少有 h 张<br>
思路：在区间 [0,n] 内二分答案；或直接从 n~0 遍历找到第一个满足条件的 h</p>
<p>后 AC 代码</p>
<div class="highlight" id="id-1"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-c" data-lang="c"><span class="line"><span class="cl"><span class="cp">#include</span> <span class="cpf">&#34;bits/stdc++.h&#34;</span><span class="cp">
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="n">using</span> <span class="n">namespace</span> <span class="n">std</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="kt">int</span> <span class="nf">main</span><span class="p">(){</span>
</span></span><span class="line"><span class="cl">    <span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">200005</span><span class="p">];</span>
</span></span><span class="line"><span class="cl">    <span class="kt">int</span> <span class="n">n</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="kt">int</span> <span class="n">i</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="k">while</span><span class="p">(</span><span class="n">cin</span><span class="o">&gt;&gt;</span><span class="n">n</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">        <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span><span class="n">i</span><span class="o">&lt;=</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="n">cin</span><span class="o">&gt;&gt;</span><span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
</span></span><span class="line"><span class="cl">        <span class="kt">int</span> <span class="n">sum</span><span class="o">=</span><span class="n">a</span><span class="p">[</span><span class="n">n</span><span class="p">];</span>
</span></span><span class="line"><span class="cl">        <span class="k">for</span><span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="n">n</span><span class="p">;</span><span class="n">i</span><span class="o">&gt;=</span><span class="mi">0</span><span class="p">;){</span>
</span></span><span class="line"><span class="cl">            <span class="k">if</span><span class="p">(</span><span class="n">sum</span><span class="o">&gt;=</span><span class="n">i</span><span class="p">){</span>
</span></span><span class="line"><span class="cl">                <span class="n">cout</span><span class="o">&lt;&lt;</span><span class="n">i</span><span class="o">&lt;&lt;</span><span class="n">endl</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">                <span class="k">break</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">            <span class="p">}</span>
</span></span><span class="line"><span class="cl">            <span class="k">else</span> <span class="n">sum</span><span class="o">+=</span><span class="n">a</span><span class="p">[</span><span class="o">--</span><span class="n">i</span><span class="p">];</span>
</span></span><span class="line"><span class="cl">        <span class="p">}</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span><span class="p">(</span><span class="n">i</span><span class="o">&lt;</span><span class="mi">0</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">            <span class="n">cout</span><span class="o">&lt;&lt;</span><span class="s">&#34;0&#34;</span><span class="o">&lt;&lt;</span><span class="n">endl</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">    <span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></td></tr></table>
</div>
</div>]]></description></item></channel></rss>