![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acm入门经典算法题
Liknana
人生的艰难困苦无法选择,但是可以自己无坚不摧,战无不胜,星光不问赶路人,时间不负有心人,前程似锦,未来可期
展开
-
HNUCM-OJ春季学期《算法分析与设计》练习13题解
HNUCM-OJ春季学期《算法分析与设计》练习13题解图论=>并查集+Kruskal+Dijkstra来源/分类解决A迷路的牛牛B工作单位C隔离14天D最小生成树(Kruskal)E搭建电路F单源最短路径问题A:取余+模拟AC源码:#include <bits/stdc++.h>using namespace std;int main(){ int n; while (~scanf(原创 2021-05-30 15:32:50 · 474 阅读 · 0 评论 -
工作单位题解------并查集
工作单位#include <bits/stdc++.h>using namespace std;const int cmax = 1e3+5;int pa[cmax]; //pa[x]=x表示结点x的父节点是xint rnk[cmax]; //rnk[x]=x表示结点x的子节点的层数,代表结点x的秩int res;// 查找结点x的父亲结点int find_set(int x){ if(x!=pa[x]) pa[x]=find_set(pa[x]); .原创 2021-05-28 11:45:40 · 107 阅读 · 0 评论 -
问题 F: 最小生成树(Prim)
问题 F: 最小生成树(Prim)题目描述使用Prim算法求图的最小生成树(MST)输入每组数据分为两个部分,第一部分为图的点数n,和边数m,第二部分为m行,每一行输入三个数字,前两个为两个顶点的编号,第三个为边权重。输出最小生成树,输出时按照边的两个端点的升序输出。(先看左端点,再看右端点,端点不换位置)样例输入3 30 1 100 2 151 2 50样例输出0 1 100 2 15解题思路刚开始v集合只有一个结点,我这里用编号为0的结点lowcost[i.原创 2021-05-22 21:54:52 · 637 阅读 · 4 评论 -
高斯消元法&&列主消元法
高斯消元法&&列主消元法写在前面高斯消元法列主消元法写在前面最近在学数值分析,正好学到求解线性方程组。就自己动手简单实现了一下。关于本算法的原理可以在《数值分析》第3版(马东升 董宁编),对应于该书的P145页,详细讲解了公式。因本人时间有限,暂时不详细编辑公式,等空闲了再来重新补充。简要的说明下该算法的应用吧,高斯消元法在线性代数那门课肯定学过了,对于一般简单的3、4阶线性方程组,还可以进行纸上的笔运算,但是当数目过多,算起来就比较吃力了,所以借助于计算机实现。如果很多的数学软件原创 2020-10-23 09:10:07 · 4627 阅读 · 0 评论 -
BFS入门训练题解
bfs入门初级训练总结写在前面bfs写在前面大二上开学都一个月了,疫情期间自己在家里水水学校的oj也挺开心的,但是暑假自己学车去了,而且自己也贪玩,没怎么写过oj,连oj的水题也没刷了,加之大一下的数据结构自己也没考好,最近自己看到别的同学和学长从湖南省程序设计大赛捧杯回来,心里着实有点羡慕,为什么自己不能去捧杯,蒟蒻的我决定也捧杯了,冲冲冲bfs...原创 2020-10-22 14:57:10 · 407 阅读 · 0 评论 -
子集的生成和组合问题
子集的生成和组合问题二进制生成组合的原理代码展示求输出子集中元素的个数为k的子集组合问题原理解释范例展示:代码展示二进制生成组合的原理这里以3个元素为例三个元素分别为(a0 a1 a2 )三个元素的子集个数只有23=8个刚好映射到3位二进制数,_ _ _ 分别为 a2 a1 a0 其对应二进制位如果为1 就代表ak在子集中反之就不在。子集空集a0a1a1 a0a2a2 a0a2 a1a2 a1 a0二进制数000001010011100101原创 2020-10-20 10:08:21 · 341 阅读 · 0 评论 -
acm入门基础算法必看
蒟蒻的我,终于把基础算法模板整理完了。肝!!!下面的排序模板在面试中可能会用到,但是在acm中基本被sort所取代。下面的每一个模板我都会配一道一题用来练手。快排练手快排模板void quick_sort(int a[], int l, int r){ if (l >= r) return; int flag = a[(l+r)/2], i = l - 1, j = r + 1; while (i < j) { .原创 2020-06-08 11:13:00 · 1612 阅读 · 5 评论 -
L1-043 阅览室---题解
这个题,巧用标记思想,便能事半功倍。题目链接:L1-043 阅览室思路此题若按最暴力的方式,定义一结构体,里面的成员有,书号,E或S状态,小时,秒四个成员,而这样定义的结构体不仅操作繁琐,且正确性难以得到快速地验证,很容易出错。其实结构体内只需定义两个成员即可,一个是借书的起始时间,另一个是当前书是否已经被借,这其中的关键是是否已经被借这个变量,体现了一种思想——标记思想。何为标...原创 2020-03-28 14:58:11 · 267 阅读 · 0 评论 -
爱的日期---日期推算的两种解答
我今天无意中发现日期解答有一个万能公式----基姆拉尔森计算公式,那么这个题,便有两种不同的解答方式,一种是简单的模拟,另一种是利用公式解答;算星期几神器——基姆拉尔森计算公式介绍一个算星期几的神器,至少在我知道这个公式之后,关于星期几这个问题,我在也没有算错过=o(▽)o♪公式是这样的:w = (y + y /4 + y / 400 - y / 100 + 2 * m + 3 * (...原创 2020-03-28 12:49:56 · 278 阅读 · 0 评论 -
EXCEL排序---题解
当你犹豫要不要去做一件事的时候,其实你内心已经有了选择,只是你还没有充足的理由去说服自己。这个题可谓是将结构体,sort函数用到极致了;写下来以后复习用;题目链接:EXCEL排序AC代码:#include<bits/stdc++.h>using namespace std;struct stu{ int stunum,score; char na...原创 2020-03-19 17:15:10 · 219 阅读 · 0 评论 -
成绩排序---题解
其实这就是一道简单的结构体应用题记录下来就是为了以后复习用,sort函数中的比较函数的设置;题目链接:成绩排序1289: 成绩排序时间限制: 1 Sec 内存限制: 32 MB提交: 93 解决: 26 外部导入题目描述有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排>序,并输出N个学生排序...原创 2020-03-18 15:36:22 · 476 阅读 · 0 评论 -
L1-039 古风排版---题解
不努力,枉青春愿所有的刷题都有记录;题目链接L1-039 古风排版AC代码#include <iostream>#include <cstring>using namespace std;int main(){ char str[1005],a[100][100]; memset(str,'\0', sizeof(str)); ...原创 2020-03-17 21:38:59 · 155 阅读 · 0 评论 -
L1-033 出生年---题解
用吾辈之青春,护盛世之中华最近,看到祖国母亲,备受国际朋友的欢迎,一场疫情,体现国人的团结,彰显着祖国对人类命运共同体体现的担当。我也想做一个对祖国有贡献的程序猿。。题目链接:L1-033 出生年—题解AC代码:#include <iostream>#include <cstring>#include <algorithm>#inclu...原创 2020-03-17 17:13:29 · 215 阅读 · 0 评论 -
L1-025 正整数A+B---题解
陈越大佬的题目让我很无语,这个bug,我启用了debug都改了将近2小时;呜呜呜,acm本就逆天而行,死在路上很正常;坚持+努力,便可换得前程似锦题目链接L1-025 正整数A+B解题思路:1.因为想到会有乱码,而且会有空格,就想到用一个很长的字符数组去储存A,B2.先用alen,blen测A,B的长度,用两个变量布尔变量标记A,B是否合格3.用三个for循环,第一个测A的长...原创 2020-03-15 17:20:57 · 281 阅读 · 0 评论 -
L1-020 帅到没朋友---题解
我是一个大傻逼,输出格式wa了一个小时,跪在了一个整数的前导‘0’。。。解题思路:1.用一个a[100000]来储存每一个ID,将a数组初始化为-1;2.遍历每一个输入数据,如果每一个的第一个数m,不等于1,对应a数组的下标赋值为1,说明他有朋友3.再一次遍历要查询的数tmp,如果a[tmp]==-1说明他没朋友,此时要将a[tmp]=-1,防止查询重复的数,此过程还要用flag(初...原创 2020-03-15 14:32:12 · 290 阅读 · 0 评论 -
L1-009 N个数求和---题解
说实话,这道题的思路其实不难,但是,实现起来我是卡了;题目链接:L1-009 N个数求和解题思路1.用结构体储存每一个分数2.用sum做累加器3.讨论输出#include <iostream>#include <algorithm>using namespace std;typedef long long ll;struct fraction...原创 2020-03-14 16:26:07 · 1568 阅读 · 2 评论 -
L1-006 连续因子----详细题解
不学?将来,别人壁咚的墙,就是你砌的题目链接连续因子AC代码,里面有详细的注解#include <iostream>#include <cmath>using namespace std;typedef long long ll;int main(){ ll n; cin>>n; int len=0,star...原创 2020-03-13 23:12:29 · 664 阅读 · 0 评论 -
打印沙漏----【题解】
最近在忙天梯赛,比较多事,但是博客还是要坚持下去,,,这是PAT天梯赛上的一道题题目链接:打印沙漏注意:每一行后面的空格不要打出,且就算所给符号全部用完,也要输出0AC代码:#include <iostream>#include <cmath>using namespace std;int main(){ int n; char...原创 2020-03-13 19:11:21 · 192 阅读 · 0 评论 -
杭电oj-神、上帝以及老天爷-【题解】附错排公式解析
题目链接:神、上帝以及老天爷AC代码:#include<iostream>#include<iomanip>using namespace std;typedef long long ll;double fun (int m){ ll a[25],b[25]; a[0]=0;a[1]=0;a[2]=1;a[3]=2; for(int i=4;i...原创 2020-03-03 17:17:10 · 428 阅读 · 0 评论 -
杭电oj——不容易系列之(3)—— LELE的RPG难题——【题解】
题目链接:不容易系列之(3)—— LELE的RPG难题思路:列出前面几项观察下规律, a[1] = 3, a[2] = 6, a[3] = 6;按照一般的思路,找涂n个方格的方法数,可以看涂n-1个方格的方法数,然后涂第n个方格多了多少种方法根据题中“要求任何相邻的方格不能同色,且首尾两格也不同色 ”可知当n大于等于4时,第1格到第n-1格(大于等于3)才不是相邻的思路来...原创 2020-03-03 11:30:24 · 480 阅读 · 0 评论 -
改革春风吹满地——【题解】
中国女孩,应该由我们中国boy来守护。题目链接:改革春风吹满地思路:给你边数,和坐标,然后让你输出对应多边形的面积。思路:先由坐标求三角形,然后多个三角形组合成多边形。原理:利用了已知三角形的三个顶点的坐标求面积的方法。已知直角坐标系3点p(a,b),m(c,d),n(e,f) 求三角形pmn面积的表达式!解:无论三角形的顶点位置如何,△PMN总可以...原创 2020-03-02 11:07:29 · 402 阅读 · 0 评论 -
杭电oj——2035——人见人爱A^B——【题解】
谢谢你,成为我的星辰@球球传送门:人见人爱的A,B思路:这个题其实如果用pow,肯定会爆long long,可以用同余方程,和快速幂取模:同余方程AC代码:#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<c...原创 2020-03-01 15:00:07 · 395 阅读 · 0 评论 -
杭电oj【2030】——汉字统计——《题解》
如果不累,那么我们的梦想岂不是很廉价!!!传送门:汉字统计思路:一个汉字占两个字符,且汉字字符的ASCII码小于零;AC代码:#include<iostream>#include<cstring>using namespace std;int main(){ int n,t; cin>>n; g...原创 2020-03-01 14:50:31 · 223 阅读 · 0 评论 -
偶数求和【题解】
越努力,越幸运!其实这道题题目的逻辑思路一点都不难,就是实现逻辑思路的代码,有点棘手,可能是我比较菜吧!题目链接:偶数求和 偶数求和 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/327...原创 2020-02-28 09:53:11 · 839 阅读 · 0 评论 -
A + B Again【题解】附上不同进制数从键盘输入输出格式要求
说实话这道题中的挺无语的,本来可以是水题,但是当时写的时候就想的比较复杂,long long数据类型本来就包过符号,我把它想成那个用字符串型,把题目复杂化了题目链接:A+B AgainAC代码:【c实现】#include<iostream>using namespace std;typedef long long ll;int main(...原创 2020-02-24 12:39:40 · 440 阅读 · 1 评论 -
今年暑假不AC【题解】
写这篇文章的的时候心里有些难受,昨天晚上,和一个大佬学长,在线去AC,5道题我花了3个小时才AC了3道,他30分钟就AK了,心里还是挺扎心的,没事这也让我看清楚了差距,以后加油刷题吧,毕竟大学如果碌碌无为,那就不用去上大学了,这道题我以前写过,没想到还是卡了,说明理解不透!决定开始写题解博客!让自己刷题有个记录,就算马上来的天梯赛选拔失败,至少证明我来过!!!题目链接:今年暑假不...原创 2020-02-24 10:02:12 · 973 阅读 · 0 评论