DHU复试 Day16 📅 发布时间:2026/7/13 18:42:28 👁️ 浏览次数: DHU复试 Day16文章目录DHU复试 Day16Day16一、基础题库T71 发牌T72 数学金子塔----动态规划T75 魔方阵T56 最少拦截系统---T45 回文数T41 环---对环的操作等效于循环左移操作T38 树-------unorderd_setDay16今天学习的内容一、基础题库T71 发牌#includebits/stdc.husingnamespacestd;intmain(){intn;vectorvectorinta(4,vectorint(13,0));//发牌for(inti0;i4;i){for(intj0;j13;j){a[i][j](i4*j)%13;}}while(cinn){for(intj0;j13;j){intin-1;intsumi4*j;if(j0)cout ;if(sum/130)coutc a[i][j];if(sum/131)coutd a[i][j];if(sum/132)couth a[i][j];if(sum/133)couts a[i][j];}coutendl;}return0;}T72 数学金子塔----动态规划#includebits/stdc.husingnamespacestd;intmain(){intn;cinn;vectorvectorinta(n,vectorint(n,0));for(inti0;in;i){for(intj0;ji1;j)cina[i][j];}//用动态规划的思想进行求解vectorvectorintdpa;//注意边界直接从倒数第二行出发因为倒数第一行无正下方或右下方//自下而上for(intin-2;i0;i--){for(intj0;ji1;j){//每一层的数据等于自身两种选择的最大值dp[i][j]max(dp[i1][j],dp[i1][j1]);}}//顶部就是最大值coutdp[0][0]endl;return0;}总结对于动态规划问题一般是要选择最优解或者是最大解。那么就要涉及到选择问题每一步都要选择符合题设要求直至到最后。对于这道题而言可以从上往下dp也可以从下往上dp。但是从下往上涉及的边界条件比较少容易理解。可以想象成金子塔倒着则每次每行都要寻找到最大值一直到最顶层。T75 魔方阵#includebits/stdc.husingnamespacestd;intmain(){intn;while(cinn){vectorvectorinta(n1,vectorint(n1,0));//放1a[1][(n1)/2]1;inti1,j(n1)/2;intcnt2;while(cntn*n){//规则2intnew_ii-1;intnew_jj1;//规则3 如果i为1 则newi为0if(new_i0)new_in;//规则4 如果j为n则newi为n1if(new_jn1)new_j1;//规则5 由于上面已经判断了第一行 第n列if(a[new_i][new_j]0){inew_i;jnew_j;}else{i;}a[i][j]cnt;cnt;}for(inti1;in;i){for(intj1;jn;j){if(j1)cout ;couta[i][j];}coutendl;}coutendl;}return0;}总结按照题目的要求来写条件ij表示的是原来的节点而new_i、new_j是新的节点从2开始新节点都要按照规则2的要求处理只是有一些特殊的点需要按照规则3、4处理规则5其实只有新节点已存在的时候因为后续的一个条件包括了规则3、4. 等把所有规则都过一遍后在更新i 、j。同时更新数组的值。T56 最少拦截系统—#includebits/stdc.husingnamespacestd;intmain(){intt;cint;while(t--){intn;cinn;vectorinta(n,0);for(inti0;in;i)cina[i];vectorvectorintd(n1,vectorint());//存放导弹系统 声明有多少行每行为空intcnt1;d[1].push_back(a[0]);for(inti1;in;i){inttempa[i];//遍历系统boolflagfalse;for(intk1;kcnt;k){//如果小于第k套系统的末尾就写入该系统if(tempd[k].back()){d[k].push_back(temp);flagtrue;break;}}//如果所有的系统都没有找到合适的就重新开一个系统并写入if(!flag){cnt;d[cnt].push_back(temp);}}coutcntendl;}return0;}T45 回文数#includebits/stdc.husingnamespacestd;//求逆序数intNixu(intn){intnum0;while(n!0){numnum*10n%10;n/10;}returnnum;}//判断是不是回文数boolIshuiwen(intn){intaNixu(n);returnan;}intmain(){intn;while(cinn){if(n0)break;intan,bNixu(a);while(1){intsumab;coutabsumendl;//如果和是回文数则退出if(Ishuiwen(sum))break;asum;bNixu(a);}}return0;}T41 环—对环的操作等效于循环左移操作#includebits/stdc.husingnamespacestd;//循环左移位voidremove(vectorinta){inttempa[0];for(inti0;ia.size()-1;i){a[i]a[i1];}a[a.size()-1]temp;}intmain(){intn;cinn;vectorinta(9);while(n--){intcnt0;//记录有多少种方法for(inti0;i9;i)cina[i];//开始剪for(intj0;j9;j){vectorinttempa;//暂时代替a数组for(intk0;kj;k)remove(temp);//顺时针形成的数intnum10;for(inti0;i9;i){num1num1*10temp[i];}//逆时针形成的数intnum20;for(inti8;i0;i--){num2num2*10temp[i];}if(abs(num1-num2)%3960)cnt;}coutcntendl;}return0;}T38 树-------unorderd_set#includebits/stdc.husingnamespacestd;intmain(){intl,m;while(cinlm){inttotall1;//总共的树vectorintremoves;//储存需要移出的树for(inti0;im;i){intstart,end;cinstartend;//将要移出的区域输入到数组中for(intxstart;xend;x){//标记看x是否已经存在数组中boolflagfalse;for(inti0;iremoves.size();i){if(xremoves[i]){flagtrue;break;}}if(!flag)removes.push_back(x);}}couttotal-removes.size()endl;}return0;}//时间复杂度比较高容易超时//unordered_set 的插入时间复杂度能达到o1#includebits/stdc.husingnamespacestd;intmain(){intl,m;while(cinlm){inttotall1;//总共的树unordered_setintremoves;//储存需要移出的树for(inti0;im;i){intstart,end;cinstartend;//将要移出的区域输入到数组中for(intxstart;xend;x){removes.insert(x);}}couttotal-removes.size()endl;}return0;}
麻雀搜索算法(SSA)复现:探索 DEH_SSA 的奇妙之旅 麻雀搜索算法(SSA)复现:《融合差分进化和混合多策略的麻雀搜索算法_朱鹏》策略为:反向学习初始化种群非线性因子改进发现者策略改进警觉性策略融合差分算法精英扰动策略——DEH_SSA复现内容包括:改进SSA算法实现、23个基准测试函数、相关参数分析、与SSA… 2026/7/12 9:27:39
小白程序员轻松入门:用LangChain.js打造你的第一个大模型智能助手(收藏必备) 本文介绍了如何使用LangChain.js框架构建Tool-Calling Agent,一种能够自主判断是否使用工具、选择哪个工具以及如何使用的AI智能体。文章从Agent与普通LLM调用的区别讲起,详细阐述了Agent的工作原理和ReAct模式。推荐LangChain.js因其TypeScript原生支持… 2026/7/12 22:38:32
闭眼入!8个降AIGC平台测评:专科生降AI率必备指南 在如今的学术写作中,AI生成内容(AIGC)已经成为许多学生不可避免的工具,但随之而来的高AIGC率和查重率问题也让不少专科生感到困扰。如何在保持原意的基础上有效降低AI痕迹,同时避免重复率过高?这不仅是对写… 2026/7/12 19:44:25
OpenCAMLib完整指南:3步掌握开源数控加工算法库 OpenCAMLib完整指南:3步掌握开源数控加工算法库 【免费下载链接】opencamlib open source computer aided manufacturing algorithms library 项目地址: https://gitcode.com/gh_mirrors/op/opencamlib OpenCAMLib是一个功能强大的开源计算机辅助制造&#x… 2026/7/13 18:41:39
DsHidMini完整指南:让闲置PS3手柄在Windows系统重获新生的终极解决方案 DsHidMini完整指南:让闲置PS3手柄在Windows系统重获新生的终极解决方案 【免费下载链接】DsHidMini Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers 项目地址: https://gitcode.com/gh_mirrors/ds/DsHidMini 你是否有一台闲置的索尼Du… 2026/7/13 18:35:38
深度解析Balena Etcher下载异常:从源码构建到分发优化的完整解决方案 深度解析Balena Etcher下载异常:从源码构建到分发优化的完整解决方案 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher Balena Etcher作为开源镜像烧录… 2026/7/13 18:35:38
Kubernetes异构GPU资源调度突破:HAMi如何将AI集群GPU利用率提升100% Kubernetes异构GPU资源调度突破:HAMi如何将AI集群GPU利用率提升100% 【免费下载链接】HAMi Heterogeneous GPU Sharing on Kubernetes 项目地址: https://gitcode.com/GitHub_Trending/ha/HAMi 在AI计算资源日益稀缺的今天,技术决策者和架构师面临… 2026/7/13 18:31:37
如何快速配置洛雪音乐高品质音源:新手完整指南 如何快速配置洛雪音乐高品质音源:新手完整指南 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 想要在洛雪音乐中享受全网最高品质的音乐体验吗?音源配置是关键!… 2026/7/13 18:29:36
Loop窗口管理终极指南:5分钟掌握macOS高效工作流 Loop窗口管理终极指南:5分钟掌握macOS高效工作流 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否厌倦了在macOS上手动拖拽窗口,浪费时间在窗口布局上?Loop是一… 2026/7/13 18:27:36
HS2-HF Patch终极指南:如何用3步解决Honey Select 2的70+个痛点 HS2-HF Patch终极指南:如何用3步解决Honey Select 2的70个痛点 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾经在Honey Select 2中遇到过… 2026/7/13 0:01:19
语音转文字工具AsrTools:让音频整理变得简单高效 语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text … 2026/7/13 0:03:19
基于深度学习的蘑菇或花卉或动漫人物或中草药货水果蔬菜等识别系统31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_ 基于深度学习的蘑菇或花卉或动漫人物或中草药货水果蔬菜等识别系统31(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ 独家界面!不会重复,此项目属于本人原创,若有雷同,均是盗卖,各位买… 2026/7/13 0:05:20
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/13 8:31:55
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/13 9:31:08
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/13 2:34:55