![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
USACO
文章平均质量分 69
星辰大少主
重庆oier
展开
-
USACO1.3.2修理牛棚
题目略思路这道题多半是个贪心,找出连续牛棚覆盖,然后覆盖住间隔最小的空隙 ,直到用了m块,实现起来有一点技巧 O(S)我觉得还可以dp f(i,j)表示前i块木头覆盖前j个牛棚的最小长度 f(1,1)=j; f(i,j)=min(f(i-1,j-1)+1,f(i-1,j)+a[j]-a[j-1]) 这里不用担心m越大值反而变小,因为m大了的话它的含义就是虽然相邻但时仍旧用多块木板 要先原创 2017-07-21 00:04:53 · 360 阅读 · 0 评论 -
【USACO3.3.5】游戏(区间dp的滚动数组与编码问题)
前言这篇文章是以介绍对角线填表的滚动数组为主,以区间dp为典型应用并且以USACO3.3.5游戏为引例展开题目【问题描述】 有如下一个双人游戏: N个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜。 编一个执行最优策略的程序,最优策略就是使自己能得到...原创 2017-08-24 23:38:52 · 308 阅读 · 0 评论 -
【USACO1.3.3】回文串
题目【问题描述】 据说如果你给无限只母牛和无限台巨型便携式电脑(有非常大的键盘),那么母牛们会制造出世上最棒的回文。你的工作就是去寻找这些牛制造的奇观(最棒的回文)。 在寻找回文时不用理睬那些标点符号、空格(但应该保留下来以便做为答案输出),只用考虑字母’A’-‘Z’和’a’-‘z’。要你寻找的最长的回文的文章是一个不超过20,000个字符的字符串。 我们将保证最长的回文不会超过2,000个字符原创 2017-08-09 17:07:03 · 329 阅读 · 0 评论 -
【USACO2.3.3】和为零
题目【问题描述】 请考虑一个由1到 N (N=3, 4, 5 … 9)的数字组成的递增数列:1 2 3 … N。现在请在数列中插入“+”表示加,或者“-”表示减,“ ”表示空白(例如1-2 3就等于1-23),来将每一对数字组合在一起(请不要在第一个数字前插入符号)。计算该表达式的结果并判断其值是否为0。请你写一个程序找出所有产生和为零的长度为N的数列。【输入格式】 单独的一行表示整数N 。原创 2017-07-25 11:55:45 · 646 阅读 · 0 评论 -
【USACO1.5.3】特殊的质数肋骨
题目略分析这是一个构造题 ,生成+测试应该能过,但是可以更好啊 因为要到达八位数,所以不适合用打表 ,直接判断也不多 而且。。 这种数很少,po大爷好像提过的。。 要注意第一个数特殊考虑代码#include<cmath>#include<cstdio>#include<vector>#include<iostream>#include<algorithm>using namespa原创 2017-07-24 21:06:23 · 701 阅读 · 0 评论 -
【USACO】青铜莲花池[2]
前言搜索到这篇文章的朋友,那么很巧了,我们多半是一个学校的,为什么呢?因为这道题叫白银莲花池。。题目【问题描述】 FJ建造了一个美丽的池塘,用于让奶牛们锻炼。这个长方形的池子被分割成了 M 行和 N 列(正方形格子的 。某些格子上有莲花,还有一些岩石,其余的只是美丽,纯净,湛蓝的水。 贝茜正在练习芭蕾舞,她从一个莲花跳跃到另一个莲花,当前位于一个莲花。她希望在莲花上一个一个的跳,目标是原创 2017-07-28 21:08:41 · 580 阅读 · 1 评论 -
【USACO3.2.2】01串
题目【问题描述】 给出三个整数:N,L,i。需要你找出长度为N,且1的个数小于等于L的二进制数中,第i小的那个二进制数。【输入格式】 共一行,用空格分开的三个整数N,L,i。【输出格式】 共一行,输出满足条件的第i小的二进制数。【输入样例】 5 3 19【输出样例】 10011【数据范围】 1 <= L <= N <=31 所有测试数据中,第 i 小的二进制数一定能找原创 2017-08-01 16:49:16 · 259 阅读 · 0 评论 -
【USACO】奶牛求幂
题目【问题描述】 约翰的奶牛门想要快速计算整数的P次幂,他需要你的帮助。因为计算极大数的幂,所以他们同一时间仅能使用2个存储器,每个存储器可记录某个结果值。 第一件工作是初始化存储器内的值:一个为底数x,另一个为1。奶牛可以相乘法或相除法2个存储器中的值,并把结果存在其中某个存储器内,但所有存储器的结果必须是整数,例如他们想计算x^31,一种计算方法是: 因此,原创 2017-07-27 15:13:05 · 864 阅读 · 0 评论 -
USACO1.2.5 双重回文数
题目略思路讲道理这应该是一个枚举,可问题是在不知道数据分布的情况下,如果真的到了32位整型,是枚举不出来的 因此先把数据生成一部分看一下规律,是否在s之内最大n的时候枚举范围都在承受范围之内 经过验证一万以内的双重回文数有接近五百个,一万到两万有接近50个,所以可以枚举,一次判定得而时间复杂度不会超过两个0 代码#include<cmath>#include<queue>#include<原创 2017-07-19 23:24:52 · 571 阅读 · 0 评论 -
USACO1.2.4 回文平方数
题目略分析这道题完全就是个暴力枚举 可是B进制可能为10以上,因此我们不能只存储一位,所以干脆用个int来储存,(short,char其实都可以,最多20) 这道题的知识点肯定是进制转换,不停地取模就是了,按理来说先模下来的是个位数 ,但是回文数的关系就不用管太多了 这里的回文数的判定是最简单的判定,一句话就写完了代码#include<cmath>#include<queue>#incl原创 2017-07-19 22:59:50 · 936 阅读 · 0 评论 -
USACO1.1.2 贪婪的送礼者
题目略分析这道题数据范围这么小,模拟就是n*n*n,然后加一个映射可以优化一个n变成log2n 就当练习一下map吧 代码#include<map>#include<cmath>#include<queue>#include<cstdio>#include<cctype>#include<vector>#include<string>#include<cstring>#includ原创 2017-07-19 22:37:07 · 450 阅读 · 0 评论 -
USACO专题
打算用USACO练习一下基本功,这个假期写刷完前三章的内容大概60道 这里先立一个flag,每天保证一道,还需好有些时候多做几道才能完成原创 2017-07-19 10:59:28 · 243 阅读 · 0 评论 -
USACO1.3.4牛式
题目略思路这个一看就是9^5的一个暴力枚举嘛 ,但是判断是一如既往的恼火,代码应该可以多用几个函数极大的简化,就是for用递归while再用一个判断 题目不解释样例我很恼火代码#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;i原创 2017-07-21 20:52:16 · 522 阅读 · 0 评论 -
【USACO】安全路径(计数/求和以及最值小探讨)(最有生成树之最短路径树,LCA,最值问题,并查集)
题目【问题描述】 精灵最近在农场上泛滥,他们经常会阻止牛们从农庄(牛棚1)走到别的牛棚(牛i的目的地是牛棚i)。每一个精灵只认识牛i并且知道牛i一般走到牛棚i的最短路径。所以他们在牛i到牛棚i之间的最后一条牛路上等牛i。当然,牛不愿意遇到精灵,所以准备找一条稍微不同的路径从牛棚1走到牛棚i。请你为每一头牛i找出避免精灵的最短路径长度。 和往常一样,农场上有 n 个牛棚(编号为1..n),原创 2017-10-28 21:45:52 · 554 阅读 · 1 评论