- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五届上海大学程序的设计联赛冬季赛题目分析
看个例子: 1 2 4 5 3 1 2 3 4 5 1 2 3 4 5 转化 最大匹配数:3 最小覆盖路径数=5-3=2 至此,简化的问题已经解决,那么原问题怎么解决呢? 深入的思考后,我们应该可以发现,对原问题来说,两点之间的关系是能否直接或间接地到达。 于是,图的边的关系转化为一种连通关系,即图的传递闭包。我们可以通过Floyd-Warshall算法轻松解决。于是,整个问题就得以解决了。 核心代码(1)——Floyd-Warshall求传递闭包 void prework() { for(int k=0;kN;++k) for(int i=0;iN;++i) { if(i==k) continue; for(int j=0;jN;++j) { if(j==k||j==i) continue; if(G[i][k]G[k][j]) G[i][j]=1; } } for(int i=0;iN;++i) for(int j=0;jN;++j) if(G[i][j]) map[i].push_back(j); } 核心代码(2)——匈牙利算法求二分图最大匹配 int hungary() { int ret=0; memset(matx,0xff,sizeof(matx)); memset(maty,0xff,sizeof(maty)); for(int i=0;inx;++i) { if(matx[i]0) { memset(fy,0,sizeof(fy)); ret+=path(i); } } return ret; } 这道题目有相当的现实意义,在很多图形图像处理软件中,都会出现类似的操作。 题意是这样的,每次对一个星星(多边形)进行4种变换,分别为缩放(S),以源点为圆心逆时针旋转(A),平移(L)和反向(R)。 可以看出,这道题目就是一些坐标变换,我们可以手工推一下这些坐标变换的公式即可。 当然,也可以用坐标矩阵变换。 这题应该注意题意的理解。 核心代码(1)——矩阵相乘 void leftMul(Matrix other) { Matrix mtx; REP(i,3) REP(j,3){ mtx.arr[i][j] = 0.0f; REP(k,3){ mtx.arr[i][j] += other.arr[i][k] * arr[k][j]; } } REP(i,3) REP(j,3) arr[i][j] = mtx.arr[i][j]; } void rightMul(Point pt){ Point t; t.x = arr[0][0] * pt.x + arr[0][1] * pt.y + arr[0][2]; t.y = arr[1][0] * pt.x + arr[1][1] * pt.y + arr[1][2]; pt.x=t.x; pt.y=t.y; } 核心代码(2)——矩阵相乘坐标变换 switch( tran.order[k] ){ case S:mtx.arr[0][0] = tran.s; mtx.arr[1][1] = tran.s; break; case A:mtx.arr[0][0] = cos(tran.a); mtx.arr[0][1] = -1 * sin(tran.a); mtx.arr[1][0] = sin(tran.a); mtx.arr[1][1] = cos(tran.a); break; case L:mtx.arr[0][2] = tran.x; mtx.arr[1][2] = tran.y; break; case R: switch(tran.r){ case X:mtx.arr[1][1] = -1; break; case Y:mtx.arr[0][0] = -1; break; } break; } ident.leftMul(mtx); 这题叙述较繁,主要为了做广告。其实题意很简单,做下字符串比较就可以了。 如果不明白的话就多读几遍题吧~~ 核心代码 #include iostream #includestring using namespace std; int main() { string s; int n; cinn; for(int t1=0;t1n;++t1) { cins;
您可能关注的文档
- 第九章的项目融资的方案.ppt
- 第九章的环境影响评价.ppt
- 第九组人力资源的研究方法.ppt
- 第九讲 前厅客房的设计与的环境管理.ppt
- 第九部分 目标管理的体系的设计.doc
- 第九课 罗马法的体系.ppt
- 第九章网络营销渠道的策略.ppt
- 第九讲 应对媒体的关系的指挥的策略.ppt
- 第二十届“百团大战”湖北大学社团招新的的策划.doc
- 第二十章 新药的研究和的设计DRUG DISCOVERY AND DESIGN.ppt
- 五官科护理:眼科护理概述PPT教学课件.pptx
- 海上船舶个人安全与社会责任:防止船舶污染海洋环境PPT教学课件.pptx
- 海上船舶个人安全与社会责任:船上安全作业PPT教学课件.pptx
- 妇产科护理:异常产褥期患者的护理PPT教学课件.pptx
- 妇产科护理:妇科炎症患者的护理PPT教学课件.pptx
- 海上船舶个人安全与社会责任:船员综合素质和职业素养PPT教学课件.pptx
- 妇产科护理:妇科肿瘤患者的护理PPT教学课件.pptx
- 海上船舶个人安全与社会责任:紧急情况下的应变部署PPT教学课件.pptx
- 海上船舶个人安全与社会责任:防止和控制疲劳PPT教学课件.pptx
- 海上船舶个人安全与社会责任:船舶应急反应PPT教学课件.pptx
最近下载
- 网络预约出租汽车企业安全生产责任制和事故报告制度.pptx
- SY-T 5051-2009 钻具稳定器-石油天然气行业标准.pdf VIP
- 22G101-3 混凝土结构施工图平面整体表示方法制图规则和构造详图(独立基础、条形基础、筏形基础、桩基础).docx
- 模板支架验收记录表.doc
- 标准个人租房合同模板.pdf VIP
- 2024年全国疾控系统大学习实验室质量控制规范答案.docx VIP
- 2024-2025学年初中道德与法治七年级(全一册)统编版(五四学制)(2024)教学设计合集.docx
- 小学劳动教育五年级下册第五单元2《维修凳子》教学设计.docx
- 北师大版五年级数学上册第五单元《分数的意义》(大单元教学设计).docx VIP
- 简易呼吸球囊.ppt
文档评论(0)