
usaco
zhk1211
这个作者很懒,什么都没留下…
展开
-
题解 P6281 【[USACO20OPEN]Social Distancing S】
这道题是一个二分的模板,先讲一下二分。二分是确定一个答案然后对其分析,而答案常常有这样一种情况:或题目通常会让我们找符合条件的最大值或最小值。以这道题为例,就是要在可行的社交距离中找到最大值。我们发现,社交距离比最优解大的都可以,不最优解小的都不可以。这个我们叫左闭右开。二分顾名思义,就是二分。int l=0,r=INT_MAX/2;while(l+1<r){ ...原创 2020-04-05 20:01:10 · 1770 阅读 · 2 评论 -
题解 P6282 【[USACO20OPEN]Cereal S】
题面这道题我是用队列做的。我们想一想少掉 111 头奶牛,整个奶牛队列会发生什么变化首先,最前面的那头奶牛走了,就空出来了他最喜欢吃的那包麦片了。这包麦片可能会造成如下反应:一头奶牛原来吃的是它第 222 喜欢的麦片,现在它吃自己第 111 喜欢的了,使得又空出了一包麦片。一头奶牛原来没有东西吃,现在它吃到了它 第1/第2 喜欢的麦片。我们可以写一个队列来计算这个东西,由于队列是先...原创 2020-04-05 20:25:08 · 1005 阅读 · 0 评论 -
题解 P6148 【[USACO20FEB]Swapity Swapity Swap S】
前言考场上没想到用倍增,呜呜呜~,只写了个找循环节,然后就 303030 分。正文分析考虑用倍增,其实这道题和这道题是有异曲同工之处的。我们 fijf_{ij}fij 记录第 jjj 个元素,经过 2i2^i2i 次翻转后,这个元素的值。求 f0,jf_{0,j}f0,j好,那么显然,我们要先求出 f0,jf_{0,j}f0,j。read(n);read(m);read(k)...原创 2020-04-04 16:52:30 · 856 阅读 · 2 评论