2012/8/9 关于今天的比赛
摘要:A大数运算大数模版写得不熟,然后出了不少错误,准备自己写一个模版。G拓展欧几里德求逆元这道题公式没推错,代入参数搞错了,然后一直在调,浪费不少时间。I求线段交点很普通的计算题,WA了6次,最后才A掉,计算时没有考虑double比较大小的细节,手写的fabs没过。今天就A了三道最水的题,比较让我失望,I题不应该错这么多次,细节决定成败,这句话放在哪都没错,因为这样WA掉罚时真的很不值。希望明天比赛顺利,然后进入校队。A:#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostre
阅读全文
posted @
2012-08-09 17:08
找回失去的
阅读(251)
推荐(0)
COJ 1081 集训队分组
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1081不是太会写拓扑排序,所以再写一遍。/*Accepted 880 kb 268 ms C++/ 1671 B 2012-07-29 17:08:30*/#include<cstdio>#include<cstring>#include<cstdlib>const int MAXN = 1 << 10;const int MAXM = 10010;int N, K, M, first[MAXN], e, next[MAXM], v[MAXM];i
阅读全文
posted @
2012-07-29 17:12
找回失去的
阅读(277)
推荐(0)
COJ 1128 Download Station
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1128这道题是裸的强连通分量,之前没有写类似的题,所以敲的很辛苦。/*Accepted 920 KB 32 ms C++ 2240 B 2012-07-28 16:54:39*/#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>using namespace std;const int MAXN = 1 << 7;struct edge{ int v
阅读全文
posted @
2012-07-28 16:58
找回失去的
阅读(229)
推荐(0)
比赛总结,做题要细心!
摘要:今天的集训中期比赛暴露出我的很多问题,对于字符串处理的不熟悉,致使B题没写对,对于最水的两道枚举和贪心,也是一共WA了五次,在四十几分钟之后才过的。H题的BFS思路没错,关键代码也没写错,结果因为重复使用了变量,一直没检查出来,过了样例就胡乱提交题,结果WA了六次,赛后才过掉。H题几乎用了三个小时,结果问题出在这个地方,心里真的不好受!#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<queue>using namespace s
阅读全文
posted @
2012-07-25 15:25
找回失去的
阅读(219)
推荐(0)
COJ 1030 素数槽
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1030用线性筛素数果然快多了。#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 1300000bool is_p[MAXN];void calc(){ for( int i = 1; i < MAXN; i ++) is_p[i] = true; is_p[1] = false; for( int i = 2; i < MAXN; i ++) { if( !is_p[i..
阅读全文
posted @
2012-05-26 22:35
找回失去的
阅读(533)
推荐(0)
COJ 1163 寒衣调(校赛D题)
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1163a[i - 1]表示i的前缀积,b[i + 1]表示i的后缀积,两者相乘取模就是所需的结果#include<cstdio>#define MAXN 100005int a[MAXN], b[MAXN];int n, m;int main(){ while(scanf( "%d%d", &n, &m) == 2){ for(int i = 0; i < n; i ++) scanf("%d",&a[i]); b
阅读全文
posted @
2012-04-18 10:52
找回失去的
阅读(239)
推荐(0)
COJ 1165(校赛F题) Nearest Numbers
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1165把F题想得太难了,用贪心的思想,找局部最优解,看了解题报告就A了。#include<cstdio>#include<cstring>#include<cstdlib>#define MAXD 1000005#define min(a, b) (a < b ? a : b)const long long inf = 0x7fffffff;int la, lb, lc;long long a[MAXD], b[MAXD], c[MAXD];long l
阅读全文
posted @
2012-04-18 10:24
找回失去的
阅读(281)
推荐(0)
一道关于DOTA的模拟题(CSU2012校赛)
摘要:#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
找回失去的
阅读(271)
推荐(1)
COJ 1156 Switching bulbs
摘要:贪心.../*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
找回失去的
阅读(159)
推荐(0)
CSUOJ 1226: ACM小组的内战
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1226这也是月赛题,不知道当时怎么想的,居然没有写这道题...两个字符串中的字符有对应的关系,一对多和多对一都不行...#include<cstdio>#include<cstring>#include<cstdlib>#define SIZE 300char s1[SIZE], s2[SIZE], s3[SIZE], s4[SIZE], a[SIZE], b[SIZE], c[SIZE], d[SIZE];bool f1[100], f2[100];int
阅读全文
posted @
2011-12-14 13:37
找回失去的
阅读(253)
推荐(0)
CSUOJ 1010: Water Drinking
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1010这道题是要我们找到一个队伍的最后一个骆驼的编号,队伍的要求有两点1. 骆驼数最少2. 与池塘相连#include<cstdio>#include<cstring>#include<cstdlib>#define MAXN 100005int next[MAXN], s[MAXN];int N, top, k;int main(){ while( scanf( "%d", &N) == 1) { int n = N; top =
阅读全文
posted @
2011-12-13 22:18
找回失去的
阅读(214)
推荐(0)
月赛两道能A的题
摘要:#include<cstdio>#include<cstring>#include<cstdlib>int n, m, x1, y1, x2, y2;int dx[] = { -1, -1, 1, 1, 2, 2, -2, -2};int dy[] = { 2, -2, 2, -2, 1, -1, 1, -1};int d[25][25], qx[500], qy[500];int main(){ int x, y, front, rear; while( scanf( "%d%d", &n, &m) == 2) { sc
阅读全文
posted @
2011-12-11 22:29
找回失去的
阅读(167)
推荐(1)
CSUOJ 1215: 稳定排序
摘要:这道题看了标程后应该用归并排序做的,但是我用了qsort,qsort不是稳定排序,但是我用的是结构体,然后加上了一个标记,所以也符合题目要求第一关键值相同情况下不改变原数组次序#include<stdio.h>#include<stdlib.h>#define MAXD 100005typedef struct aa{ int a; int b; int f;}S;S t[MAXD];int N;int cmp( const void *_p, const void *_q){ S *p = ( S *)_p; S *q = ( S *)_q; if( p-...
阅读全文
posted @
2011-12-04 10:57
找回失去的
阅读(297)
推荐(0)
CSUOJ 1219: 建食堂
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1219这道题先用floyd算法求出所有点之间的距离,然后枚举判断每个点到其他点的最大距离,找出其中最小的一个,如果发现其中有一个点不可到其他点,则输出Can not。#include<stdio.h>#include<stdlib.h>#define MAXD 105#define INF 1000007int d[MAXD][MAXD];int n, m, u, v, w, max, mini;bool flag;int min( int a, int b){ retu
阅读全文
posted @
2011-12-03 20:45
找回失去的
阅读(252)
推荐(0)
CSUOJ 1212: 中位数
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1212这道题要找到中位数,我的方法是将两个序列的数字比较,然后将小的那个放入s中,当s的计数器过了N后,就可以跳出比较的循环,输出s[N]。#include<stdio.h>#include<stdlib.h>#define MAXD 100005int s[MAXD], N, a[2 * MAXD];int main(){ while( scanf( "%d", &N) == 1) { for( int i = 1; i <= 2 *
阅读全文
posted @
2011-12-03 20:38
找回失去的
阅读(332)
推荐(0)
CSUOJ 1203-购置游泳圈
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1203这是道贪心题,要求最少的救生圈的个数。先将每个人要求的救生圈范围 a 、b按照b的升序、b相等的时候按照a的降序排序。将第一个的b作为第一个判断点,直到第i个人的a大于之前的b,再将b换成第i个b,依此类推!#include<iostream>#include<stdlib.h>using namespace std;typedef struct d{ int a; int b;}B;B t[10005];int cmp( const void *_p, const
阅读全文
posted @
2011-11-21 14:16
找回失去的
阅读(202)
推荐(0)
CSUOJ 1208-排队
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1208亏我还想用并查集去做,这道题用数组模拟链表就行,数组下标为编号,一个一个接下去就行,在接的同时计数。这题有点恶心的是必须把数组开到101000以上,要不就会RE,这也是考查的一个方面吧!#include<iostream>#include<string.h>using namespace std;const int N = 101005;int next[N];int main(){ int n, m; int a, b; while( cin >> n
阅读全文
posted @
2011-11-21 14:11
找回失去的
阅读(370)
推荐(0)
CSUOJ 1150-食用油
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1150这是道BFS的题,打油师要用容量为A和B的油桶打出C升的油,有六种操作方式,我们从前一种状态到后一种状态的变化是有规律的,广搜所有的操作方式,对每种状态都标记,直到找到需要的C升油。搞了好久才把队列和广搜搞明白一点,纠结ING!#include<iostream>#include<string.h>#define N 105using namespace std;int vis[N][N], qa[64*N], qb[64*N], d[64*N];int A, B,
阅读全文
posted @
2011-11-17 23:20
找回失去的
阅读(259)
推荐(0)
CSUOJ 1196- Staginner 去爬山
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1196这道题也是搜索题,还是dfs,我们只需对最后一行进行搜索,然后找到能爬到的最高高度即可,每走一步我们就计算一次现在处于的高度h,然后与maxh比较。因为开始少写了一句memset而WA了一遍...#include<stdio.h>#include<string.h>#define N 105int dx[] = { 0, 0, 1, -1};int dy[] = { 1, -1, 0, 0};int map[N][N], vis[N][N];int n, m;int
阅读全文
posted @
2011-11-10 10:45
找回失去的
阅读(266)
推荐(0)
CSUOJ 1197- Staginner 买葡萄
摘要:这道题是基础背包问题,我们手里有n块钱,然后求n块钱能买到的最大葡萄个数,价格为j的一串葡萄有除开j本身外其所有约数之和个葡萄。先将每串葡萄的个数求出来,再用状态转移方程,dp[i] = max( dp[i], dp[n - j] +w[j])即可,i从n到0。#include<stdio.h>#include<string.h>#define N 26using namespace std;int w[N];int dp[N];int max( int a, int b){ return a > b ? a : b;}int f( int n){ int sum
阅读全文
posted @
2011-11-10 09:17
找回失去的
阅读(204)
推荐(0)