摘要: 注意__int64的设定,关键#include <stdio.h>int main(){ int n,t,s,c; int i,a,b; __int64 sum; int k=1; scanf("%d",&c); while(c--) { scanf("%d%d%d",&n,&t,&s); sum=2*t+s; scanf("%d",&a); for(i=2;i<=n;i++) { scanf("%d",&b); if((b-a)*s>2*t) 阅读全文
posted @ 2012-04-13 10:52 shijiwomen 阅读(277) 评论(0) 推荐(0) 编辑
摘要: import java.util.*;import java.math.BigInteger;public class Main{ /** * @param args */ public static BigInteger jc(BigInteger m) { BigInteger i; BigInteger st=new BigInteger("1"); BigInteger t=new BigInteger("1"); for(i=m;i.compareTo(B... 阅读全文
posted @ 2012-04-13 10:17 shijiwomen 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 注意转头方程#include <stdio.h>#include <string.h>int max(int a,int b){ return a>b?a:b;}int main(){ int t; int n,m; int i,j; int w[30],c[30]; int dp[30001]; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=1;i<=m;i++) scanf("%d%d",&w[i] 阅读全文
posted @ 2012-04-12 11:02 shijiwomen 阅读(327) 评论(0) 推荐(0) 编辑
摘要: #include<iostream>#include <cstdio>#include <string.h>using namespace std;int n,m;int c[201][201];int maxflow(int s,int t){ int p,q,queue[201],u,v,pre[201]; int flow,aug; flow=0; while(true) { memset(pre,-1,sizeof(pre)); for(queue[p=q=0]=s;p<=q;p++) { u... 阅读全文
posted @ 2012-04-10 08:24 shijiwomen 阅读(213) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <string.h>using namespace std; #include <queue>#define min(x,y) (x<y?x:y)const int inf = 1000000000;const int maxn = 210;int cap[maxn][maxn];int n,m;int s,t;int flow[maxn][maxn],d[maxn],parent[maxn],maxflow; void Edmonds_Karp(int s,int t,int nnum){ ma 阅读全文
posted @ 2012-04-10 08:18 shijiwomen 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 我再网上摘的#include <iostream>#include <cstdio>#include <cstring>#include <queue>using namespace std;#define N 300int m;int Visited[N];int Prev[N];int G[N][N];unsigned EKmin(){ deque<int> q; memset(Visited,0,sizeof(Visited)); memset(Prev,0,sizeof(Prev)); Prev[1]=0; Visited[1 阅读全文
posted @ 2012-04-09 20:41 shijiwomen 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 我纠结了四天的网络流,看疯了各种网络流的基础课件,各种参考书,看的是云里雾里最后还是做题一点不懂,最后一个模板解决问题,神啊这里体现了模板的强大力量#include <stdio.h>#include <string.h>const int maxn=150000;const int maxm=200000;const int inf=1<<30;struct edge{ int from,to,val,next;}map[maxn];int vis[maxn],que[maxn],dist[maxn],len;void init(){ len=0; mem 阅读全文
posted @ 2012-04-09 19:50 shijiwomen 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 一做这题,才感觉我一直没有真正的理解dfs,dfs其实就是一种枚举,一种靠递归,靠剪枝优化的枚举而且能根据具体问题进行剪枝,和递归的条件,看来我还得更深刻地去理解一前的算法,这很重要还有就是vis[]是否访问数组标识,其实就是一个区分,区分成两组,这是实质#include <stdio.h>#include <string.h>#define node 25int dividen[node];int c[node][node];int n,max;void dfs(int num,int t){ int i,data=t; dividen[num]=1; for(i=1 阅读全文
posted @ 2012-04-08 10:58 shijiwomen 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 主要是printf("%*c",n,c);的应用,就是c这个字符要占都少个位置#include <stdio.h>int main(void){ char c; int i = 0, n; while ((c = getchar()) != '@') { scanf("%d%*c", &n); printf(i ? "\n%*c\n" : "%*c\n", n, c); if (n == 1) { i = 1; continue; } for... 阅读全文
posted @ 2012-04-08 08:49 shijiwomen 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 其中非常巧妙的运用了b和c变量,还有就是有效地剪枝#include <stdio.h>int A(int n){ int i = 1; while (n) { if (n % 10 == 4 || n % 100 == 62) return i; n /= 10; i *= 10; } return 0;}int main(void){ int n, m, i, c, b; int *a = new int[1000000]; a[0] = 0; for (c = 0,i = ... 阅读全文
posted @ 2012-04-08 08:35 shijiwomen 阅读(217) 评论(0) 推荐(0) 编辑