上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页
摘要: 思路:直接状态压缩暴力枚举#include#include#include#include#define Maxn 30#define inf 10000000using namespace std;int ans,n,m;int c,d;int map[Maxn][Maxn];int lis[Maxn],node[Maxn];int val[1m) continue; if(cnt==m) { int a=val[i],b=sum[i]; if(a*d<c*b){ ... 阅读全文
posted @ 2013-08-25 16:23 fangguo 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 思路:黑书的例题#include#include#include#include#include#define Maxn 210using namespace std;int dp[Maxn][Maxn][Maxn],col[Maxn],len[Maxn],pre[Maxn],aper[Maxn],after[Maxn],vi[Maxn];int main(){ int t,n,i,j,x,k,Case=0; int cnt=0; scanf("%d",&t); while(t--){ memset(dp,0,sizeof(dp)); mem... 阅读全文
posted @ 2013-08-25 14:17 fangguo 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 思路:裸的2-SAT。#include#include#include#include#include#include#include#include#include#include#include#define Maxn 2010#define Maxm 100010#define LL __int64#define Abs(x) ((x)>0?(x):(-x))#define lson(x) (x head[Maxn];void init(){ memset(dfn,0,sizeof(dfn)); memset(low,0,sizeof(low)); lab=num=to... 阅读全文
posted @ 2013-08-25 09:57 fangguo 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 思路:定义一个四维状态的数组,记录每个状态先手的最优值。#include#include#include#include#include#define Maxn 30using namespace std;int ans[Maxn][Maxn][Maxn][Maxn],suma[Maxn],sumb[Maxn];void init(){ memset(ans,0,sizeof(ans)); memset(suma,0,sizeof(suma)); memset(sumb,0,sizeof(sumb));}inline int Max(int a,int b,int c,int... 阅读全文
posted @ 2013-08-25 09:16 fangguo 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 思路:这题我在下午重现的时候就用的费用流做,可是各种悲催的超时,只是我一开始的那种建图方式多了一个二分查找。戏剧性的是,求距离的返回值写成int型了,CodeBlock编译器又没有警告,然后就WA啊WA,AC率一下就被拉低了。当然,对每种工人分别建图是不变的,因为每种工人互不影响。后来想到了一个较好的建图方式,将每个点拆成3个点,i,i+n,i+2*n。1号点就是仓库,也就是超级源点,3*n+1号点为超级汇点。由1号点想每个i建一条流量为ty[i][j],费用为1的边。表示每次增加流量,人数就增加。由i向i+2*n建一条流量为ty[i][j],费用为0的边。由i+2*n向汇点建一条流量为ty[ 阅读全文
posted @ 2013-08-24 23:26 fangguo 阅读(833) 评论(0) 推荐(0) 编辑
摘要: 思路:首先就是判断是否有奇环,若存在奇环,则输出No。然后用差分约束找是否符合条件。对于e(i,j)属于E,并且假设顶点v[i]为正数,那么v[i]-v[j]>=T--->v[j]-v[i]#include#include#include#include#define Maxn 1010#define Maxm Maxn*Maxn#define inf 100000000#define T 400using namespace std;int head[Maxn],vi[Maxn],col[Maxn],map[Maxn][Maxn],e,n,cnt[Maxn],dis[Maxn]; 阅读全文
posted @ 2013-08-24 21:16 fangguo 阅读(628) 评论(0) 推荐(0) 编辑
摘要: 思路:以val[u]-ans*edge[i].len最为边权,判断是否有正环存在,若有,那么就是ans小了。否则就是大了。在spfa判环时,先将所有点进队列。#include#include#include#include#include#include#define Maxn 1010#define Maxm 6000#define inf 1e10#define eps 1e-4using namespace std;int vi[Maxn];struct Edge{ int u,v,next; double len;}edge[Maxm];double dis[Maxn],v... 阅读全文
posted @ 2013-08-24 10:47 fangguo 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 思路:和黑书上的跳舞机类似#include#include#include#include#include#include#include#include#include#include#include#define Maxn 31#define Maxm 100010#define LL __int64#define Abs(x) ((x)>0?(x):(-x))#define lson(x) (x<<1)#define rson(x) (x<<1|1)#define inf 0x7fffffff#define Mod 1000000007using names 阅读全文
posted @ 2013-08-23 22:26 fangguo 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 思路:黑书的例题#include#include#include#include#include#include#include#include#include#include#include#define Maxn 110#define Maxm 100010#define LL __int64#define Abs(x) ((x)>0?(x):(-x))#define lson(x) (x<<1)#define rson(x) (x<<1|1)#define inf 0x7fffffff#define Mod 1000000007using namespace 阅读全文
posted @ 2013-08-23 21:52 fangguo 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 思路:枚举能是A,B,C在一条简单路径上的中点。 计算多少个几何能满足。在用总数减去#pragma comment(linker, "/STACK:16777216")#include#include#include#include#include#include#include#include#include#include#include#define Maxn 200010#define Maxm 300010#define LL __int64#define Abs(x) ((x)>0?(x):(-x))#define lson(x) (x son[Maxn] 阅读全文
posted @ 2013-08-23 15:36 fangguo 阅读(179) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 22 下一页