noi
进击的文文文
在努力不躺平orz
展开
-
【递推+高精度加法】PKU2506Tiling题解
题目:OpenJudge - 9273:PKU2506Tiling思路:一道基础的递推题,用二维dp数组存答案(行号→n列)易得第n块砖有两种情况:①竖放的1*2→dp[i][j]+=dp[i-1][j]; ②2*2或横放的1*2→dp[i][j]+=dp[i-2][j];所以得到了我们的递推公式→dp[i][j]=dp[i-1][j]+dp[i-2][j]*2PS:为了方便输出,用dp[i][...原创 2022-04-14 14:09:14 · 953 阅读 · 0 评论 -
大一补题合集(持续更新ing)
补题合集,一起加油~!!原创 2022-04-07 20:58:31 · 305 阅读 · 0 评论 -
最大公约数和最小公倍数问题题解
题目:OpenJudge - 8784:最大公约数和最小公倍数问题代码:理解题意,得到等式i*j=x*y,i和j的最大公约数为x,x<=i,j<=y。#include<iostream>using namespace std;int gcd(int a,int b){ int t; while(b){ t=a%b; a=b; b=t; } return a;}int main(){ int x,y; cin>>x>>原创 2022-02-05 21:08:50 · 360 阅读 · 0 评论 -
区间合并题解
题目:OpenJudge - 7620:区间合并代码:①用了struct结构体;#include<iostream>#include<algorithm>using namespace std;struct bqj{ int a; int b;}p[50005];bool cmp(bqj x,bqj y){ if(x.a==y.a) return x.b<y.b; return x.a<y.a;}int main(){ int n,i,原创 2022-01-28 23:27:04 · 591 阅读 · 0 评论 -
2011题解(打表找规律)
题目:OpenJudge - 2991:2011PS:我没看出来这题和分治算法有啥关系,如果有会的大佬可以指点一下不qwq规律:通过打表可以看出来,2011^n的后4位以500为一周期变化,也就是说明:我们计算时只需要算出2011的1-500次方的后4位!;代码:我直接把计算过程预处理了,其实直接写到main()里也可以。#include<iostream>#include<cstring>using namespace std;char n[202];原创 2022-01-28 21:29:12 · 807 阅读 · 0 评论 -
输出前k大的数题解(分治快排)
题目:OpenJudge - 7617:输出前k大的数代码:①分治快排1)cin版;#include<iostream>#include<algorithm>using namespace std;int a[100010];void quicksort(int a[],int s,int e,int k){ if(s>=e) return; int x=a[s]; int i=s,j=e; while(i!=j){ while(i<j原创 2022-01-28 00:02:57 · 689 阅读 · 0 评论 -
分解因数题解
题目:OpenJudge - 1751:分解因数题解:递归法#include<iostream>#include<cmath>using namespace std;int ans;//记录组数void fenjie(int x,int y){//x是除数,y是被分解数 for(int i=x;i<=sqrt(y);i++){ if(y%i==0){ ans++; fenjie(i,y/i);//继续分解y } } return ;原创 2022-01-17 23:25:46 · 279 阅读 · 0 评论 -
八皇后问题题解
题目:OpenJudge - 1700:八皇后问题代码:#include<iostream>#include<cmath>using namespace std;int n=8,count=1;//count记录解的组数int queenPos[100];void NQueen(int k);int main(){ NQueen(0); return 0;}void NQueen(int k){ int i; if(k==n){ cout<原创 2022-01-19 17:16:58 · 169 阅读 · 0 评论 -
八皇后题解
题目:OpenJudge - 1756:八皇后思路:和八皇后问题一样,就是多了个排序(其实也没有),因为八皇后问题的输出顺序就是按数字大小来的,所以多一个存值数组就可以了。代码:#include<iostream>#include<cmath>using namespace std;int n=8,count=1;int queenPos[100];int queens[99][9];void NQueen(int k);int main(){ NQu原创 2022-01-19 18:11:19 · 424 阅读 · 0 评论