题解列表

筛选

编写题解 1084: 用筛法求之N内的素数(so easy)

####莫名其妙的就写完了,说实话我都不知道怎么写出来的,就这么莫名其妙的过了。可能是素数题写多了,脑袋没动,手就帮忙写完了。```#includeusingnamespacestd;intmain(){intn;cin>>n;intf=0;for(inti=2;i

家谱(并查集做法)

解题思路:显然这道题应该使用并查集,但普通的并查集只能合并数字,我们可以用map来代替数组,实现并查集的操作,直接用map把他们的父亲连接起来。参考代码:```cpp#includeusingnamespacestd;mappre;//用map实现并查集stringfind(stringx){//查找

C++简便易懂,STL简便做法

######先注意,题目中说的将学生数据按成绩从低到高排序,如果成绩相同则按姓名字符的字母序依次排序,如果姓名的字母序也相同则按照学生的年龄从小到大排序,,都是从小到大的顺序排的。######所以我们不可避免的要构造一个结构体######又因为是多组数据,

[NOIP2004]合并果子

解题思路:题目要求求最小的体力耗费值,显然每次合并最小的果子和次小的果子就可以达到最优。每次合并前,我们都要求最小和次小值,这可以通过排序来实现,但是这样很容易超时,我们可以利用STL的priority_queue容器。使用priority_queue创建一个小根堆,

2843: 计算2的N次方 高精度+快速幂

摘要:解题思路: 高精度模拟大数乘法,快速幂算法减小复杂度注意事项: 建议使用结构体,主函数更清晰参考代码:#include <iostream> // #include <sstream> // #i……

蛇形矩阵C++

解题思路:我的想法是先将数组初始化为0,然后将第一列数据输入,a[i+1][0]=a[i][0]+i+1,以此公式用for循环赋值,用if(i+1!=n)来限制,然后用两层for循环将每行数据进行计算并赋值。其中观察规律可知道每行内两个数据的差值大小逐个加1,则用下列公式来进行操作。

求具有abcd=(ab+cd)2性质的四位数

解题思路:根据题目要求,答案肯定是平方数,那我们直接先把1000到10000的平方数取出来再判断,比暴力枚举更快.```cpp#include#include#includeusingnamespacestd;intmain(){vectorv;for(inti=32;i<100;i++){v.pus