算法学习ing
进击的文文文
在努力不躺平orz
展开
-
【贪心+深搜】Codeforces-723-D Lakes in Berland题解
题目:Problem - 723D - Codeforces目录思路代码疑惑大意:已知一个大小为n*m的矩阵(‘.’表示水,‘*’表示地),里面至少有k个湖,要输出填充完前k小的湖后的最小填充总面积和填充后的矩阵;即:输入n,m,k→输入大小为n*m的矩阵→输出填充后的最小总面积→输出填充后的矩阵(感觉数湖的升级版,就是加了几个条件),不会的可以先做数湖练习一下 →数湖思路解决两个问题→①记录每个湖的开始下标和面积;②排序后填充前k小的湖①解决这个问题要明确...原创 2022-04-14 15:52:10 · 841 阅读 · 0 评论 -
【递推+高精度加法】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 评论 -
[PTA]L1-064 估值一亿的AI核心代码题解+测试点1,2错误猜测
题目:L1-064 估值一亿的AI核心代码思路:从题目要求里我们可以知道,本题有非常非常非常多的细节!PS:因为我太菜了,所以写的是很麻烦的代码ಥ_ಥ ,大佬轻喷qwq)根据题目,我们需要解决的问题主要是这两个:①判断多余的空格并删掉,注意只有句前、句末和标点符号前的空格要全删!PS:数字或单词后有标点时,他们中间没有空格!②判断是否独立→即 被空格、标点或数字分开的 单词测试点[1、2]错误的可能原因(个人猜测):测试点1的格式错误→空格问题没解决,比如:1..原创 2022-04-12 01:08:14 · 4889 阅读 · 9 评论 -
大一补题合集(持续更新ing)
补题合集,一起加油~!!原创 2022-04-07 20:58:31 · 305 阅读 · 0 评论 -
dfs基本模板
void dfs(参数){ if(越界) 直接return; if(终点边界) 输出答案,然后return; for(枚举方案) if(没标记){//标记一般用vis数组 标记(eg.vis[i][j]=1) dfs(下一层) 还原标记(eg.vis[i][j]=0) }}今天看了一些深搜的视频。。感觉自己快要入门了qwq继续加油啊啊啊!!!...原创 2022-03-13 16:43:43 · 647 阅读 · 0 评论 -
红与黑题解(深搜入门ing)
题目:OpenJudge - 1818:红与黑代码:深搜入门题,注意w是列数,h是行数即可~#include<iostream>#include<cstring>using namespace std;char cizhuan[30][30];int w,h;int x,y;int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};//记录方向int dfs(int x,int y){ int ans=1; cizhuan[x原创 2022-03-13 15:13:46 · 1877 阅读 · 1 评论 -
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 评论 -
表达式计算(递归法)
例题:表达式计算输入为四则运算表达式,仅由数字、+、一、*、/、(、)组成,没有空格,要求求其值。假设运算符结果都是整数("/"结果也是整数)。代码:#include<iostream>#include<cstring>#include<cctype>//包含函数isdigit(用于检查参数是否为十进制数字字符) using namespace std;int factor_value();//因子 int term_value();//一项 i原创 2022-01-21 00:11:45 · 638 阅读 · 0 评论