IT民工
加油!
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 29 下一页
摘要: #include<cstdio>#include<cstring>#include<cstdlib>const int bk[] = { 0, 200, 275, 325, 400, 475, 575, 675, 800, 900, 1000};const int team[] = { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1};char s[15][30], a[30], b[30];int m[15], kill[15], n;int findbuf( char *x){ int i; for( i = 1; i <= 10; 阅读全文
posted @ 2012-04-17 08:57 找回失去的 阅读(255) 评论(0) 推荐(1) 编辑
摘要: 贪心.../*Accepted 2352 kb 292 ms C++ 1013 B 2012-04-14 21:39:44 */#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 100005int N, M;typedef struct{ int color, val;}T;T t[MAXN];int cmp( const void *_p, const void *_q){ T *p = ( T *)_p; T *q = ( T *)_q; return p->val - q 阅读全文
posted @ 2012-04-14 23:05 找回失去的 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 要套现的前提是有一种货币经过几次交换能是其到其本身的汇率大于1。就转换成了求任一货币到其自身的汇率,不过要通过其他货币才能转换到自身,所以用floyd算法,求出所有货币到其他货币或者自身的最大汇率。这里的floyd计算时是汇率相乘取最大值,这也是与普通floyd的区别。字符串的处理是本题设置的一个考点吧,不过还好对于这个已经无压力了。/*Accepted 192K 47MS C++ 1074B 2012-04-14 12:57:03 */#include<cstdio>#include<cstring>#include<cstdlib>const int M 阅读全文
posted @ 2012-04-14 13:01 找回失去的 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 很普通的一道关于最小生成树的题,回顾了下kruskal算法的写法。/*Accepted 332K 16MS C++ 987B 2012-07-23 23:03:38 */#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const int MAXN = 105;int p[MAXN], r[MAXN * MAXN], u[MAXN * MAXN], v[MAXN * MAXN], w[MAXN * MAXN];int n 阅读全文
posted @ 2012-04-14 10:17 找回失去的 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 这道题类似于哈夫曼树,每次切付出的代价等于长度,所以我们要将长的先截出来。而题目是给出N截,以及每截的长度。所以我们每次加上短的,使总代价最少。学会了优先级队列的STL写法。/*Accepted 348K 32MS C++ 644B 2012-07-30 16:32:44*/#include<cstdio>#include<cstring>#include<cstdlib>#include<queue>using namespace std;typedef long long LL;int N;LL calc(){ LL ans; int len 阅读全文
posted @ 2012-04-13 19:15 找回失去的 阅读(128) 评论(0) 推荐(0) 编辑
摘要: #include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 5005#define max(a, b) ( a > b ? a : b)short f[MAXN][MAXN], len;char a[MAXN], b[MAXN];void rev(){ for( int i = len, j = 1; i >= 1; i --, j ++) { b[j] = a[i]; }}void dp(){ memset( f, 0, sizeof f); for( int i = 1; i 阅读全文
posted @ 2012-04-11 12:43 找回失去的 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 求文本的最长公共子序列,序列中每个元素都是一个字符串,学习了记录路径和递归输出的方法。/*Accepted 224K 0MS C++ 1186B 2012-04-11 11:19:14 */#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 105#define MAXM 31int f[MAXN][MAXN];char a[MAXN][MAXM], b[MAXN][MAXM];int mark[MAXN][MAXN];int na, nb, cnt;void output( int 阅读全文
posted @ 2012-04-11 11:24 找回失去的 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 求最长公共子序列,题目居然没有给出字符串最大长度。/*Accepted 428K 0MS C++ 570B 2012-04-11 10:26:03 */#include<cstdlib>#include<cstring>#include<cstdio>#define MAXN 1 << 8#define max(a, b) ( a > b ? a : b)char X[MAXN], Y[MAXN];int f[MAXN][MAXN];int x, y;void dp(){ memset( f, 0, sizeof f); x = strle 阅读全文
posted @ 2012-04-11 10:29 找回失去的 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 简单的数塔,用记忆化搜索或者递推都可以。/*Accepted 260K 16MS C++ 601B 2012-04-11 10:12:15 */#include<cstring>#include<cstdlib>#include<cstdio>#define MAXN 105#define max(a, b) ( a > b ? a : b)int d[MAXN][MAXN], a[MAXN][MAXN];int n;void init(){ for( int i = 1; i <= n; i ++) for( int j = 1; j < 阅读全文
posted @ 2012-04-11 10:14 找回失去的 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 这是一道要打表的递推题。注意数组开得足够大就行。#include<cstdio>#include<cstring>#include<cstdlib>bool vis[4000000] = {false};//记录一个数是否出现在结果中int a[500005];void init(){ a[0] = 0; for( int i = 1; i <= 500000; i ++) { if( a[i - 1] - i > 0 && !vis[ a[i - 1] - i]) a[i] = a[i - 1] - i; else ... 阅读全文
posted @ 2012-04-11 10:02 找回失去的 阅读(222) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 29 下一页