- 2024-06-03Zcmu-1178
思路:分析题目要求的就是由2,3,5,7单独相乘或者组合相乘的数字。所以将数字循环起来相乘,之后结果按从大到小地无重复放进数组当中。学长#include<set>#include<queue>#include<vector>#include<cstdio>usingnamespacestd;typedeflonglongll;intnum[4]={2,3,5
- 2024-06-03ZCMU-1133
emm就直接看的前辈的了。唉#include<stdio.h>#include<string.h>#include<algorithm>//我不成熟的想法是两成遍历//但感觉会时间超限,但没有先想到深度搜索usingnamespacestd;intn,t;intnum[101];//存放输入情况intr[101];//记录可能情况boolflag;v
- 2024-05-31ZCMU-1149
就是背包01问题#include<iostream>#include<cstring>/*01背包问题*/usingnamespacestd;constintmaxn=120;constintmaxm=1e5+10;intdp[maxm],a[maxm];intn,m;intmain(){intt;cin>>t;while(t--){cin>>n;
- 2024-05-31ZCMU-1144
简单问题:就只是如何降低时间的问题罢了:本来这种方法以前学过但是没怎么用所以不太灵活、#include<stdio.h>#definemaxn1000010intsum[maxn]={0};voidSum(){ for(inti=1;i<=maxn;i++){for(intj=i;j<=maxn;j+=i){sum[j]++;//表示
- 2024-05-31ZCMU-1120
就这样#include<cmath>#include<cstdio>#include<iostream>usingnamespacestd;intmain(){inti,k,sum;while(~scanf("%d",&k)){i=0,sum=0;k=abs(k);//前面设置成0的所以//先加后用while(+
- 2024-05-27ZCMU-1179
我的错误:明知道是大数问题但不是不想写数组或者字符串的结构。思路网上查阅后发现可以使用JAVA的大数类型做。若不使用JAVA则就是整型数组或者字符串的情况。将a^b结果放在数组当中,实时更新数组,每次用a去乘当前数组,记得加长。因为上面情况得到的结果是倒序的不方便比
- 2024-05-20ZCMU-1156
思路:要改变的是一个范围的情况,所以正常情况下会超时。查阅后知道应该用一个叫做树状数组的结构。查阅和树状数组的后续情况这个也不错注意:我没怎么看懂,可能没太仔细看。树状数组当中存在的是前后的差,所以每次变动只是在start,end+1变动.因为一直上去的是lowbi
- 2024-05-06ZCMU-1153
思路一个感觉是规律问题的数学问题因为输入的是n所以要的出有关n的关系或者关系有关排序,所以可以从位次入手,设双胞胎前一个位置在ai,后一个在bi.Sum(bi-ai)=(2+3+4+5+6+...+n+1)=(1+2+3+4+5+6+...+n)+n*1=((n+1)*n)/2+n;Sum(ai+bi)=(1+2+3+4+....+2n)=((1+2n)*(2*n))/2
- 2024-05-06ZCMU-1136
思路一个数学问题要知道1为奇数,2^x次方一定为偶数。偶数=奇数+奇数,而奇数=奇数*奇数,所以x一定要是奇数才可以。注意没告诉范围所以要往大的方向考虑其中1能够被任一整数整除,所以前面加上对1的判断参考(费马小定理)#include<stdio.h>intmain(){inti,n,temp
- 2024-04-29ZCMU-1111
与背包和动态规划有关(我认为)采用dp数组存放吃掉i千克食物要用掉的钱dp最开始要尽量的大方便过程中判断和最后的输出判断实时更新dp,保留最小的钱以前不知道的printf函数可以这样用fill函数填充数组,(开始,结束,填充值);C和C++结构体里面可以放函数学习#include<c
- 2024-04-29ZCMU-1129
数学公式题罢了学长1.斯特灵公式:2.对数公式(因为以10为底,得到的是10^x,所以最后向下取整加上1);#include<cstdio>#include<cmath>usingnamespacestd;constdoublePI=acos(-1);constdoublee=exp(double(1));intstr(intn){returnfloor(log10(sqrt(2*PI*n))+
- 2024-04-19ZCMU-1110
思路:-首先可以知道最少动就是从三个角对称的划分因为不是对称划分则会出现破坏了正三角,后面还要重新对好之后就可以进行推导(按三角形我没看懂)其中设底上截出来的三角形的底为i,则上面就是n-2*i-1;所以动的数就可以算出来:[6*i^2+(4-4n)i+(n*n-n)]/2;最小就是i=(
- 2024-04-15ZCMU-1101
这个题不怎么难,就是当时没有理解到字典序的意思:我一直以为是自己元素间的比较,后再同学帮助下明白这里是与其他比,这样就很简单了。就是要求当前那个最小就可以了。对这道题我有点吐槽明明自己都说了最后一组数据没有空行,但是最后AC后的代码还是有换行的!#include<string.h>
- 2024-04-12ZCMU-1053
比较简单记录一下主要感觉它这个题目没说清楚,题目要求:先有n,接着给出长度为n的标准组,然后给出猜测组,输出的两个数一个是有多少个是相对应的既相同坐标其数值也相同,后一个是两个都有但是位置不同(不含已经相同的)我觉得它少了一类个例子:类似于123436133343思路:用
- 2024-04-08ZCMU-1051
比较来说不太难其实,当然找到一定的公式这与前面的1033相识,都会用到f(i,j)=f(i-1,j)+f(i-1,j-1)我们可以先从小部分看出来,一层可以整体或者两部分,在面对第i层看前面i-1层中分成j-1分和j分,但是又因为自己可以分成分开与不分开所以要用到三维数组,分别放置不分开与分开我觉得
- 2024-04-06ZCMU-1033
我觉得这位大佬说的已经很好了,可以直接看她的思路了;大佬思路但是她的代码没有考虑到1111的情况,代码思路这个是可以的很长且没有注释;#include<bits/stdc++.h>usingnamespacestd;longlongd[40][40];longlongc[40][40];longlonga[40];longlongx,y;intk,b;
- 2024-04-02ZCMU操作系统课程实验 - 实验1-Linux的使用
登录1.打开这个东西2. 在 文件->打开 中打卡机房里VMOS文件里的这个东东 3.然后依次操作下去好了,有红色的选项,我都是选的"Donothing"。完成后就会出现这样一个黑框框。4.让你登录。输入:root。密码:superuser 。注意输入密码的时候,密
- 2024-03-29ZCMU-1038
其实感觉不太难,读懂题意就行,我一开始没有仔细去读感觉就很懵。其题目意思就是一段字符串含有数字和'<'或者'>',一开始从左开始遍历,遇到'>'这类东西换方向,如果有多次遇到就删之前那一个;遇到数字就记下,并减去,一直减到0,就删掉思路:无非用一个int类型的数组存放数字打印个数,以及模拟
- 2024-03-23ZCMU_1117
/相当于看墙,投影之类的东西让我数多少个建筑物/解释感觉还不到位,以后再看看先强调这不是我原创的,只是加了注释。找到原作者后会加链接。以及改变布局#include<cstdlib>#include<cassert>#include<stack>usingnamespacestd;intmain(void){inti,n,h,coun