• 2024-05-30编程奇境:C++之旅,从新手村到ACM/OI算法竞赛大门(基础语法)
    踏入C++王国的神秘之门,首要任务是装备上基础语法这把万能钥匙,它不仅是你与代码世界对话的初级咒语,更是构筑编程魔法塔的基石。想象自己是一位即将踏上征途的勇士,先要学会站立、行走,方能奔跑、飞跃。基础语法:勇者的起跑线顺序结构:这就像是一场精心策划的冒险,你的每一个指令—
  • 2024-03-26洛谷题单指南-图的基本应用-P5318 【深基18.例3】查找文献
    原题链接:https://www.luogu.com.cn/problem/P5318题意解读:图的建立、DFS、BFS模版题。解题思路:本题主要考察建图、图的DFS、BFS遍历。建图方式:领接表vector<int>g[N];需要注意的是,在DFS、BFS搜索领接点时,需要先将领接点编号排序,满足题目要求的“如果有很多篇文章可以参阅,请
  • 2024-03-24【深基4.例13】质数口袋
    【深基4.例13】质数口袋-洛谷https://www.luogu.com.cn/problem/P5723计算质数和的过程中,需要添加一些逻辑来确保求和不会超过给定的上限L,并且需要记录下所求得的质数个数。此外,需要实现一个函数来判断一个数是否为质数。importjava.util.Scanner;publicclassMain{
  • 2024-03-23P5266 【深基17.例6】学籍管理(Map)
    #include<bits/stdc++.h>usingnamespacestd;map<string,string>m;intmain(){ intn; cin>>n; while(n--) { inta; stringname,score; cin>>a; if(a==1) { cin>>name>>score; if(m.find(name)!=m.end())m[
  • 2024-03-21洛谷题单指南-集合-P5266 【深基17.例6】学籍管理
    原题链接:https://www.luogu.com.cn/problem/P5266题意解读:本题考察map的应用。解题思路:直接使用map即可解题。100分代码:#include<bits/stdc++.h>usingnamespacestd;map<string,int>h;stringname;intn,op,score;intmain(){cin>>n;while(n--)
  • 2024-03-21洛谷题单指南-集合-P5250 【深基17.例5】木材仓库
    原题链接:https://www.luogu.com.cn/problem/P5250题意解读:根据题目要求,需要一种数据结构,支持去重、排序、logN的查找,set是最合适的。解题思路:先回顾一下set的关键操作:设set<int>s;1、添加:s.insert(x)2、查询个数:s.count(x)3、查找第一个>=x的元素,返回迭代器:set<int>::iter
  • 2024-03-03P2240 【深基12.例1】部分背包问题
    题目大意给定n个元素的基本信息,代价与价值,计算每个元素的性价比,使其和最大显然,本题可以以贪心的思想去解决,每个元素可以分裂,因而不需要考虑全局最优解,所以可以贪心。其中,计算每个元素的性价比,即a.v/a.m>b.v/b.m,根据这个式子可变形得a.v*b.m>b.v*a.m,化除为乘,更加精确
  • 2024-02-17P2249 【深基13.例1】查找题解
    【问题分析】本题有n个数(n>10^6)n很大,查找m个数(m≤10^5),数最大为(10^9)方法一:用顺序查找的话时间复杂度为:O(n*m)会超时,只能得部分分;方法二:用桶排时间复杂度为O(n)+O(m),但是因为数最大为(109)空间复杂度为:O(109);方法三:用二分查找,时间复杂度为:O(m*logn),空间复杂度为O(n)。综合以
  • 2024-02-13P1923 【深基9.例4】求第 k 小的数
    1.题目【深基9.例4】求第k小的数题目描述输入\(n\)(\(1\len<5000000\)且\(n\)为奇数)个数字\(a_i\)(\(1\lea_i<{10}^9\)),输出这些数字的第\(k\)小的数。最小的数是第\(0\)小。请尽量不要使用nth_element来写本题,因为本题的重点在于练习分治算法。输入格式
  • 2024-02-11洛谷P5725 【深基4.习8】求三角形
    洛谷P5725【深基4.习8】求三角形【深基4.习8】求三角形题目描述模仿例题,打印出不同方向的正方形,然后打印三角形矩阵。中间有个空行。输入格式输入矩阵的规模,不超过9。输出格式输出矩形和正方形样例#1样例输入#14样例输出#101020304050607080910111213141516
  • 2024-02-07P1271 【深基9.例1】选举学生会
    1.题目介绍【深基9.例1】选举学生会题目描述学校正在选举学生会成员,有\(n\)(\(n\le999\))名候选人,每名候选人编号分别从\(1\)到\(n\),现在收集到了\(m\)(\(m\le2000000\))张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入格
  • 2024-02-04P5711 【深基3.例3】闰年判断
    题目写在开头:本题并不容易出错,但是需要一些常识,记录的目的也只是为了代码优化原题目位于:[P5711【深基3.例3】闰年判断-洛谷|计算机科学教育新生态(luogu.com.cn)]【深基3.例3】闰年判断题目描述输入一个年份,判断这一年是否是闰年,如果是输出$1$,否则输出$0$。输入格式
  • 2024-02-04P2433 【深基1-2】小学数学 N 合一
    题目原题目在[P2433【深基1-2】小学数学N合一-洛谷|计算机科学教育新生态(luogu.com.cn)]【深基1-2】小学数学N合一题目描述问题1请输出IloveLuogu!问题2这里有$10$个苹果,小A拿走了$2$个,Uim拿走了$4$个,八尾勇拿走剩下的所有的苹果。我们想知道:小
  • 2024-02-02【洛谷 P2249】【深基13.例1】查找(向量+lower_bound)
    【深基13.例1】查找题目描述输入个不超过的单调不减的(就是后面的数字不小于前面的数字)非负整数,然后进行次询问。对于每次询问,给出一个整数,要求输出这个数字在序列中第一次出现的编号,如果没有找到的话输出。输入格式第一行个整数和,表示数字个数和询问次数。第二行
  • 2024-01-27洛谷题单指南-排序-P1923 【深基9.例4】求第 k 小的数
    原题链接:https://www.luogu.com.cn/problem/P1923题意解读:要最快的求第k小的数,O(n)的做法是利用快排的思想对数据进行划分第一步、取分界点x,通常设x=a[(l+r)/2]第二步、将小于x的挪到x左边,将大于x的挪到x右边第三步、比较,如果x左边的个数大于k,则继续递归处理左边,否则递
  • 2024-01-26P5739 【深基7.例7】计算阶乘
    1.题目介绍【深基7.例7】计算阶乘题目描述求\(n!\),也就是\(1\times2\times3\dots\timesn\)。挑战:尝试不使用循环语句(for、while)完成这个任务。输入格式第一行输入一个正整数\(n\)。输出格式输出一个正整数,表示\(n!\)。样例#1样例输入#13样例输出#16提示
  • 2024-01-26P5738 【深基7.例4】歌唱比赛
    1.题目介绍【深基7.例4】歌唱比赛题目描述\(n(n\le100)\)名同学参加歌唱比赛,并接受\(m(m\le20)\)名评委的评分,评分范围是\(0\)到\(10\)分。这名同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下\(m-2\)个评分的平均数。请问得分最高的同学分数是多少?
  • 2024-01-26P5737 【深基7.例3】闰年展示
    1.题目介绍【深基7.例3】闰年展示题目描述输入\(x,y\),输出\([x,y]\)区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。输入格式输入两个正整数\(x,y\),以空格隔开。输出格式第一行输出一个正整数,表示\([x,y]\)区间中闰年个数。第二行输出若干个正整数,按照
  • 2024-01-26P5736 【深基7.例2】质数筛
    1.题目介绍【深基7.例2】质数筛题目描述输入\(n\)个不大于\(10^5\)的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。输入格式第一行输入一个正整数\(n\),表示整数个数。第二行输入\(n\)个正整数\(a_i\),以空格隔开。输出格式输出一行,依次输
  • 2024-01-26洛谷题单指南-排序-P1271 【深基9.例1】选举学生会
    原题链接:https://www.luogu.com.cn/problem/P1271题意解读:最直接的计数排序问题,借助一个桶h[N],对被投票的候选人x执行h[x]++,再按顺序遍历输出即可。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1005;inth[N];intmain(){intn,m;
  • 2024-01-23P5734 【深基6.例6】文字处理软件
    1.题目介绍【深基6.例6】文字处理软件题目描述你需要开发一款文字处理软件。最开始时输入一个字符串作为初始文档。可以认为文档开头是第\(0\)个字符。需要支持以下操作:1str:后接插入,在文档后面插入字符串\(\texttt{str}\),并输出文档的字符串;2ab:截取文档部分,只保留文档
  • 2024-01-22P5733 【深基6.例1】自动修正
    1.题目介绍2.题解2.1字符串大小写转换思路str[i]-='a'-'A';注意这里转换方式,即减去偏移量(ASCII码表中,'a'在'A'前面,如果记不得偏移量,就直接写'a'-'A'即可)代码#include<bits/stdc++.h>usingnamespacestd;intmain(){ stringstr; cin>
  • 2024-01-22P5728 【深基5.例5】旗鼓相当的对手
    1.题目介绍2.题解2.1二维数组思路主要熟悉vector创建二维数组的方法vector<vector>ans(N,vector(3));这里第一个元素表明数组大小,第二个元素表明该二维数组的所有元素初始化为一个大小为3的一维数组vector(3)是一种匿名对象(anonymousobject)的写法。在这里,它是一个临时
  • 2023-12-17【洛谷 P1923】【深基9.例4】求第 k 小的数(快速排序)
    【深基9.例4】求第k小的数题目描述输入(且为奇数)个数字(),输出这些数字的第小的数。最小的数是第小。请尽量不要使用nth_element来写本题,因为本题的重点在于练习分治算法。输入格式输出格式样例#1样例输入#15143215样例输出#12思路先快速排序,然后通过数组索引访
  • 2023-12-13【洛谷 P1271】【深基9.例1】选举学生会 题解(计数排序)
    【深基9.例1】选举学生会题目描述学校正在选举学生会成员,有名候选人,每名候选人编号分别从1到,现在收集到了张选票,每张选票都写了一个候选人编号。现在想把这些堆积如山的选票按照投票数字从小到大排序。输入格式输入和以及个选票上的数字。输出格式求出排序后的选票编