usaco
文章平均质量分 82
kkkkahlua
这个作者很懒,什么都没留下…
展开
-
usaco2.1 hamming(blog 写到一半发现大事不妙
题目链接题意就是在给定范围内找一个基数确定(N)的最小 set,使这个 set 中元素两两之间的 hamming distance 大于某一给定的值(D)耗了很长时间(扶额 事后想想真是太......一开始的想法是:(为方便表述,将 一个元素与另一个元素之间的 hamming distance >= D 记为性质 p1)首先把给定范围内所有两两之间的 h原创 2017-02-24 18:09:12 · 269 阅读 · 0 评论 -
usaco2.3 prefix trie树 + dp
题目链接题意:给定一些 小 字符串,求得能由这些 小 字符串 拼接成的 大 字符串的 前缀 的最大值。思路:题目很直白显然,就是 trie 树 和 动态规划。其实不用 trie 树也可以...但是怎么说呢以前从来没写过 trie 树,想写一个试试看,于是就写了。觉得这个时间还是挺有说服力的吧。(只是写得比较丑陋,请多多包涵Executin原创 2017-02-26 17:01:47 · 241 阅读 · 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 · 364 阅读 · 0 评论 -
usaco2.4 comehome 最短路 Floyd, Dijkstra, Dijkstra优先队列优化
题目链接水题,求到某一个点的最短路(第一发还写跪了...)后来觉得需要练练手(?并不能起到什么作用)于是分别写了Floyd,Dijkstra以及Dijkstra堆优化(即优先队列)的Floyd/*PROB:comehomeLANG:C++ID:fan_0111*/#include #include #include typedef原创 2017-05-27 00:26:37 · 287 阅读 · 0 评论 -
usaco2.4 cowtour
题目链接题意:整个图由若干个连通分量构成,在图中加一条边,使两个原本不连通的分量连通,得到一个新的连通分量。要求,使得新的连通分量的直径最小。直径 = max{两两点对之间最短距离}.求这样的最小直径。思路:考虑两块不连通的 G1 与 G2,在它们之间 u v 间新加一条边得到新的 G,那么 G 的直径必然是 max{ G1的直径, G2的直径,dist原创 2017-05-26 09:51:06 · 249 阅读 · 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 · 243 阅读 · 0 评论 -
usaco2.2 runround
题目链接要求输出下一个 runaround number (定义见原题)思路很简单,就是 枚举 并 判断,因为判断是否为 runaround number 是常数时间,然后可能枚举的范围也并不特别大,所以可行。但是,还是可以做一点点小小优化的记这个数的长度为 len, 根据 runaround number 的定义,我们注意到1)len 这个 digit原创 2017-02-25 17:25:28 · 261 阅读 · 0 评论 -
usaco2.2 lamps
题目链接(最近以来好不容易让我感到自己智商上线的一道题(叹题意:最初的状态是 1-N 灯全开着接下来进行一系列(4种)操作(操作次数 C 多达 1w)1:将所有灯的状态反转2:将偶数号的状态反转3:将奇数号的状态反转4:将 3k+1 号的状态反转得到最终状态现给出最终状态中的 一些 灯的状态求所有可能的最终状态,并升序排列思路原创 2017-02-26 11:51:54 · 252 阅读 · 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 · 291 阅读 · 0 评论 -
usaco1.5 pprime
生成回文数并判断是否是素数和analysis里面的几种生成方式都不同是递归,但是感觉比analysis里面的那种递归low了很多,毕竟写得十分浅显...。长度是奇数时,就把中间的那个数扩展成两个数长度是偶数时,就用0-9尝试最中间的数开始时控制最低位为1,3,5,7结束时判断长度和大小关系就是这样浅显...。代码如下:/*ID: fan_0111PR原创 2016-12-15 23:41:01 · 339 阅读 · 0 评论 -
usaco2.3 zerosum 表达式求值 栈
题目链接题目大意:给 1 - n 的数字,在其中添加 {'+', '-', ' '},使其最终值为0思路很简单,因为 n 然后对于每个组合去判断值是否为 0因为感觉空格稍稍有点麻烦(...),就用了栈,还是挺轻松就搞定了的AC代码如下:/*PROB: zerosumLANG: C++ID: fan_0111*/#include #原创 2017-03-05 23:05:00 · 363 阅读 · 0 评论