欸嘿,典型的求解第k小的数的问题
算法中使用了快速排序
关键之处在于原本快排需要两边都进行排序,但现在我们只关心第k小的数,所以,如果在ll比k大那么就排左半边,比k小就比右半边,从而实现时间复杂度的下降
1 #include
2
3 using namespace std;
4
5 const in
P5717 【深基3.习8】三角形分类2021-04-05 12:04:08
题目
描述
给出三条线段 a,b,c 的长度,均是不大于 10000 的整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?
如果三条线段不能组成一个三角形,输出Not triangle;
如果是直角三角形,输出Right triangle;
如果是锐角三角形,输出Acute triangle;
如果是钝角三角形,输出Obtuse
P5704 【深基2.例6】字母转换2021-03-29 18:01:09
P5704 【深基2.例6】字母转换
题目描述
输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。
输入输出样例
输入#1
q
输出#1
Q
这道题基本上就是小写转大写
C++标准库里还真有一个这样的函数
叫 toupper
用法如下
char x;
cin>>x;
cout<
小学数学
昨天在同学的介绍下刚接触到洛谷,感觉上面的题都很不错,虽然有些题目对新手有点不友好,但是我相信一步步慢慢学,肯定能攻克他们。
#include
#include
main()
{int T;
scanf("%d",&T);
if (T == 1) {
printf("I love Luogu!");
} el
思路
根据k来对数组进行快排。 把数组分为3部分,然后来递归查询。
源码
#include
using namespace std;
int x[5000005],k;
void qsort(int l,int r)
{
int i=l,j=r,mid=x[(l+r)/2];
do
{
while(x[j]>mid) j--;
while(x[i]
if(i<=j)
{
P2249 【深基13.例1】查找2021-03-10 19:01:45
#include
using namespace std;
const int MAXN = 1e6 + 5;
int arr[MAXN];
int main()
{
int n, m, q = 0;
int pos, l, r;
cin >> n >> m;
for(int i = 1; i <= n; i++)
{
cin >> arr[i];
}
for(int i = 1; i <=
#include
int a[2000];
int year(int n) {
if (n % 400 == 0 || (n % 4 == 0 && n % 100 != 0))
return(1);
else
return(0);
}
int main() {
int x, y, i, j;
scanf("%d%d", &x, &y);
for(i=x,j=0;i<=y;i++)
if (yea
【题目描述】八尾勇喜欢吃苹果。她现在有 m(m≤100)个苹果,吃完一个苹果需要花费 t(0≤t≤100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 s(s≤10000)分钟,请问她还有几个完整的苹果?【输入格式】输入三个非负整数表示 m 、t 和 s。;【输出格式】输出一个整数表示答案。如果你
洛谷2021-01-18 13:32:54
此页只为记录洛谷上没事需要没事康康的题目
线性表
P3613 【深基15.例2】寄包柜
P1996 约瑟夫问题
P5727 【深基5.例3】冰雹猜想2020-11-25 12:58:48
题目描述 给出一个正整数 n(n≤100),然后对这个数字一直进行下面的操作:如果这个数字是奇数,那么将其乘 3 再加 1,否则除以 2。经过若干次循环后,最终都会回到 1。经过验证很大的数字(7×10 11 )都可以按照这样的方式比变成 1,所以被称为“冰雹猜想”。例如当 n 是 20,变化的过程是 [2
【深基15.例2】寄包柜2020-08-13 11:02:15
题目链接https://www.luogu.com.cn/problem/P3613
1 #include
2 #include
3 using namespace std;
4 const int MAX = 100005;
5 struct node
6 {
7 //s用来记录desk[i]的元素个数,表示第i个柜子已存s次物品
8 //num表示第i个柜子的第num个
洛谷-P5735 【深基7.例1】距离函数
原题链接:https://www.luogu.com.cn/problem/P5735
题目描述
输入格式
输出格式
输入输出样例
C++代码
题目描述
给出平面坐标上不在一条直线上三个点坐标 \((x_1,y_1),(x_2,y_2),(x_3,y_3)\),坐标值是实数,且的绝对值不超过 100.00,求围成的三
洛谷-P5736 【深基7.例2】质数筛
原题链接:https://www.luogu.com.cn/problem/P5736
题目描述
输入格式
输出格式
输入输出样例
C++代码
题目描述
输入 \(n(n\le100)\) 个不大于 100000 的整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。
输入格式
无
输
洛谷-P5732 【深基5.习7】杨辉三角
原题链接:https://www.luogu.com.cn/problem/P5732
题目描述
输入格式
输出格式
输入输出样例
C++代码
题目描述
给出 \(n(n\le20)\),输出杨辉三角的前 \(n\) 行。
如果你不知道什么是杨辉三角,可以观察样例找找规律。
输入格式
无
输出格式
洛谷-P5719 【深基4.例3】分类平均
原题链接:https://www.luogu.com.cn/problem/P5719
题目描述
输入格式
输出格式
输入输出样例
C++代码
题目描述
给定 \(n(n\le10000)\) 和 \(k(k\le 100)\),将从 1 到 \(n\) 之间的所有正整数可以分为两类:A 类数可以被 \(k\) 整除(也就是说是
洛谷-P5720 【深基4.例4】一尺之棰
原题链接:https://www.luogu.com.cn/problem/P5720
题目描述
输入格式
输出格式
输入输出样例
C++代码
题目描述
《庄子》中说到,“一尺之棰,日取其半,万世不竭”。第一天有一根长度为 \(a(a\le 10^9)\) 的木棍,从第二天开始,每天都要将这根木棍
P2240 【深基12.例1】部分背包问题
#include
#include
#include //OJ需要此头文件来提供printf()函数
using namespace std;
typedef struct Treasure Treasure;
struct Treasure {
double weight;
double value;
double p;//weight / value
};
我的代码主要有一个东西:
三目运算符
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,有时又称为三元运算符------------百度百科
具体地:
(1)?(2) :(3)
(1)内为条件判断语句
(2)内为(1)为真时,整个三目运算符的返回值
(3)内为(1)为假时,整个三目运算符
深度优先遍历
假设初始状态是图中所有顶点均未被访问,则从某个顶点v出发,首先访问该顶点,然后依次从它的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和v有路径相通的顶点都被访问到。若此时尚有其他顶点未被访问到,则另选一个未被访问的顶点作起始点,重复上述过程,直至图中
洛谷【数组】题单题解锦集2020-05-03 11:37:07
题单简介
题目解析
P1428 小鱼比可爱
P1427 小鱼的数字游戏
P5727【深基5.例3】冰雹猜想
P1047 校门外的树
P5728【深基5.例5】旗鼓相当的对手
P5729【深基5.例7】工艺品制作
P2550 [AHOI2001]彩票摇奖
P2615 神奇的幻方
P5730【深基5.例10】显示屏
P1554 梦中的统计
P214
题目描述
求 n!(n≤12),也就是 1×2×3…×n。
挑战:尝试不使用循环语句(for、while)完成这个任务。
输入格式
无
输出格式
无
输入输出样例
输入 #1
3
输出 #1
6
我的答案:
使用递归函数
#include
int main()
{
int n;
scanf("%d",&n);
long long fun_digui(int n)
P3613 【深基15.例2】寄包柜2019-12-22 10:51:24
传送门
题目大意
往一个\(a[i][j]\) 里边放东西,也可以取走东西,然后查询\(a[i][j]\)里边是什么东西。
思路:
显然我们可以暴力,但是你开不了那么大的数组。
翻了翻dalao们的题解,为什么要用结构体呢??
直接\(map\)他不香吗?
我们用一个\(map ma[N];\)当做暴力的数组来做。
因