摘要: 这道题和上篇介绍的hdu 3450 是同一个类型的题。有点不相同的地方是这道题可以包含长度为1的序列!方法:树状数组+DPcode:View Code 1 # include<stdio.h> 2 # include<string.h> 3 # include<stdlib.h> 4 # define N 500005 5 # define mod 1000000007 6 __int64 a[N],b[N],c[N]; 7 __int64 count[N]; 8 int k; 9 int cmp(const void *a,const void *b)10 阅读全文
posted @ 2011-09-29 16:03 奋斗青春 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 题意:一个国家分为东部和西部,分别包括n个和m个城市,在城市之间建k条路,问有多少个交点。(不存在三边交与一点的情况)思路:很容易想到转化为求逆序数,可以用归并排序来求,也可以用树状数组。树状数组实现要比归并简单一点。。需要注意:k<=10^6,最后的结果要用__int64 存储归并:# include<stdio.h># include<string.h># include<stdlib.h>struct node{ int from,to,next;}edge[1000005];int head[1005],tol,num[1000005];__i 阅读全文
posted @ 2011-09-29 09:28 奋斗青春 阅读(247) 评论(0) 推荐(0) 编辑