系统维护,该内容暂不可见。
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
## 新知识 ```cpp T617814冒泡排序模拟 算法思路: 1:通过对待排序序列从前向后(从下标较小的元素开始)依次对相邻两个元素的执行两两比较 2:若发现前一个数大于后一个数则交换,使值较大的元素,逐渐从前移向后部 3:时间复杂度:O(n*(n-1)/2)(扫描n-1轮) for(int i=1;i a[j+…
## B3649 [语言月赛202208] 大小比较 ### 思路 先定两个变量a,b,输入a和b在来一个if判断:if(a #define ll long long using namespace std; int a,b; int main(){ cin>>a>>b; if(a #define ll long lo…
## 新知识 ```cpp //埃氏筛: //标记当前数是合数(1)/质数(0) //默认一开始所有数都是指数 bool isp[100000010]; void ashpick(int n){ //筛出1~n之间的所有数 isp[0]=isp[1]=1; //0和1都不是质数 for(int i=1;i 1)x*=n…
## 新知识 ```cpp //算术基本定理 //对于任意一个正整数n=p1*p2*...*pk,其中pi均为质数。 //简单来说对于任意一个正整数,都能将其拆分成若干个质数的乘积,如果固定因数从小到大排列,这样的分解方式是唯一的。 //可以简化成以下形式:n=pe1 1*pe2 2*...*pei i(pi 1)co…
## 新知识 ```cpp //约数:如果a能整除b,既满足a%b==0那么就称b是a的一个约数。(补充:因数和约数是一个概念) //约数:如果a能整除b,那么就称a是b的一个倍数。 //质数:除了1和它本身以外没有其他的因数。 //合数:除了1和他本身以外还有其他的因数。 //判断质数因数: long long is…
## T678479 最大公约数和最小公倍数 ### 新知识: ```cpp //求两个数a,b最大的公约数gcd(a,b) ll gcd(ll a,ll b){ if(a%b==0){ return b; } return gcd(b,a%b); } //求两个数a,b最小公倍数lcm(a,b) ll lcm(ll…
## T676960 月色的排队 ### 新知识 ```cpp 用结构体数组一定要用自定义函数: struct node{ int s; double h; }a[2010]; bool cmp(node a,node b){ return a.h using namespace std; struct node{ i…
## T669129 求第 k 小的数 ### 新知识 ```cpp //关闭同步流 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); //scanf(),printf(); //c++中的数组一般范内:3*10^7 ``` ### 思路 先定一个数组:a[50…
## 第一题:B2004 ### 新函数: ```cpp stew(x):占x个字符宽度 ``` ### 思路: 先创建一个两个整数函数a,b和c。在输入a,b,c。最后输出,先用setw(8)来占8个字符宽度,然后输出空格在输出a,再用setw(8)来占8个字符宽度,然后输出空格输出b,再用setw(8)来占8个字符…
### 正确代码 先来一个struct City{int num;int dis;string name;int money}a[155];再来一个cmp,然后定一个len=1;再来一个while(cin): ```cpp while(cin>>a[len].num>>a[len].dis>>a[len].name){…
### 正确思路 先来一个const int N=1e4+5;再来一个整数a[N];再来两个整数变量:n和cnt;在输入n,然后来一个输入for循环和另一个for循环,最后输出cnt。 ### 正确代码 ```cpp #include using namespace std; const int N=1e4+5; in…
### 正确代码 先来一个大写转小写函数,再来两个字符串变量:a,s;在输入s,再来一个getchar函数,这用来清空缓存中的空格,再来s=f(s);getline(cin,a);a=f(a);s=" "+s+" ";a=" "+a+" ";然后定义两个整数变量:x=0和ans=0;再来一个while循环,这while…
### 正确思路 先定一个gcd函数,再定三个整数函数:n,m,ans,在输入m和n,再来一个for循环: ```cpp for(int i=m;i using namespace std; int gcd(int x,int y){ if(y==0){ return x; } return gcd(y,x%y); }…
### 正确思路 先创建两个整数n,x;再来一个map集合map mp;在输入n,最后在两个for循环: ```cpp #include using namespace std; int n,x; map mp; int main(){ cin>>n; for(int i=1;i >x; mp[x]++; } for(…
### 正确思路 先来个const int N=1e3+5;再来两个整数变量:a[N],n;再来一个记忆递归: ```cpp int f(int n){ if(n==1){ return 1; } if(a[n]!=0){ return a[n]; } if(n%2==1){ return f(n-1); } retu…
### 正确思路 先定两个整数变量:n,s=0;在输入n,然后来个while循环: ```cpp while(n){ s=s*10+n%10; n/=10; } ``` 最后输出s。 ### 正确代码 ```cpp #include using namespace std; int n,s=0; int main(){…
### 正确思路 先创建三个long long变量:a,b,cnt=1;在输入a,b,然后来个for循环: ```cpp for(int i=1;i using namespace std; long long a,b,cnt=1; int main(){ cin>>a>>b; for(int i=1;i<=b;i++…
### 错误思路 看不懂题。 ### 正确思路 先来个 ```cpp struct Food{ int hot; int id; }a[205]; ``` 再来个cmp: ```cpp int cmp(Food f1,Food f2){ return f1.hot>f2.hot; } ``` 然后来个整数变量:b[10…
### 错误思路 看不懂题。 ### 正确思路 先来个const int N=5e6+5;再来个bool a[N],然后来个int n,ans,t;在输入n,再来个a[1]=1;然后来个for循环: ```cpp for(int i=2;i using namespace std; const int N=5e6+5;…
### 错误思路 看不懂题。 ### 正确思路 先来个const int N=1e5+5;然后来个整数变量n,再来个string s[N],k;然后输入n,来个for循环: ```cpp for(int i=1;i >s[i]; } ``` 再来个sort排序,然后输入k,再来个for循环: ```cpp for(in…
# T2 ### 正确思路 先创建一个double变量pie,而且pie=3.14,再来个整数r,然后输入r,最后cout using namespace std; const double pie=3.14; int r; int main(){ cin>>r; cout<<fixed<<setprecision(5…
# T1 ### 正确思路 先创建一个递归函数: ```cpp int f(int a){ if(a==1){ return 1; } return f(a-1)+a; } ``` 再创建一个整数变量n,然后输入n,最后输出递归函数加n: cout using namespace std; int f(int a){…
```cpp #include using namespace std; deque >m1; int n,s2,s3; string s1; int main(){ cin>>n; while(n--){ cin>>s1; if(s1=="push_back"){ cin>>s2>>s3; m1[s2].push_b…
### 正确思路 先创建五个整数变量n,cnt0,cnt1,cnta,cntb;在输入n,再来个for循环: ```cpp for(int j=1;j cnt0){ cnta++; }else{ cntb++; } } ``` ### 正确代码 ```cpp #include using namespace std;…
### 错误思路 看不懂题。 ### 正确思路 先创建两个整数变量n和x,然后在创建一个字符串s变量,在输入n和x,再来个while循环,循环中要来个转换数字的: ```cpp while(n){ int t=n%x; char c; if(t>=10){ c=(t-10)+'A'; }else{ c=t+'0'; }…
### 错误思路 看不懂题。 ### 正确思路 先创建两个整数变量:int x,int sum;在创建一个string s; 然后输入x和s,再来个for循环,循环中再来个转换字母的: ```cpp for(int i=0;i ='A' && c<='Z'){ t=(c-'A')+10; }else{ t=c-'0';…
### 正确思路 先创建一个整数a变量,然后输入a,再来个for循环: ```cpp for(int i=1;i =9 && a using namespace std; int a; int main(){ cin>>a; for(int i=1;i =10 && a<=99){ cout<<1; return 0;…
### 错误思路 看不懂题。 ### 正确思路 先定两个变量stack s1;stack s2;再定一个n,输入n再来个while循环,循环中先定一个整数x变量,在输入x,最后来一个if判断和两个else if: ```cpp if(x==0){ int w; cin>>w; s1.push(w); if(s2.emp…
### 正确思路 先定个stack s;再来个int b=0,c=0;再来个char a[300];然后来个while循环: ```cpp while(a[b]!='@'){ b++; cin>>a[b]; if(a[b]=='(') { s.push(a[b]) ; c++; } if(a[b]==')' && c!…
### 正确思路 先创建两个变量:n,sum=0;然后再输入n,再来个for循环,条件是:int i=1;i using namespace std; int main(){ int n,sum=0; cin>>n; for(int i=1;i<=n;i++){ int g=i%10; int s=i/10%10; i…