算法杂集
孤海浮灯
这个作者很懒,什么都没留下…
展开
-
NYOJ 17&214单调递增子序列
NYOJ 17 214 单调递增子序列题目链接: 17:Click Here原创 2014-04-17 15:51:57 · 612 阅读 · 0 评论 -
Volume 1. Elementary Problem Solving :: Maths - Number Theory Uva 575,10110,550,568,408,10061,10392
刘汝佳 算法入门 第一版 Uva题目集合(六)原创 2014-08-17 17:17:44 · 850 阅读 · 0 评论 -
Volume 1. Elementary Problem Solving :: Maths - Simple Geometry Uva 10250,579,375,10387,10112
刘汝佳 算法入门 第一版 Uva题目集合(七)原创 2014-08-17 17:48:56 · 532 阅读 · 0 评论 -
NYOJ 搜索题目汇总 NYOJ 20、21、27、42、58、82、202、284、325、353、488、491、523、592、722
NYOJ 搜索题目简单汇总原创 2014-09-25 08:31:39 · 1449 阅读 · 0 评论 -
二分图基础理论说明
对于任意图:|最小边覆盖|+|最大匹配|=|V|二分图的最大匹配=最小点覆盖数对于二分图:以下数值等价.最大匹配最小点覆盖|V|-最大独立集(二分图or有向无环图)|V|-最小边覆盖数|V|-最小路径覆盖数(有向无环图)|V|-最小路径覆盖数/2(无向图)(上面括号里有有向无环图的,均是将一个点拆成两个点连边匹原创 2014-09-25 09:08:44 · 503 阅读 · 0 评论 -
KM算法
基本原理 该算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[ i ],顶点Yj的顶标为B[ j ],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[ i ]+B[j]>=w[i,j]始终成立。 KM算法的正确性基于以下定理: 若由二分图中所有满足A[ i ]+转载 2014-09-25 09:12:01 · 576 阅读 · 0 评论 -
二分图算法模板汇总
二分图最大匹配算法模板原创 2014-09-25 09:18:59 · 721 阅读 · 0 评论 -
二分图简单模拟题 POJ 1274、1325、1469、2446
POJ 1274POJ 1325POJ 1469POJ 2446原创 2014-09-25 09:25:59 · 439 阅读 · 0 评论 -
二分图最大匹配题目汇总 POJ 1274、2239、3020、3715
二分图最大匹配题目汇总 POJ 1274、2239、3020、3715原创 2014-09-25 09:38:20 · 752 阅读 · 0 评论 -
二分图最小点覆盖 POJ 1325、2226、3041、3692、3829
POJ 1325POJ 2226POJ 3692POJ 3829原创 2014-09-25 09:49:17 · 503 阅读 · 0 评论 -
二分图最大独立集题目汇总 HDU3829,POJ1446、2771
HDU 3829#include #include #include #include using namespace std;struct people{ char ch1,ch2; int x,y;}aa[505];vector ss[505];int visted[505],flag[505],panduan[505];bool dfs(int x){原创 2014-09-25 09:53:19 · 483 阅读 · 0 评论 -
二分图最小路径覆盖 POJ 1548、1422、2594、3216
POJ 1548POJ 1422POJ 2594、3216原创 2014-09-25 09:54:44 · 417 阅读 · 0 评论 -
二分图KM算法 POJ 2195
暴力(n)KM算法原创 2014-09-25 10:00:43 · 402 阅读 · 0 评论 -
Volume 1. Elementary Problem Solving :: Maths - Misc Uva 113,10161,253,621,10025,591,107
刘汝佳 算法入门 第一版 Uva题目集合()原创 2014-08-17 12:13:21 · 669 阅读 · 0 评论 -
Volume 1. Elementary Problem Solving :: Sorting/SearchingUva 340,10420,10474,152,299,120,156,400,755
刘汝佳 算法入门 第一版 Uva题目集合(四)原创 2014-08-17 09:57:18 · 1093 阅读 · 0 评论 -
Volume 1. Elementary Problem Solving :: String Uva 401,10010,10361,537,409
刘汝佳 算法入门 第一版 Uva题目集合(二)原创 2014-08-16 11:33:00 · 651 阅读 · 0 评论 -
POJ 1160 邮局
#include #include #include using namespace std; #define MX 310int dp[32][MX],sum[MX][MX];int P[MX];int N , V; int main(){ int i , j , p ,k; scanf("%d %d", &N, &V);原创 2014-04-17 19:03:31 · 668 阅读 · 0 评论 -
NYOJ 712 探寻宝藏 &NYOJ 61 传纸条 双线程DP
#include #include #include using namespace std;template inline _T Max(_T a , _T b){ return (a<b)?(b):(a); }template inline _T Max(_T a , _T b , _T c , _T d){ return (Max(a,b) < Max(c原创 2014-04-17 19:06:06 · 645 阅读 · 0 评论 -
NYOJ 44 子串和&NYOJ 734 笨蛋难题四&NYOJ 745 蚂蚁的难题(二) &NYOJ742 子串和再续&POJ 1050 To the Max^NYOJ 104 最大和
法一:#includeint main(){ int n,m; scanf("%d",&m); while(m--) { int i,j,a[1001]; int s[1001],best; scanf("%d",&n); s[0]=0; for(i=1;i<=n;++i) scanf("%d",&a[i]);原创 2014-04-17 19:09:18 · 870 阅读 · 0 评论 -
NYOJ737石子合并&NKOJ 圆形操场
NYOJ737石子合并#include#define M 201#define INF 1000000000int n,f[M][M],sum[M][M],stone[M];int main(){ int i,j,k,t; while(~scanf("%d",&n)) { for(i=1;i<=n;i++) scanf("%d",&stone[i]); fo原创 2014-04-17 19:32:12 · 1162 阅读 · 0 评论 -
NYOJ236 心急的C小加&NYOJ 16 矩形嵌套
#include#include#includeusing namespace std;struct mb{ int len; int weight;}w[10001];bool cmp(mb x,mb y) //排序{ if(x.len<y.len) return true; //升序 if(x.len==y.len&&x.weight<y.w原创 2014-04-17 19:45:17 · 638 阅读 · 0 评论 -
NYOJ 891,287,12 , 14 ,966贪心 区间问题
NYOJ 891 找点原创 2014-04-18 23:51:46 · 623 阅读 · 0 评论 -
NYOJ 586 疯牛&NYOJ 914 Yougth的最大化 (二分+贪心)
NYOJ 586 疯牛原创 2014-04-19 00:08:17 · 825 阅读 · 0 评论 -
NYOJ 71,448,91,364,47 (贪心 +过程模拟)
NYOJ 71原创 2014-04-19 09:32:04 · 614 阅读 · 0 评论 -
qsort sort 结构体排序
qosrt头文件:原创 2014-04-19 12:00:22 · 4931 阅读 · 2 评论 -
UVA-10755 Garbage Heap 三维子矩阵最大和
#include #include #include #include #include using namespace std;typedef long long LL;const LL INF = 1LL<<60;int A, B, C;LL sumz[25][25][25]; // 平面上[1,1]到[i][j]在高度为k时的区域前缀和LL get(int x1, i转载 2014-04-26 19:53:06 · 471 阅读 · 0 评论 -
Volume 0. Getting Started Uva10055, 10071,10300,458,494,490,414,445,488,489,694,457
刘汝佳 算法入门 第一版原创 2014-08-14 13:42:22 · 889 阅读 · 0 评论 -
Volume 1. Elementary Problem Solving :: Big Number Uva 424,10106,465,748,10494
刘汝佳 算法入门 第一版 Uva题目集合(三)原创 2014-08-16 11:23:43 · 560 阅读 · 0 评论 -
NYOJ 20
NYOJ 20 #include#include#include#include#include#includeusing namespace std;int pre[100005];vectorv[100005];//存储每个结点相邻的边void DFS(int cur){ for(int i = 0; i < v[cur].size(); ++i)//边 {原创 2014-12-01 21:00:02 · 396 阅读 · 0 评论 -
NYOJ 21
NYOJ 21法一: #include#include#include#includeusing namespace std;int total;int v1, v2, v3;bool visit[105][105][105]; //状态是否出现struct state{ int a, b, c; int ceng; //最小步数 state(){ a =原创 2014-12-01 21:01:29 · 808 阅读 · 0 评论 -
NYOJ 27
NYOJ 27 #include#includeconst int N=100;using namespace std;int n,m;int mp[N][N];int dir[4][2] = {{-1,0},{0,1},{1,0},{0,-1}};void dfs(int si,int sj){ mp[si][sj] = 0; int di,i,j; for(di=0原创 2014-12-01 21:02:12 · 418 阅读 · 0 评论 -
NYOJ 74、77、94、100
NYOJ 74#include int main() { int m,n,i,t,g,h,w; while(scanf("%d%d",&m,&n)&&m!=0&&n!=0) { for(i=0,g=0,t=0;i<3;i++) { h=m%10; w=n%10; m=m/10; n=n/10;原创 2014-12-02 08:59:46 · 394 阅读 · 0 评论 -
NYOJ 102、111
NYOJ 102 #include #include int main() { int n; double x1,y1,x2,y2,dis; scanf("%d",&n); while(n--) { scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2); dis=sqrt(原创 2014-12-02 09:02:33 · 364 阅读 · 0 评论 -
NYOJ 122、124、125
NYOJ 122#includeint main(){ int m,n,k,i; int T[400],sum[400]; scanf("%d",&m); T[0]=0; for(i=1;i<=303;i++) T[i]=T[i-1]+i; sum[0]=0; for(i=1;i<=300;i++) sum[i原创 2014-12-02 09:05:42 · 421 阅读 · 0 评论 -
NYOJ 168 、198、199
NYOJ 168#include#include int main() { int day,day_begin,room,n,max,i,j,t; int d[210]; scanf("%d",&t); while(t--) { scanf("%d",&n);//订单数 memset(d,0,sizeof(d));//未入住前,各天所需房间 for原创 2014-12-02 09:08:04 · 572 阅读 · 0 评论 -
NYOJ 204、206
NYOJ 204#includeint u,d;int gcd(int a,int b){ if(a==0) return b; else return gcd(b%a,a);}int main(){ int n,i,g; char c; scanf("%d%*c",&n); for(i=0;i!=n;i++) { c=getchar(); if(c=='S'原创 2014-12-02 09:09:16 · 628 阅读 · 0 评论 -
NYOJ 241、243、255
NYOJ 241#include#include using namespace std; int main() { int n; char b[1020]; int a[28],m,max,i,j; cin>>n; while(n--) { memset(a,0,sizeof(a)); c原创 2014-12-02 09:13:25 · 568 阅读 · 0 评论 -
NYOJ 260、263、264
NYOJ 260#include int main() { int n,i,m,a,sum[1001]; scanf("%d",&n); sum[0]=0; for(i=1;i<=1000;i++) { a=(1+i)*i/2; sum[i]=a+sum[i-1]; } while(n原创 2014-12-02 09:16:42 · 664 阅读 · 0 评论 -
NYOJ 399、458、477
NYOJ 399#include int main() { int n,b; while(scanf("%d %d",&n,&b)!=EOF) { //printf("%d\n",n/b); int i,t=0; for(i=b;i<=n;i+=b) t++; printf("%d\n",t);原创 2014-12-02 09:20:25 · 632 阅读 · 0 评论 -
NYOJ 275、276
NYOJ 275#include int main() { long ni; int a[1000],i,k; while(scanf("%ld",&ni)!=EOF) { for(i=0;i<1000;i++) { a[i]=ni%2; ni/=2;原创 2014-12-02 09:17:53 · 457 阅读 · 0 评论