上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 42 下一页
摘要: 1 /* 2 找规律 3 题意:abs(i%A - i%B) 对i从0~N-1求和 4 从0~N-1一个一个算必TLE,着A,B两者差相同的部分合并起来算 5 */ 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 using namespace std;15 typedef long long int64;16 //typedef __int64 int64;17 const int maxn = 105;18 const int inf = 0x7ffffff. 阅读全文
posted @ 2013-08-11 21:15 xxx0624 阅读(180) 评论(0) 推荐(0) 编辑
摘要: tarjan+缩点+树的直径题意:给出n个点和m条边的图,存在重边,问加一条边以后,剩下的桥的数量最少为多少。先tarjan缩点,再在这棵树上求直径。加的边即是连接这条直径的两端。 1 /* 2 tarjan+缩点+树的直径 3 题意:给出n个点和m条边的图,存在重边,问加一条边以后,剩下的桥的数量最少为多少。 4 先tarjan缩点,再在这棵树上求直径。加的边即是连接这条直径的两端。 5 */ 6 #pragma comment(linker, "/STACK:1024000000,1024000000") 7 #include 8 #include 9 #includ. 阅读全文
posted @ 2013-08-11 21:13 xxx0624 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 手动列出前5项可发现规律 1 /* 2 推导公式 3 a[n] = 2^(n-1) + (n-2)*2^(n-3) 4 */ 5 #include 6 #include 7 #include 8 using namespace std; 9 typedef long long int64;10 const int64 mod = 1e9+7;11 12 int64 FastPow( int64 n,int64 m ){//n^m13 int64 sum = 1;14 while( m>=1 ){15 if( m%2==1 ){16 sum... 阅读全文
posted @ 2013-08-10 16:39 xxx0624 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 bfs+求树的直径 3 关键:if k 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 using namespace std;16 typedef long long ll;17 //typedef __int64 int64;18 const int maxn = 100005;19 const int inf = 0x7fffffff;20 const double pi=acos(-1.0);21 const double eps = 1e-8;22 struc. 阅读全文
posted @ 2013-08-10 15:11 xxx0624 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 注意精度。 1 /* 2 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 using namespace std;13 typedef long long ll;14 //typedef __int64 int64;15 const int maxn = 105;16 const int inf = 0x7fffffff;17 const double pi=acos(-1.0);18 const double eps = 1e-8;19 20 int. 阅读全文
posted @ 2013-08-09 23:03 xxx0624 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 最长公共子序列。 1 /* 2 LCS 最长公共子序列 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 using namespace std;13 typedef long long ll;14 //typedef __int64 int64;15 const int maxn = 1005;16 const int inf = 0x7fffffff;17 const double pi=acos(-1.0);18 const double eps = 阅读全文
posted @ 2013-08-09 20:53 xxx0624 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 简单题。 1 /* 2 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 using namespace std;14 const int maxn = 1000005;15 int IsPrime[ maxn ],IsSpecialPrime[ maxn ];16 int GetSum( int x ){17 int ans = 0;18 while( x ){19 ans += x%10;20 ... 阅读全文
posted @ 2013-08-06 10:51 xxx0624 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 题意:n行m列的矩阵,1表示可以放东西,0表示不可以。曼哈顿距离为2的两个位置最多只能有一个位置放东西。 3 问最多放多少个东西。 4 */ 5 #include 6 #include 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 using namespace std;15 const int maxn = 105;16 const int maxm = 12;17 const int N = 170;18 int mat[ maxn ];19 int dp[ ma. 阅读全文
posted @ 2013-08-05 16:55 xxx0624 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 母函数(生成函数) 3 题意: 4 有n种资产,每种资产num份,每份有val的价值 5 问取出总价值的1/3有多少种方案 6 */ 7 #include 8 #include 9 #include10 #include11 #include12 #include13 #include14 #include15 #include16 using namespace std;17 const int maxn = 10005;18 int c1[ maxn ],c2[ maxn ];19 int val[ 105 ],num[ 105 ];20 int main(){21 ... 阅读全文
posted @ 2013-08-04 21:19 xxx0624 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 最大点权独立集=总权值-最小点权覆盖集 3 最大点权独立集=最大流 4 最小点权覆盖集=最小割 5 6 题意: 7 给你一个m*n的格子的棋盘,每个格子里面有一个非负数。 8 从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取数所在的2个格子不能相邻,并且取出的数的和最大。 9 根据奇偶建立二分图, 10 if(i+j)%2==0 源点和该点连接,权值为该点的点权, 11 if(i+j)%2==1 该点和汇点连接,权值为该点的点权, 12 之后若i+j为偶数的点和i+j为奇数的点之间相邻,那么就连一条从为偶数的点到为奇数的点的边,权值为无穷大... 阅读全文
posted @ 2013-08-04 15:52 xxx0624 阅读(220) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 42 下一页