摘要: #include #include #define MAX 32010int lev[MAX],c[MAX];int Lowbit(int x){ return x & (-x);}void Updata(int x){ while( x 0 ) { sum += c[x]; x -= Lowbit(x); } return sum;}int main(){ int n,x,y,i; while( ~scanf("%d",&n) ) { memset(lev,0,sizeof(lev)); memset(c,0,sizeof(c)); for(i=1; i& 阅读全文
posted @ 2014-01-23 21:16 单调的幸福 阅读(131) 评论(0) 推荐(0) 编辑
摘要: #include const int INF = 99999999 ;int cnt,m ,n ,dist[15010] ;structnode{ int u,v,w ;}edge[10700700] ;void addedge(int u,int v,int w){ edge[cnt].u = u ; edge[cnt].v = v ; edge[cnt].w = w ; cnt++ ;}bool bellman_ford(int start){ for(int i = 1 ; i dist[u] + w) { ... 阅读全文
posted @ 2014-01-23 19:29 单调的幸福 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 01分数规划,sort+二分即可。注意精度问题,这种四舍五入的问题一般都是两种处理方法:1、printf("%.0lf\n",ans); 2、printf("%d\n",(int)(ans+0.5));#include#include#include#includeusing namespace std;#define N 1010double a[N],b[N],c[N];int n,K;int main(){ int i; double left,right,mid,sum; while(scanf("%d%d",&n,& 阅读全文
posted @ 2014-01-23 18:08 单调的幸福 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Polya定理: 设G是一个p个对象的置换群,那么用k种颜色对p个对象进行染色!当一种方案在群G的作用下变为另外一种方案,那么我们这个时候就认为这两个方案是一样的。那么在这种规定下不同的染色方案为:n=(Ek^m(f))/|G|,其中m(f)是置换f的循环节。 Polya定理是基于Burnside定理和另外一个定理的,其中Burnside定理的通俗表达方法如下: 1)如果令C(f)表示在置换f的作用下,本质不变的着色方案数!那么可以证明的是“本质不同的着色方案数就是所有置换f下的C(f)的平均数”。 在Burnside的基础上,我们在介绍一个定理: 2)如果使用k种颜色给有... 阅读全文
posted @ 2014-01-23 14:28 单调的幸福 阅读(193) 评论(0) 推荐(0) 编辑
摘要: #include #include #include using namespace std;char map[15][20];int ansr,ansc,ansb,q[170][2],head,tail;char anscol;bool vis[15][20];const int move[4][2] = {{-1,0},{1,0},{0,1},{0,-1}};int area(int x,int y){ head = tail = 0; q[++tail][0] = x; q[tail][1] = y; char col = map[x][y]; int size = 0,... 阅读全文
posted @ 2014-01-23 12:09 单调的幸福 阅读(180) 评论(0) 推荐(0) 编辑
摘要: #include #include #include void loop(int *ans, char *lpNum){ char s[10], loopNum[10] = {0}; int i,x; while(scanf("%s", s) && s[0] != 'E') { if(s[0] == 'L') { int *tmp = new int[11]; memset(tmp, 0, 11*sizeof(int)); scanf("%s", loopNum); ... 阅读全文
posted @ 2014-01-23 09:02 单调的幸福 阅读(207) 评论(0) 推荐(0) 编辑