版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、32/32代码仓库目录:01.数学方法矩阵快速幂02.数学方法高斯消元(nave版)03.数学方法高斯消元(mid版)04.字符串啊Manacher算法(回文串)05.字符串啊KMP(字符串匹配)06.数据结构线段树(ZKW单点修改)07.数据结构线段树(RMQ)08.数据结构线段树(区间加+赋值)09.数据结构Splay树(未完全测试)/!10.数据结构AVL树(平衡树)11.图论图论最小生成树(prim)12.图论图论次小生成树13.图论图论最大流(Dinic)14.图论图论LCA+最大生成树(truck)15.动态规划背包01,多重,完全矩阵模板#include #include#inc
2、ludeusingnamespace std;typedeflonglong ll;constint P =9973;constint N=13;ll n,m;struct matrix ll aNN;int row,col; matrix():row(N),col(N)memset(a,0,sizeof(a);/? matrix(int x,int y):row(x),col(y)memset(a,0,sizeof(a); ll*operator(int x)return ax; matrix operator*(matrix x) matrix tmp ;for(int i=0;i=n+1
3、;i+)for(int j=0;j=n+1;j+) tmpij=0;for(int k=0;k=n+1;k+) tmpij=(tmpij+aik*xkj)%P;return tmp;voidoperator*=(matrix x)*this=*this* x; matrix operator(ll x) matrix ret;for(int i=0;i=1,tmp*=tmp)if(x&1)ret *=tmp;return ret;void print()for(int i=0;i=n+1;i+)for(int j=0;j=n+1;j+) printf(%d ,aij); puts();高斯消元
4、,判断有无解的#include#include#include#include#includeusingnamespace std;typedeflonglong LL;constdouble EPS=1e-6;constint N=55;struct matrixint aNN;int row,col; matrix():row(N),col(N)memset(a,0,sizeof(a); matrix(int x,int y):row(x),col(y) memset(a,0,sizeof(a);int*operator(int x)return ax;void print()for(in
5、t i=0;irow;i+)for(int j=0;jcol;j+) printf(%d ,aij); puts(); puts();int Gauss(matrix a,int m,int n)int x_cnt =0;int col, k;/col为列号,k为行号for(k=0,col=0;km&coln;+k,+col)int r = k;/r为第col列的一个1for(int i=k;im;+i)if(aicol)r=i;if(!arcol) k-;continue;if(r!=k)for(int i=col;i=n;+i) swap( ari, aki);for(int i=k+1;
6、im;+i)if(aicol)/消元for(int j=col;j=n;+j)aij=akj;for(int i=k;im;+i)if(ain)return-1;if(k=n)return n-k;/返回自由元个数高斯消元,求出一组解的#include #include #include #include #include usingnamespace std;constint N =1010;constdouble EPS=1e-7;int m,n;double aNN,xN;int Gauss(int m,int n)int col=0, k=0;/col为列号,k为行号for(;km&c
7、oln;+k,+col)int r = k;for(int i=k+1;ifabs(arcol)r=i;if(fabs(arcol)EPS)k-;continue;/列全为0if(r!=k)for(int i=col;i=n;+i) swap(aki,ari);for(int i=k+1;iEPS)double t = aicol/akcol;for(int j=col;j=n;j+)aij-=akj*t; aicol=0;for(int i=k ;iEPS)return-1;if(k =0; i-)/回带求解double temp = ain;for(int j=i+1; jn;+j) te
8、mp -= xj* aij; xi=(temp / aii);return0;Manacher算法#include#include#include#include#includeusingnamespace std;constint N=233333;/20W/在o(n)时间算出以每个点为中心的最大回文串长度int Manacher(string st)int len=st.size();int*p=newintlen+1; memset(p,0,sizeof(p);int mx=0,id=0;for(int i=1;ii)pi=min(p2*id-i,mx-i);else pi=1;whil
9、e(sti+pi=sti-pi)pi+;if(i+pimx)mx=i+pi;id=i;int ma=0;for(int i=1;ilen;i+)ma=max(ma,pi);delete(p);return ma-1;int main()/freopen(fuck.in,r,stdin);char stN;while(scanf(%s,st) string st0=$#;for(int i=0;sti!=0;i+) st0+=sti; st0+=#; printf(%dn,Manacher(st0);return0;KMP 字符串匹配#include#includeusingnamespace
10、std;typedeflonglong ll;constint N=100007;constint P=1000000007;char aN,bN;bool matN;int nextN;ll fN;void getNext(int m)int i=0,j=-1; next0=-1;while(im)if(j=-1|bi=bj)if(b+i!=b+j)nexti=j;else nexti=nextj;else j=nextj;void KMP(int n,int m) memset(mat,0,sizeof(mat);int i=0,j=0; getNext(m);while(in&jm)if
11、(j=-1|ai=bj)i+,j+;else j=nextj;if(!i&!j)break;if(j=m) mati=1;/printf(mat%dgetn,i); j=nextj;线段树(ZKW大法)#include#include#include#includeusingnamespace std;constint INF=0 x3f3f3f3f;constint N=3000100;struct linetree#define lc (t1)#define rc (t11)int miN,M;inlinevoid build(int n) M=1;while(Mn)M=1; M-; me
12、mset(mi,INF,sizeof(mi);for(int i=1+M;i=1;t-)mit=min(milc,mirc);void change(int t,int x)for(mit+=M=x,t=1;t;t=1) mit=min(milc,mirc);int query(int l,int r)int ans = INF;for(l+=M-1,r+=M+1;lr1;l=1,r=1)if(l&1)ans=min(ans,mil1);if( r&1)ans=min(ans,mir1);return ans;T;int main()int n,q,ord,x,y;for(;scanf(%d,
13、&n);) T.build(n);for(scanf(%d,&q);q-;) scanf(%d%d%d,&ord,&x,&y);if(ord)T.change(x,y);else printf(%dn,T.query(x,y);return0;线段树(RMQ)#include#include#include#includeusingnamespace std;constint INF=0 x3f3f3f3f;constint N=600100;int n,ans,m,aN;struct node int l,r,id; node () node(int x,int y,int z)l=x;r=
14、y;id=z;bN,cN;inlinebool cmp1(node a,node b)return a.lb.l;inlinebool cmp2(node a,node b)return a.rb.r;struct linetree#define lc (t1)#define rc (t1)int lN,rN,maN,miN,M,taN,tiN;inlinevoid build(int n) M=1;while(Mn)M=1; M-; memset(ma,0,sizeof(ma); memset(mi,INF,sizeof(mi); memset(ta,0,sizeof(ta); memset
15、(ti,INF,sizeof(ti);for(int i=1+M;i=1;t-)lt=llc,rt=rrc;inlinevoid down(int t)if(tM)return;/leaf node malc=max(malc,tat); marc=max(marc,tat); talc=max(talc,tat); tarc=max(tarc,tat); tat=0; milc=min(milc,tit); mirc=min(mirc,tit); tilc=min(tilc,tit); tirc=min(tirc,tit); tit= INF;inlinevoid maintain(int
16、t) mat=max(malc,marc); mit=min(milc,mirc);inlinevoid tag(int t,int x) mat=max(mat,x); mit=min(mit,x); tat=max(tat,x); tit=min(tit,x);void change(int t,int L,int R,int x)if(L=lt&rt=R)tag(t,x);return;/in down(t);if(L=mid)change(lc,L,R,x);if(midM)/leaf node bt-M=ct-M=node(mit,mat,t-M);return; down(t);
17、query(lc); query(rc); maintain(t);T;线段树(区间加+赋值)#include#include#include#includeusingnamespace std;constint N =260000;int n,m;struct linetree#define lc (t1)#define rc (t1)int lN,rN,M,tagN,sumN,lenN,SetN;inlinevoid build(int n) M=1;while(Mn)M=1; M-;/get M memset(sum,0,sizeof(sum); memset(tag,0,sizeof(
18、tag); memset(Set,0,sizeof(Set);for(int i=1+M;i=M*2+1;i+)/leafif(i=1;t-)/fathers sumt=sumlc+sumrc; lt=llc, rt=rrc; lent=lenlc+lenrc;inlinevoid down(int t)if(tM)Sett=tagt=0;return;/leaf nodeif(Sett) sumlc=Sett*lenlc; sumrc=Sett*lenrc; Setlc=Sett; Setrc=Sett; Sett=0; taglc=tagrc=0;if(tagt) sumlc+=tagt*
19、lenlc; sumrc+=tagt*lenrc; taglc+=tagt; tagrc+=tagt; tagt=0;inlinevoid _tag(int t,int x) sumt+=x*lent; tagt+=x;inlinevoid _set(int t,int x) sumt=x*lent; Sett=x; tagt=0;void change(int t,int L,int R,int x)if(L=lt&rt=R)_tag(t,x);return; down(t);if(L=mid)change(lc,L,R,x);if(mid R)change(rc,L,R,x); sumt=
20、sumlc+sumrc;void set(int t,int L,int R,int x)if(L=lt&rt=R)_set(t,x);return;/in down(t);if(L=mid)set(lc,L,R,x);if(mid R)set(rc,L,R,x); sumt=sumlc+sumrc;int query(int t,int L,int R)if(L=lt&rt=R)return sumt; down(t);int ans =0;if(L=mid)ans+=query(lc,L,R);if(mid R)ans+=query(rc,L,R);return ans;T;Splay-T
21、ree#include#includeusingnamespace std;struct Nodeint key;/size Node *l,*r,*f;/left,right,father;class SplayTreepublic:void Init()rt=NULL;void Zag(Node *x)/left rotate Node *y=x-f;/y is the father of x y-r = x-l;if(x-l)x-l-f = y;/if x has left child x-f =y-f;if(y-f)/y is not rootif(y=y-f-l)y-f-l=x;/y
22、 if left childelse y-f-r=x;/y is right child y-f=x;x-l=y;void Zig(Node *x)/right rotate Node *y=x-f;/y is the father of x y-l = x-r;if(x-r)x-r-f=y; x-f = y-f;if(y-f)if(y=y-f-l)y-f-l=x;else y-f-r=x; y-f=x; x-r=y;void Splay(Node *x)while(x-f) Node *p=x-f;if(!p-f)if(x=p-l)Zig(x);else Zag(x);elseif(x=p-
23、l)if(p=p-f-l)Zig(p);Zig(x);elseZig(x);Zag(x);else/x=p-rif(p=p-f-r)Zag(p);Zag(x);elseZag(x);Zig(x); rt=x; Node *Find(int x) Node *T=rt;while(T)if(T-key=x)Splay(T);return T;elseif(xkey)T=T-l;else T=T-r;return T;void Insert(int x) Node *T=rt,*fa=NULL;while(T) fa=T;if(xkey)T=T-l;elseif(xT-key)T=T-r;else
24、return;/two the same keys T=(Node*)malloc(sizeof(Node); T-key=x; T-l=T-r=NULL; T-f=fa;if(fa)if(fa-keyx)fa-l=T;else fa-r=T; Splay(T);void Delete(int x) Node *T=Find(x);if(NULL=T)return;/error rt=Join(T-l,T-r); Node *Maxnum(Node *t) Node *T=t;while(T-r)T=T-r; Splay(T);return T; Node *Minnum(Node *t) N
25、ode *T=t;while(T-l)T=T-l; Splay(T);return T; Node *Last(int x) Node *T=Find(x); T=T-l;return(Maxnum(T); Node *Next(int x) Node *T=Find(x); T=T-r;return(Minnum(T); Node *Join(Node *t1,Node *t2)if(NULL=t1)return t2;if(NULL=t2)return t1; Node *T=Maxnum(t1); T-l=t2;return T;void Split(int x,Node *&t1,No
26、de *&t2) Node *T=Find(x); t1=T-l;t2=T-r;void Inorder(Node *T)if(NULL=T)return; Inorder(T-l); printf(%d-,T-key); Inorder(T-r);void _Delete()Delete(rt);void Delete(Node *T)if(NULL=T)return; Delete(T-l); Delete(T-r); free(T);private: Node *rt;/root;AVL树/codevs1285 莯/by cww97#include#include#include#def
27、ine INF 0 xfffffff#define BASE 1000000usingnamespace std;int ans=0;struct Nodeint x,bf,h;/bf=balance factor,h=height Node *l,*r;class AVLTreepublic:void Init() rt =NULL;int H(Node *T)return(T=NULL)?0:T-h;int BF(Node *l,Node *r)/get balance factorif(NULL=l &NULL=r)return0;elseif(NULL= l)return-r-h;el
28、seif(NULL= r)return l-h;return l-h - r-h; Node *Lrorate(Node *a)/left rorate Node *b; b=a-r; a-r=b-l; b-l=a; a-h=max(H(a-l),H(a-r)+1; b-h=max(H(b-l),H(b-r)+1; a-bf=BF(a-l,a-r); b-bf=BF(b-l,b-r);return b; Node *Rrorate(Node *a)/right rorate Node *b; b=a-l; a-l=b-r; b-r=a; a-h=max(H(a-l),H(a-r)+1; b-h
29、=max(H(b-l),H(b-r)+1; a-bf=BF(a-l,a-r); b-bf=BF(b-l,b-r);return b; Node *LRrorate(Node *a)/left then right a-l = Lrorate(a-l); Node *c; c=Rrorate(a);return c; Node *RLrorate(Node *a)/right then left a-r=Rrorate(a-r); Node *c; c=Lrorate(a);return c;void Insert(int x)_Insert(rt,x);void _Insert (Node *
30、&T,int x)if(NULL=T) T=(Node*)malloc(sizeof(Node); T-x=x; T-bf=0;T-h=1; T-l=T-r=NULL;return;if(x x) _Insert(T-l,x);elseif(x T-x) _Insert(T-r,x);elsereturn;/error :the same y T-h=max(H(T-l),H(T-r)+1;/maintain T-bf=BF(T-l,T-r);if(T-bf 1| T-bf bf 0& T-l-bf 0)T=Rrorate(T);elseif(T-bf r-bf bf 0& T-l-bf bf
31、 r-bf 0)T=RLrorate(T);void GetPet(int x)/get pet or personif(NULL=rt)return;int small=0,large=INF;/printf(x=%dn,x);int flag;if(Find(rt,x,small,large) printf(find %dn,x); _Delete(rt,x);elseif(small=0)flag=1;elseif(large=INF)flag=0;elseif(large-xx)return1;if(xx) large=min(large,T-x);return Find(T-l,x,
32、small,large);else small=max(small,T-x);return Find(T-r,x,small,large);void _Delete(Node *&T,int x)if(NULL=T)return;if(x x)/y at left _Delete(T-l,x); T-bf=BF(T-l,T-r);if(T-bfr-bf)T=RLrorate(T);else T=Lrorate(T);/bf=0 or -1elseif(x T-x)/y at right _Delete(T-r,x); T-bf=BF(T-l,T-r);if(T-bf1)if(-1=T-l-bf
33、)T=LRrorate(T);else T=Rrorate(T);/bf=0 or 1else/here is xif(T-l&T-r)/left &right Node *t=T-l;while(t-r)t=t-r; T-x=t-x; _Delete(T-l,t-x); T-bf=BF(T-l,T-r);if(T-bfr-bf)T=RLrorate(T);else T=Lrorate(T);/bf=0 or -1else/left | right Node *t=T;if(T-l)T=T-l;elseif(T-r)T=T-r;elsefree(T);T=NULL;if(T)free(t);/
34、Debug,you will not need it at this problemvoid show()InOrder(rt);puts(EndShow);void InOrder(Node *T)/print l rt rif(NULL=T)return; InOrder(T-l); printf(%d ,T-x); InOrder(T-r);void Free()FreeTree(rt);void FreeTree(Node *T)if(NULL=T)return; FreeTree(T-l); FreeTree(T-r); free(T);private: Node *rt;/root
35、;int main() freopen(fuck.in,r,stdin);int n,x,op,a=0,b=0; scanf(%d,&n); AVLTree T; T.Init();for(;n-;) scanf(%d%d,&op,&x);/if petspeople put pets into the tree/else put people into the treeif(op=0)/come a pet a+;if(ab)T.Insert(x);/more petelse T.GetPet(x);/more peopleelse/come a person b+;if(ab)T.Inse
36、rt(x);/more peopleelse T.GetPet(x);/more pet printf(%dn,ans%BASE); T.Free();return0;最小生成树(prim),hdu1102#include#include#includeusingnamespace std;constint N=107;int n,gNN;int prim()int minwN;/MinWeightbool usedN; memset(used,0,sizeof(used); memset(minw,0 x7f,sizeof(minw); minw1=0;int sum=0;while(1)i
37、nt v=-1;for(int i=1;i=n;i+)if(!usedi&(v=-1|minwiminwv)v=i;if(v=-1)break; usedv=1; sum+=minwv;for(int i=0;i=n;i+) minwi=min(minwi,gvi);return sum;int main()for(;scanf(%d,&n)=1;)for(int i=1;i=n;i+)for(int j=1;j=n;j+)scanf(%d,&gij);int x,y,q; scanf(%d,&q);for(;q-;) scanf(%d%d,&x,&y); gxy=gyx=0; printf(
38、%dn,prim();return0;次小生成树hdu4081/hdu4081 次小生成树#include#include#include#includeusingnamespace std;constint N=1007;int n;double gNN,maxwNN;bool usedNN;struct Cityint x,y,w;/w=population City():x(0),y(0),w(0) City(int _x,int _y,int _w):x(_x),y(_y),w(_w)citysN;double dist(City a,City b)return sqrt(a.x-b.
39、x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);double prim()int fromN;bool visN;double minwN;for(int i=1;i=n;i+) minwi=g1i; fromi=1; memset(used,0,sizeof(used); memset(maxw,0,sizeof(maxw); memset(vis,0,sizeof(vis); vis1=1; minw1=0;double sum=0;while(1)int v=-1;for(int i=1;i=n;i+)if(!visi)if(v=-1|minwiminwv)v=i;if
40、(v=-1)break; usedvfromv=usedfromvv=1; visv=1; sum+=minwv;for(int i=1;i=n;i+)if(!visi&gviminwi) minwi=gvi; fromi=v;if(visi&i!=v) maxwiv=maxwvi=max(maxwifromv,minwv);return sum;int main()/freopen(fuck.in,r,stdin);int T;scanf(%d,&T);for(;T-;) scanf(%d,&n);int x,y,z;for(int i=1;i=n;i+) scanf(%d%d%d,&x,&
41、y,&z); citysi=City(x,y,z);for(int i=1;i=n;i+)for(int j=1;j=n;j+) gij=dist(citysi,citysj);double sum=prim(),ans=-1;for(int i=1;i=n;i+)for(int j=i+1;j=n;j+)if(usedij)ans=max(ans,(citysi.w+citysj.w)/(sum-gij);else ans=max(ans,(citysi.w+citysj.w)/(sum-maxwij); printf(%.2lfn,ans);return0;最大流(Dinic)#inclu
42、de#include#include#include#include#includeusingnamespace std;typedeflonglong LL;constint INF=0 x3f3f3f3f;constint N =231;int n,m,aN,bN,ansNN;struct graghstruct Edgeint from,to,cap,flow; Edge(int u,int v,int c,int f):from(u),to(v),cap(c),flow(f);int s,t;/0=s,1nn+1n+mPn+m+1=t vectoredges; vectorGN;/gr
43、aghbool visN;/use when bfsint dN,curN;/dist,now edge,use in dfsinlinevoid AddEdge(int from,int to,int cap) edges.push_back(Edge(from,to,cap,0); edges.push_back(Edge(to,from,0,0);int top=edges.size(); Gfrom.push_back(top-2); G to .push_back(top-1);inlinebool BFS() memset(vis,0,sizeof(vis); queueQ; Q.
44、push(s);ds=0;viss=1;while(!Q.empty()int x=Q.front();Q.pop();for(int i=0;iGx.size();i+) Edge &e=edgesGxi;if(vise.to|e.cap=e.flow)continue; vise.to=1; de.to=dx+1; Q.push(e.to);return vist;inlineint DFS(constint& x,int a)/printf(dfs:%d,%dn,x,a);if(x=t|a=0)return a;int flow =0, f;for(int& i=curx;iGx.siz
45、e();i+) Edge& e=edgesGxi;if(dx+1!=de.to)continue;if(f=DFS(e.to,min(a,e.cap-e.flow)=0)continue; e.flow += f; edgesGxi1.flow-=f;/ flow+=f; a-=f;if(a=0)break;return flow;inlineint maxflow()return Maxflow(s,t);inlineint Maxflow(constint& s,constint& t)int flow=0; memset(ans,0,sizeof(ans);while(BFS() mem
46、set(cur,0,sizeof(cur);int f = DFS(s,INF); flow += f ;for(int i=0;iedges.size();i+) Edge e=edgesi; anse.frome.to-n+=e.flow;return flow;inlinevoid Init() s =0, t = n+m+1; edges.clear();for(int i=0;i=m+n+1;i+) Gi.clear();for(int i=1;i=n;i+) AddEdge( s ,i,ai);for(int i=1;i=m;i+) AddEdge(i+n,t,bi);for(in
47、t i=1;i=n;i+)for(int j=1;j=m;j+)AddEdge(i,j+n,19);g;Truck最大生成树+LCA#include#include#include#include#includeusingnamespace std;constint INF=0 x3f3f3f3f;constint N =1e5+5;int n,m;struct graghstruct Edgeint from,to,w; Edge() Edge(int x,int y,int z):from(x),to(y),w(z)booloperator(const Edge& a)constretur
48、n w a.w;edgesN,beN;int E,fN,faN20,diN20,depN;bool visN; vectorGN;int F(int x)/鼯return fx=x?x:(fx=F(fx);inlinevoid link(int x,int y,int z) edges+E=Edge(x,y,z); Gx.push_back(E);void build() E=0;for(int i=1;i=n;i+)Gi.clear();int x,y,z;for(int i=1;i=n;i+)fi=i;for(int i=1;i=m;i+) scanf(%d%d%d,&x,&y,&z);
49、bei=Edge(x,y,z); fF(x)=F(y);void kruskal()int treenum =0;/forests memset(vis,0,sizeof(vis);for(int i=1;i=n;i+)if(!visF(i) treenum+;visF(i)=1;for(int i=1;i=1;i-)int x = bei.from;int y = bei.to ;if(F(x)=F(y)continue; fF(x)=F(y); t+; link(x,y,bei.w); link(y,x,bei.w);if(cnt=n-treenum)break;void dfs(int
50、x) visx=1;for(int i=1;i=17;i+)if(depx(1i)break; faxi=fafaxi-1i-1; dixi=min(dixi-1,difaxi-1i-1);for(int i=0;iGx.size();i+) Edge e = edgesGxi;if(vise.to)continue; fae.to0= x; die.to0= e.w; depe.to= depx+1; dfs(e.to);int lca(int x,int y)if(depxdepy)swap(x,y);int t = depx- depy;for(int i=0;i=17;i+)if(1=
51、0;i-)if(faxi!=fayi) x=faxi;y=fayi;if(x=y)return x;return fax0;int ask(int x,int f)/f:fatherint ans = INF;int t = depx-depf;for(int i=0;i=17;i+)if(t&(1i) ans=min(ans,dixi); x = faxi;return ans;void work() build(); kruskal(); memset(vis,0,sizeof(vis);for(int i=1;i=n;i+)if(!visi)dfs(i);int q,x,y; scanf
52、(%d,&q);while(q-) scanf(%d%d,&x,&y);if(F(x)!=F(y)puts(-1);elseint t = lca(x,y); x = ask(x,t); y = ask(y,t); printf(%dn,min(x,y);g;int main()/freopen(truck.in,r,stdin);/freopen(truck.out,w,stdout);for(;scanf(%d%d,&n,&m);)g.work();return0;背包#include #include #include usingnamespace std;constint N =100
53、007;struct node int v,w,n; node() node(int x,int y,int z) v=x,w=y,n=z;aN;int fN;int main()/freopen(fuck.in,r,stdin);int cash,n,x,y;for(;scanf(%d%d,&cash,&n);)int A =0;for(int i=1;i=n;i+) scanf(%d%d,&x,&y);for(int t=0;(1t)x;t+)int tt=1t; a+A=node(y*tt,y*tt,1); x -= tt;if(x)a+A=node(y*x,y*x,1); memset
54、(f,0,sizeof(f);/01背包for(int i=1;i=ai.v;j-) fj=max(fj,fj-ai.v+ai.w);int ans =0;/getansfor(int i=0;i=v;-i) fi=max(fi,fi-v+w);return;if(n*v=V-v+1)/多重背包(n = V / v)for(int i=v;i=V;+i) fi=max(fi,fi-v+w);return;for(int j =0; j v ;+j )int*pb = va,*pe = va -1;int*qb = vb,*qe = vb -1;for(int k=j,i=0;k=qb&*qett)-qe;*+qe = tt; fk=*qb + i * w;/主程序调用 memset(f,0,sizeof(f);/packfor(int i=1;i=n;i+) pack(cash,ai.v,ai.w,ai.n);int ans =0;/getAnsf
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 执业药师备考攻略
- 持续性姿势知觉性头晕(PPPD)
- DB32-T 5350-2026 化工行业被动防火措施安全检查规范
- 2026年会计实务财务报表税法题集
- 2026年电工技能等级考试电路设计与维护标准试题
- 2026年经济学理论与经济形势分析试题
- 2026年古代汉语学习与实践题库提升语文基础素养
- 2026年英语听力进阶中高级英语水平听力练习题
- 2026年游戏公司游戏设计笔试题目
- 2026年市场营销策略专业知识测试题
- 电竞酒店前台收银员培训
- 桩基旋挖钻施工方案
- 《矿山压力与岩层控制》教案
- 焊工焊接协议书(2篇)
- 苏教版六年级数学上册全套试卷
- 2019-2020学年贵州省贵阳市八年级下学期期末考试物理试卷及答案解析
- 培训机构转课协议
- 创客教室建设方案
- (完整版)南京市房屋租赁合同
- 办公场地选址方案
- 内蒙古卫生健康委员会综合保障中心公开招聘8人模拟预测(共1000题)笔试备考题库及答案解析
评论
0/150
提交评论