USACO
Fenice
狂奔的蜗牛
展开
-
USACO ride
/*ID: kevin_s1PROG: rideLANG: C++ */#include #include #include using namespace std;int getfinalnum(string str){ int product = 1; for(int i = 0; i < str.length(); i++){ product = product原创 2014-05-11 00:42:55 · 720 阅读 · 0 评论 -
USACO inflate
完全背包,转化为0/1背包 dp[i, j] = max(dp[i-1, j], dp[i, j - minutes[i]] + points[i])/*ID:kevin_s1PROG:inflateLANG:C++*/#include #include #include #include #include #include #include #include #i原创 2014-07-20 14:51:43 · 1098 阅读 · 0 评论 -
USACO frac1直接排序
/*ID:kevin_s1PROG:frac1LANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MAXN 20000 //gobal原创 2014-06-09 20:31:55 · 1032 阅读 · 0 评论 -
USACO agrinet Prim
裸最短生成树/*ID:kevin_s1PROG:agrinetLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MAXN 110#原创 2014-07-20 14:18:23 · 948 阅读 · 0 评论 -
USACO zerosum DFS 1A
USER: Kevin Samuel [kevin_s1]TASK: zerosumLANG: C++Compiling...Compile: OKExecuting... Test 1: TEST OK [0.003 secs, 3508 KB] Test 2: TEST OK [0.003 secs, 3508 KB] Test 3: TEST OK [0.00原创 2014-06-30 01:43:11 · 1149 阅读 · 0 评论 -
USACO money packageDP
裸0/1背包,就是从各种币种里面拿来凑足N元,求最多有多种方案。用dp[i][j]表示选前i个币种凑成j的方案数量状态转移方程: dp[i][j] = dp[i- 1][j] j = coins[i]/*ID:kevin_s1PROG:moneyLANG:C++*/#include #include #include #include #include #i原创 2014-07-01 01:49:00 · 1164 阅读 · 0 评论 -
USACO hamming 继续暴搜
USER: Kevin Samuel [kevin_s1]TASK: hammingLANG: C++Compiling...Compile: OKExecuting... Test 1: TEST OK [0.003 secs, 3504 KB] Test 2: TEST OK [0.005 secs, 3504 KB] Test 3: TEST OK [0.00原创 2014-06-16 15:42:02 · 782 阅读 · 0 评论 -
USACO holstein AC code
/*ID:kevin_s1PROG:holsteinLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MAXV 26#define M原创 2014-06-16 00:28:37 · 1320 阅读 · 0 评论 -
USACO concom DFS
写哭了,本来感觉是floyd,但是发现floyd根本不能连续地传递,然后看了题解写了个搜索,这个搜索我都没有想到= =先贴个floyd的代码,先试图用DFS处理连续控股的情况,再用几个循环处理k1+k2+k3+...Kn在第八组数据跪了/*ID:kevin_s1PROG:concomLANG:C++*/#include #include #include #inclu原创 2014-07-04 18:07:31 · 1024 阅读 · 0 评论 -
USACO ariprog 暴力枚举+剪枝
/*ID:kevin_s1PROG:ariprogLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;//gobal variable====int d原创 2014-06-03 16:28:02 · 1644 阅读 · 0 评论 -
USACO holstein 超时代码
/*ID:kevin_s1PROG:holsteinLANG:C++*/第八组数据跪了,半天都不出结果#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MA原创 2014-06-15 23:10:28 · 1054 阅读 · 0 评论 -
USACO humble
用set构造,优先队列和堆也可以/*ID:kevin_s1PROG:humbleLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;#defi原创 2014-07-27 01:31:20 · 1182 阅读 · 0 评论 -
USACO castle
/*ID:kevin_s1PROG:castleLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MAXM 51原创 2014-06-20 00:47:02 · 1202 阅读 · 0 评论 -
USACO comehome Dijkstra
USER: Kevin Samuel [kevin_s1]TASK: comehomeLANG: C++Compiling...Compile: OKExecuting... Test 1: TEST OK [0.003 secs, 3376 KB] Test 2: TEST OK [0.005 secs, 3376 KB] Test 3: TEST OK [0.0原创 2014-07-12 10:25:01 · 1418 阅读 · 0 评论 -
USACO subset TLE code
/*BFID:kevin_s1PROG:subsetLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;//gobal variable====int原创 2014-06-20 22:49:20 · 652 阅读 · 0 评论 -
USACO subset
/*ID:kevin_s1PROG:subsetLANG:C++*///参考了nocow,动态搞#include#include #include using namespace std;int result;int sum;long long F[40][900];long long i,k,l,j,m,n,s;long long edge(int x);int原创 2014-06-20 23:34:30 · 744 阅读 · 0 评论 -
USACO runaround
/*ID:kevin_s1PROG:runroundLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;//直接枚举即可//gobal variable原创 2014-06-21 17:29:58 · 912 阅读 · 0 评论 -
USACO nocows DP
这题没想出来,直接参考了nocow,太弱了= =。基本思想是动态规划,因为树是递归结构,所以可以递归分成子问题处理。一个树可以看成根加左子树加右子树,所以根据乘法原理,N个节点放成k层的结构等于i个节点放成k - 1层乘以N - i - 1个节点放在k - 1层的积。令dp[i][j] 为i个节点放j层的最多可能数量,则dp[i][j] = sum{dp[k][j - 1] * dp[i原创 2014-06-29 01:02:45 · 1158 阅读 · 1 评论 -
USACO sprime
/*ID:kevin_s1PROG:sprimeLANG:C++*///N = 1只可能为2,3,5,7,N > 1只可能为1,3,7,9. N = i,到N = i + 1递推如果是素数就扩展,类似于BFS#include #include #include #include #include #include #include #include #include #原创 2014-06-07 00:31:22 · 1208 阅读 · 0 评论 -
USACO cowtour Floyd + 枚举
给出来的数据量还是可以的。题意:有若干个牧场,至少有两个不连通,一个牧场的直径就是牧场中最远的两个牧区的距离。要求找出几个牧场中最短的直径,就是找一条路径连接几个牧区,使这个直径最终最小。基本方法,把整个图根据输入划分成几个不连通的牧区,然后求出每个牧区的直径(即每个连通块中的最长路径),然后枚举两个不在同一牧区的点,设blocks[i]记录第i个节点所在连通块的直径,那么result = m原创 2014-07-18 00:10:21 · 1476 阅读 · 0 评论 -
USACO beads
/*ID:kevin_s1PROG:beadsLANG:C++*/#include #include #include using namespace std;int N;char beads[351];int Next(int turn){ int pos = (turn + 1)%N; return (pos != 0 ? pos:N);}int Pre(原创 2014-05-11 13:04:01 · 583 阅读 · 0 评论 -
USACO milk2
/*ID:kevin_s1PROG:milk2LANG:C++*/#include #include #include #include using namespace std;int N;struct interval{ int begin; int end;}intervals[5001];bool cmp(interval a,interval b){原创 2014-05-11 13:04:54 · 885 阅读 · 0 评论 -
USACO transform
/*ID:kevin_s1PROG:transformLANG:C++*/#include #include #include using namespace std;int N;char source[11][11];char target[11][11];bool compare_mat(char sour[][11]){ bool flag = true;原创 2014-05-11 13:06:06 · 774 阅读 · 0 评论 -
USACO namenum
/*ID:kevin_s1PROG:namenumLANG:C++*/#include #include #include #include #include using namespace std;string str[10];set dict;set vec;string num; //the number of inputint n; //原创 2014-05-11 13:06:54 · 621 阅读 · 0 评论 -
USACO palsqure
/*ID:kevin_s1PROG:palsquareLANG:C++*/#include #include #include #include #include using namespace std;int B;bool isPalindromic(string num){ bool flag = true; int len = num.length();原创 2014-05-11 14:03:38 · 616 阅读 · 0 评论 -
USACO gift1
/* ID:kevin_s1 PROG:gift1LANG:C++*/ #include #include #include using namespace std;struct giver{ string name; int init; int give; int receive;}givers[11];int NP;int getIndex(st原创 2014-05-11 13:02:06 · 975 阅读 · 0 评论 -
USACO friday
/* ID:kevin_s1PROG:fridayLANG:C++*/#include #include #include using namespace std;int N;int frequency[8];int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};bool isLeapYear(int yea原创 2014-05-11 13:03:00 · 634 阅读 · 0 评论 -
USACO dualpal
/*ID:kevin_s1PROG:dualpalLANG:C++*/#include #include #include #include #include using namespace std;int N,S;vector result;bool isPalindromic(string num){ bool flag = true; int len =原创 2014-05-12 01:13:23 · 1095 阅读 · 0 评论 -
USACO milk
/*ID:kevin_s1PROG:milkLANG:C++*/#include #include #include #include #include #define MAXN 5001using namespace std;int N,M;struct farmer{ int Pi; int Ai;}farmers[MAXN];int cmp(farm原创 2014-05-13 00:27:38 · 1076 阅读 · 0 评论 -
USACO barn1
//这题大概是一道贪心,我是/*ID:kevin_s1PROG:barn1LANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;int cmp(int a,原创 2014-05-14 01:10:21 · 839 阅读 · 0 评论 -
USACO numtri 数塔问题
/*ID:kevin_s1PROG:numtriLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define MAXN 1001//gobal v原创 2014-06-05 00:36:22 · 1192 阅读 · 0 评论 -
USACO prefix TrieTree + DP
/*ID:kevin_s1PROG:prefixLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define sigma_size 26#defi原创 2014-06-26 02:21:03 · 1061 阅读 · 0 评论 -
USACO milk3 DFS
/*ID:kevin_s1PROG:milk3LANG:C++*/#include #include #include #include using namespace std;int A,B,C;int milk[21][21][21];int note[21];void DFS(int a, int b, int c){ if(milk[a][b][c]原创 2014-05-23 23:04:32 · 1123 阅读 · 0 评论 -
USACO checker WA code
/*ID:kevin_s1PROG:checkerLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;//gobal variable====const原创 2014-06-08 00:35:42 · 578 阅读 · 0 评论 -
USACO pprime WA code
//没有办法创建100000000的素数表让/*ID:kevin_s1PROG:pprimeLANG:C++*/#include #include #include #include #include #include #include #include #include #include #include using namespace std;//gob原创 2014-06-06 23:13:03 · 621 阅读 · 0 评论 -
USACO maze1 BFS
好久不写bfs了,中间失误了好长时间,在扩展新节点的时候一旦扩展成功就应该标记节点为已访问,不然有些情况下会无限扩展队列。题目的输入处理略坑爹,可以先当字符串读进来,然后用一个数组标记每个节点四周墙的情况,最后从两个出口搜索一遍,用流水填充,最后取两遍的较小值,然后取整个地图的最大值作为结果/*ID:kevin_s1PROG:maze1LANG:C++*/#include #in原创 2014-07-19 16:05:23 · 1159 阅读 · 0 评论 -
USACO lamps
IOI 98的题目,那时候好像还不是很难,连我这种弱渣都能做。每个按钮按两次就相当于没按,所以一共其实相当于最多按4次,先把C降到/*ID:kevin_s1PROG:lampsLANG:C++*/#include #include #include #include #include #include #include #include #include #inc原创 2014-06-23 01:19:18 · 1184 阅读 · 0 评论