![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
usaco
文章平均质量分 80
kkkkahlua
这个作者很懒,什么都没留下…
展开
-
usaco2.1 hamming(blog 写到一半发现大事不妙
题目链接 题意就是在给定范围内找一个基数确定(N)的最小 set,使这个 set 中元素两两之间的 hamming distance 大于某一给定的值(D) 耗了很长时间(扶额 事后想想真是太...... 一开始的想法是: (为方便表述,将 一个元素与另一个元素之间的 hamming distance >= D 记为性质 p 1)首先把给定范围内所有两两之间的 h原创 2017-02-24 18:09:12 · 260 阅读 · 0 评论 -
usaco2.3 prefix trie树 + dp
题目链接 题意: 给定一些 小 字符串,求得能由这些 小 字符串 拼接成的 大 字符串的 前缀 的最大值。 思路: 题目很直白显然,就是 trie 树 和 动态规划。 其实不用 trie 树也可以...但是怎么说呢 以前从来没写过 trie 树,想写一个试试看,于是就写了。 觉得这个时间还是挺有说服力的吧。(只是写得比较丑陋,请多多包涵 Executin原创 2017-02-26 17:01:47 · 227 阅读 · 0 评论 -
usaco3.1 contact
题目链接 题意: 给一个01串s,统计其中长度从A到B的各个子串出现的次数,输出频率最高的N个 十分朴素且无脑地过了...还很快 对于A到B的每个长度len,取出s中所有该长度的串,转化为二进制x,++cnt[len][x], 再作为node放到ans数组中,node有三个成员,val, len, cnt(值,长度,出现次数) 对ans排序,再输出即可 再就是,输入输原创 2017-06-02 11:35:00 · 343 阅读 · 0 评论 -
usaco2.4 comehome 最短路 Floyd, Dijkstra, Dijkstra优先队列优化
题目链接 水题,求到某一个点的最短路 (第一发还写跪了...) 后来觉得需要练练手(?并不能起到什么作用)于是分别写了Floyd,Dijkstra以及Dijkstra堆优化(即优先队列)的 Floyd /* PROB:comehome LANG:C++ ID:fan_0111 */ #include #include #include typedef原创 2017-05-27 00:26:37 · 275 阅读 · 0 评论 -
usaco2.4 cowtour
题目链接 题意: 整个图由若干个连通分量构成,在图中加一条边,使两个原本不连通的分量连通,得到一个新的连通分量。 要求,使得新的连通分量的直径最小。直径 = max{两两点对之间最短距离}. 求这样的最小直径。 思路: 考虑两块不连通的 G1 与 G2,在它们之间 u v 间新加一条边得到新的 G,那么 G 的直径必然是 max{ G1的直径, G2的直径,dist原创 2017-05-26 09:51:06 · 241 阅读 · 0 评论 -
usaco2.3 nocows dp + 失败的递归
题目链接 题目大意: 给出树的节点个数和深度,并且对树的限定是,每个节点的孩子数为 2 或为 0,问有多少种形态不同的数。 思路: 最开始的时候是这样想找规律的 举个例子吧,比如节点数 11, 深度 5 很显然前两层都是满的,剩下节点 11 - 3 = 8,这 8 个要分到 3 层去. 可以是 2 2 4, 2 4 2, 4 2 2. 要求是后一个数 因原创 2017-03-05 22:37:52 · 232 阅读 · 0 评论 -
usaco2.2 runround
题目链接 要求输出下一个 runaround number (定义见原题) 思路很简单,就是 枚举 并 判断,因为判断是否为 runaround number 是常数时间,然后可能枚举的范围也并不特别大,所以可行。 但是,还是可以做一点点小小优化的 记这个数的长度为 len, 根据 runaround number 的定义,我们注意到 1)len 这个 digit原创 2017-02-25 17:25:28 · 255 阅读 · 0 评论 -
usaco2.2 lamps
题目链接 (最近以来好不容易让我感到自己智商上线的一道题(叹 题意: 最初的状态是 1-N 灯全开着 接下来进行一系列(4种)操作(操作次数 C 多达 1w) 1:将所有灯的状态反转 2:将偶数号的状态反转 3:将奇数号的状态反转 4:将 3k+1 号的状态反转 得到最终状态 现给出最终状态中的 一些 灯的状态 求所有可能的最终状态,并升序排列 思路原创 2017-02-26 11:51:54 · 243 阅读 · 0 评论 -
usaco2.2 subset 01背包
题目链接 题意就是取 {1, 2, 3, ..., N} 的一个 subset,使得这个 subset 内元素的和为一个给定的值 (太久没做题的)我一开始竟然(想都没想)(并且数据范围都没看)(十分愚蠢地)写了递归,显然爆时间 再后来写了一个丑陋的 dp,第 i 个元素取: dp[i-1][j-i]; 不取:dp[i-1][j]; 最后才意识到这是个01背包,求将原创 2017-02-25 17:14:05 · 280 阅读 · 0 评论 -
usaco1.5 pprime
生成回文数并判断是否是素数 和analysis里面的几种生成方式都不同 是递归,但是感觉比analysis里面的那种递归low了很多,毕竟写得十分浅显...。 长度是奇数时,就把中间的那个数扩展成两个数 长度是偶数时,就用0-9尝试最中间的数 开始时控制最低位为1,3,5,7 结束时判断长度和大小关系 就是这样浅显...。 代码如下: /* ID: fan_0111 PR原创 2016-12-15 23:41:01 · 330 阅读 · 0 评论 -
usaco2.3 zerosum 表达式求值 栈
题目链接 题目大意: 给 1 - n 的数字,在其中添加 {'+', '-', ' '},使其最终值为0 思路很简单, 因为 n 然后对于每个组合去判断值是否为 0 因为感觉空格稍稍有点麻烦(...),就用了栈,还是挺轻松就搞定了的 AC代码如下: /* PROB: zerosum LANG: C++ ID: fan_0111 */ #include #原创 2017-03-05 23:05:00 · 357 阅读 · 0 评论