`
xxx0624
  • 浏览: 31643 次
文章分类
社区版块
存档分类
最新评论
文章列表
简单题。 /* */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<stack> #include<set> #include<math.h> using namespace std; typedef long long int64; //typedef ...
Wa的版本。。。 /* DP dp[i][j]:前i个取某些个且cost不超过j得到的最大价值 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<stack> #include<set> #include<math.h> using namespace ...
不懂。。 sort位置不同就是不同的结果。。。 /* 字符串处理 */ #include<stdio.h> #include<string> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<stack> #include<set> #include<math.h> using n ...
题意:一个空平面,每次增加一个点, 其坐标根据上一个点算出:(x[i-1] * Ax + Bx ) mod Cx,(y[i-1] * Ay + By ) mod Cy求出现有点集中的最近点对的距离的平方,共增加n个点,求每次求得的平方的和 http://blog.csdn.net/liuledidai/article/details/9664031 /* 每次对于一个新插入的点,找出x与之最近的,然后分别向两侧搜 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #includ ...
思路是想到了一些 不过愣是没敢写。。。。。。。。。。。 /* 题意:给定一个整数n(2 <= n <= 109),满足a+b=n并且[a,b]的最小公倍数最大。 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std ...
状态压缩DP题意:每次可以去掉一个回文串,求最少几步能取完。 /* 状态压缩DP 题意:每次可以去掉一个回文串,求最少几步能取完。 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long l ...
/* 匈牙利算法 二分匹配 最小点覆盖=最大匹配。 即踢掉最小点覆盖 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ll; //typedef __int64 int64; const ...
/* 找规律 题意:abs(i%A - i%B) 对i从0~N-1求和 从0~N-1一个一个算必TLE,着A,B两者差相同的部分合并起来算 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ...
推导公式。 列出前5的数列,即可发现规律。 /* 推导公式 a[n] = 2^(n-1) + (n-2)*2^(n-3) */ #include<stdio.h> #include<math.h> #include<algorithm> using namespace std; typedef long long int64; const int64 mod = 1e9+7; int64 FastPow( int64 n,int64 m ){//n^m int64 sum = 1; while( m>=1 ){ if( m%2==1 ) ...
/* AC&Simple */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ll; //typedef __int64 int64; const int maxn = 110005 ...
BFS求树的直径。 /* bfs+求树的直径 关键:if k<=maxs+1 直接输出k-1; else: k肯定的是包括最长路。先从最长路的起点出发,再走分支,最后到达最长路的终点。 因此是2*(k-(maxs+1))+maxs; */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #incl ...
简单。 /* 简单题 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ll; //typedef __int64 int64; const int maxn = 105; const ...
最长公共子序列。 怎么map就不行!!! /* LCS 最长公共子序列 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ll; //typedef __int64 int64; ...
/* 贪心 先挑出最小的Mm,然后在Mm左侧的按情况考虑,右侧的按顺序排列。 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<math.h> using namespace std; typedef long long ll; //typedef __int64 int64; c ...
经典的状态压缩DP。 dp[i][j][k] = max( dp,dp[i-1][k][k2] );k是前一行的状态,k2是前二行的状态。 /* dp[i][j][k] = max( dp,dp[i-1][k][k2] ); k是前一行的状态,k2是前二行的状态。 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<queue> #include<sta ...
Global site tag (gtag.js) - Google Analytics