2026/1/12 23:34:18
网站建设
项目流程
手机网站绑定域名,手机网站开发算什么费用,直接打开百度,我要制作网站欢迎大家订阅我的专栏#xff1a;算法题解#xff1a;C与Python实现#xff01; 本专栏旨在帮助大家从基础到进阶 #xff0c;逐步提升编程能力#xff0c;助力信息学竞赛备战#xff01;
专栏特色 1.经典算法练习#xff1a;根据信息学竞赛大纲#xff0c;精心挑选…欢迎大家订阅我的专栏算法题解C与Python实现本专栏旨在帮助大家从基础到进阶 逐步提升编程能力助力信息学竞赛备战专栏特色1.经典算法练习根据信息学竞赛大纲精心挑选经典算法题目提供清晰的代码实现与详细指导帮助您夯实算法基础。2.系统化学习路径按照算法类别和难度分级从基础到进阶循序渐进帮助您全面提升编程能力与算法思维。适合人群准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生希望系统学习C/Python编程的初学者想要提升算法与编程能力的编程爱好者附上汇总帖GESP认证C编程真题解析 | 汇总【题目来源】洛谷[B3928 GESP202312 四级] 田忌赛马 - 洛谷【题目描述】你要和田忌赛马。你们各自有N NN匹马并且要进行N NN轮比赛每轮比赛你们都要各派出一匹马决出胜负。你的马匹的速度分别为u 1 , u 2 , ⋯ u n u_1,u_2,\cdotsu_nu1,u2,⋯un田忌的马匹的速度分别为v 1 , v 2 , ⋯ , v n v_1,v_2,\cdots,v_nv1,v2,⋯,vn。田忌会按顺序派出他的马匹请问你要如何排兵布阵才能赢得最多轮次的比赛巧合的是你和田忌的所有马匹的速度两两不同因此不可能出现平局。【输入】第一行一个整数N NN。保证1 ≤ N ≤ 5 × 1 0 4 1\le N \le 5\times 10^41≤N≤5×104接下来一行N NN个用空格隔开的整数依次为u 1 , u 2 , ⋯ , u n u_1,u_2,\cdots,u_nu1,u2,⋯,un表示你的马匹们的速度。保证1 ≤ u i ≤ 2 N 1\le u_i\le 2N1≤ui≤2N。接下来一行N NN个用空格隔开的整数依次为v 1 , v 2 , ⋯ , v n v_1,v_2,\cdots,v_nv1,v2,⋯,vn表示田忌的马匹们的速度。保证1 ≤ v i ≤ 2 N 1\le v_i\le 2N1≤vi≤2N。【输出】输出一行表示你最多能获胜几轮。【输入样例】3 1 3 5 2 4 6【输出样例】2【算法标签】《洛谷 B3928 田忌赛马》 #贪心# #排序# #双指针two-pointer# #GESP# #2023#【代码详解】#includebits/stdc.husingnamespacestd;constintN50005;// 最大数组长度intn;// 数组大小intans;// 答案满足条件的配对数量intu[N],v[N];// 两个数组intmain(){// 输入数组大小cinn;// 输入并排序数组ufor(inti1;in;i){cinu[i];}sort(u1,un1);// 输入并排序数组vfor(inti1;in;i){cinv[i];}sort(v1,vn1);// 双指针贪心匹配intj1;// v数组的指针for(inti1;in;i)// 遍历u数组{// 如果当前u[i]大于等于当前v[j]可以配对if(u[i]v[j]){j;// 移动v指针ans;// 成功配对数加1}// 如果u[i] v[j]这个u[i]无法匹配任何v// 不移动j尝试用更大的u[i1]来匹配v[j]}// 输出结果coutansendl;return0;}【运行结果】3 1 3 5 2 4 6 2