题解列表

筛选

归并排序求逆序对

摘要:解题思路:首先我们给出逆序对的定义:对于数列的第 i 个和第 j 个元素,如果满足 i < j 且 a[i] > a[j],则其为一个逆序对。重要的地方在于,一个元素可以不只是在一个逆序对中存在。如果……

详细解释,阶乘末尾k位,小白写法,超容易懂!

首先,计算阶乘用数组模拟阶乘。详细解析可以看;https://blog.dotcpp.com/a/98223会了数组模拟阶乘计算后,就可以按照题目的意思编程啦!先附上注释版代码:```cpp#includeusingnamespacestd;constintN=1e4+10;intans[N+10];

守望者的逃离:贪心加动态规划

解题思路:本题中每一秒可以做出的选择有三种,闪现,跑步,等待,闪现的话他有蓝量的限制,这一秒能不能闪取决于蓝量还够不够,每一步的状态改变是可以影响下一步的,是一个简单动态规划问题,而跑步的话就简单了,每一秒都能开跑,基于截止到上一秒的最大位移量加上这一秒跑出去的距离就行了,

简单明了的函数解法

摘要:解题思路:注意事项:参考代码:#include <stdio.h>              #include <string.h>fan(char a[],int n){int i; for (i ……

链表合并--连接后排序

```c#include#include#include#defineMALLOC(Node*)malloc(sizeof(Node));//为书写方便定义宏typedefstruct{intnum;intscore;}student;typedefstructNODE{structNODE*link

自定义函数处理最大公约数与最小公倍数

解题思路:用两个数去余7,5,3,2,进入之后循环乘余数,两个数都能被余完说明已经找到最小公倍数了就退出,然后打印两个数都能余完进去的数,和两个数都能被余完的数。注意事项:循环从2开始不然都能直接进去参考代码:#includevoidzx(inti,

使用for 循环语句

摘要:解题思路:注意事项:参考代码:#include<iostream> using namespace std; int main() { for (int n = 100; n < 1000;……

函数+strcmp解决,含思路和知识点讲解

思路:①每一轮玩家1、2出拳,存放在S1、S2数组中;②写一个game()函数代表每一轮剪刀石头布,并把结果存放到flag数组中;③最后一并输出结果。#include#includeintgame(char*S1,char*S2);//代表一轮石头剪刀布intmain(){intn=0;inti=1;

贪心法解纪念品分组问题

解题思路:先接受数据,将对应数量的纪念品价值进行从小到大排序,再利用双指针法进行分组计数,左右指针指向纪念品价值之和不大于上限时,左指针右移,右指针左移,否则只移动右指针将右边的纪念品单独分为一组,每次记录分组数目,最后输出即为结果注意事项:注意要先正向排序,