摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1384 1 #include <iostream> 2 #include <cstring> 3 #include <queue> 4 #include <cstdio> 5 using namespace std; 6 const int N = 50000+10; 7 const int INF = 1<<27; 8 int n,max_n,min_n,cnt; 9 bool vis[N];10 int dis[N];11 int root[N] 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=2063 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 const int N = 500+10; 6 int gil,boy; 7 int gil_boy[N][N]; 8 int flg[N];//在递归过程中男生N是否有女朋友 9 int bg[N];//男生N的女朋友10 //匈牙利算法11 int xfind(int g)//女生g找男朋 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1811 1 #include <iostream> 2 #include <cstring> 3 #include <vector> 4 #include <queue> 5 #include <cstdio> 6 #include <algorithm> 7 using namespace std; 8 const int N=10000+10; 9 int n,m;10 int p[N],in[N];11 int arr[N],brr 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1142dijkstra(邻接矩阵) 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 using namespace std; 5 const int INF=1<<29; 6 const int MAXN=1000+5; 7 int v[MAXN],d[MAXN]; 8 int w[MAXN][MAXN]; 9 int n,m;10 void dijkstra()11 {12 me 阅读全文
摘要:
http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1246Time Limit: 2000 MS Memory Limit: 65536 K Total Submissions: 749 (119 users) Accepted: 89 (58 users)Description请求出区间[A,B]之间的素数的个数。Input输入有多组数据。第一行为正整数T(T<10),表示输入的数据组数。第二行到第T+1行,每行2个数字A,B(0<A<=B<2^31,且B-A<2^20)表示区间的范围。Output输出T行数字,每 阅读全文
摘要:
当n大到10000时就可以有 1+1/2+1/3……1/n=INF+ln(n)+1.0/(2*n) (其中INF=0.57721566490153286060651209) 阅读全文
摘要:
#include <iostream>#define Ni 50using namespace std;int c[Ni][Ni];int big[Ni];int C(int n,int m)//c(n,m)=c(n-1,m)+c(n-1,m-1){ if(c[n][m]!=-1) return c[n][m]; if(n<m) return 0; if(n==m) return 1; c[n-1][m]=C(n-1,m); c[n-1][m-1]=C(n-1,m-1); return c[n][m]=c[n-1][m]+c[n-1][m-1];}void ... 阅读全文
摘要:
http://poj.grids.cn/practice/2749/Description给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * ... * an,并且1 < a1 <= a2 <= a3 <= ... <= an,问这样的分解的种数有多少。注意到a = a也是一种分解。Input第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a (1 < a < 32768)Outputn行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数Sample Input2220 阅读全文
摘要:
Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000 ),分别代表学生的数目和操作的数目。学生ID编号分别从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩。接下来有M行。每一行有一个字符 C (只取'Q'或'U') ,和两个正整数A,B。当C为'Q'的时候,表示这是一条询问操作,它询问ID从A到B(包括A,B)的学生当中,成绩最高的是多少。当C为'U'的时候,表示这是一条更新操 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1166Input第一行一个整数T,表示有T组数据。每组数据第一行一个正整数N(N<=50000),表示敌人有N个工兵营地,接下来有N个正整数,第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50)。接下来每行有一条命令,命令有4种形式:(1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30)(2)Sub i j ,i和j为正整数,表示第i个营地减少j个人(j不超过30);(3)Query i j ,i和j为正整数,i<=j,表示询问第i到第j 阅读全文