
=====USACO=====
文章平均质量分 72
林伏案
妖蛾子良多的范老爷
展开
-
usaco1.3.5(dfs生成配对情况)
/*ID:lvfuan11PROG:wormholeLANG:C++translation: 在二维平面上有多个虫洞,现在要两两配对连起来,使得在某一位置出发沿着++x方向能够陷入死循环。问有几种 连接方式?solution: 给虫洞编号。利用dfs递归生成所有可能的配对情况。 每次递归时,选择未配对的最小编号的点,与剩下的点一一测试,如果这种方案可行,就将计数器ans++。原创 2016-09-30 15:53:05 · 369 阅读 · 0 评论 -
usaco2.1.1-----the castle(flood fill模型)
/*ID:lvfuan11PROG:castleLANG:C++translation: 见usanocowsolution: flood fill的经典模型。dfs即可。注意题目要求选择最靠西边的墙,意味着同一个各自内,该格的北墙的优先级是比西墙高的! 因为北墙更靠近西边。*/#include #include #include using namespace std原创 2017-03-13 08:53:36 · 325 阅读 · 0 评论 -
usaco2.1.2-----orderd fractions(欧几里的)
/*ID:lvfuan11PROG:frac1LANG:C++*/#include #include #include #include using namespace std;struct Frac{ double val; int up, down; Frac(int u, int d):up(u), down(d) {val = (double)up / (d原创 2017-03-13 09:28:26 · 311 阅读 · 0 评论 -
usaco2.1.3-----Sorting a Three-Valued Sequence(*三值交换排序)
/*ID:lvfuan11PROG:sort3LANG:C++translation: 有1,2,3三个数字组成的数列,现在要将其变成有序数列,求最少要交换多少次。solution: 首先定义两个数字如果交换后都在正确的位置上,那么称这两个数字为交叉相等。所以根据贪心的思路很容易想到交叉相等的 数字肯定要交换。这样将所有交叉相等的数字处理完后就完成了算法的第一步。 那么如何处理原创 2017-03-14 21:40:34 · 508 阅读 · 0 评论 -
usaco2.1.4-----Healthy Holsteins(二进制枚举)
/*ID:lvfuan11PROG:holsteinLANG:C++translation: 给出每头牛需要的维生素,现在有若干种饲料,每种各含有若干量的各种维生素,问最少用多少种饲料可以满足一头牛的每日所需solution: 直接枚举即可,可以利用二进制枚举来加速。*/#include #include #include #include using namespa原创 2017-03-15 08:35:52 · 311 阅读 · 0 评论 -
usaco2.1.5
/*ID:lvfuan11PROG:hammingLANG:C++translation: 给出n,b,d求出n个字典序最小的n个长度为b的01字符串,这些字符串两两满足其hamming距离大于等于d。solution: 直接枚举即可,可以使用二进制来加速*/#include #include #include using namespace std;int n,原创 2017-03-15 22:20:23 · 308 阅读 · 0 评论 -
usaco2.1.4
/*ID:lvfuan11PROG:holsteinLANG:C++translation: 给出每头牛需要的维生素,现在有若干种饲料,每种各含有若干量的各种维生素,问最少用多少种饲料可以满足一头牛的每日所需solution: 直接枚举即可,可以利用二进制枚举来加速。*/#include #include #include #include using namespa原创 2017-03-15 22:21:01 · 261 阅读 · 0 评论