摘要: 我直接暴力搜的,还有一个强连通分量的算法,琢磨一下,明天写:#include <stdio.h>#include <stdlib.h>#define INF 0xFFFFFFFint map[200][200];int count[200];int group[200];int n;void mark(int i, int k){ int j; if(group[i] == k){ return; } group[i] = k; for(j = 0; j < n; j++){ if(map[i][j] != INF && map[j][i] != 阅读全文
posted @ 2011-08-05 20:13 zqynux 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 终于知道了,在评测机中,long long 的输出和输入要用%I64d,记住记住!!!务必记住!!! 这题的话,因为总共的和是(n * n + 1) * n * n / 2,但是有n行要一模一样,所以直接输出(n * n + 1) * n / 2就可以了。#include <stdio.h>#include <stdlib.h>int main(int argc, char **argv){ long long n; scanf("%I64d", &n); printf("%I64d\n", n * (n * n + 1) 阅读全文
posted @ 2011-08-05 19:49 zqynux 阅读(289) 评论(2) 推荐(0) 编辑
摘要: DP,DP方程好复杂,不知道怎么说的好,代码里分解吧:#include <stdio.h>#include <stdlib.h>#define max(a, b) ((a)>(b)?(a):(b))int g[300001][2], f[300001];int main(int argc, char **argv){ int i, min = -1; int m, s, t; scanf("%d%d%d", &m, &s, &t); g[0][0] = m; for(i = 1; i <= t; i++){ if( 阅读全文
posted @ 2011-08-05 19:46 zqynux 阅读(416) 评论(2) 推荐(0) 编辑
摘要: 因式分解神马的,具体上代码:#include <math.h>#include <stdio.h>#include <stdlib.h>int a0, a1, b0, b1;int prim[20000], num[20000], end;int ans[200000], len;int gcd(int a, int b){ int t; while(b != 0){ t = a % b; a = b; b = t; } return a;}void dfs(int now, int pro){ int i; if(now == end){ ans[len+ 阅读全文
posted @ 2011-08-05 19:44 zqynux 阅读(475) 评论(0) 推荐(0) 编辑