算法
文章平均质量分 92
...
DDouble-
成长记录,谢谢大家的点赞和关注
展开
-
图-存储及基本操作-遍历
5.3 图的遍历邻接矩阵的深度优先遍历操作代码void DFS(MGraph G,int i) //深度优先遍历{ visited[i]=1; printf("%c",G.vexs[i]); for(int j=0;i<G.NumVexs;j++){ if(G.arc[i][j]==1&&!visited[j]){//如果i点的临界点没有被访问过,则对该邻接表进行递归调用 DFS(G,j); } } } void DFSTraverse(MGra原创 2021-10-21 18:57:07 · 600 阅读 · 0 评论 -
算法竞赛编程变量命名指南
算法竞赛选手,在变量名使用上,有诸多门派:字母派:a b c d e f g 依次使用新字母派:array,brray,crray 表示三个数组新新字母派:img,jmg,kmg 表示三张图片拼音派:用 shanchu 表示删除,用 xiugai 表示修改卖萌派:QAQ,qwq,TAT,orz复读派:n,nn,nnn重排派:next,extn,xtne化合物派:h2o, ch4, co2下划线派:_ ,,_脏话派:fk,st,t*d除了循环变量一般用 i,j,k 以外,其它变量名大家就转载 2020-12-07 15:25:14 · 580 阅读 · 3 评论 -
题
https://www.cnblogs.com/chenxiaoran666/tag/转载 2020-11-10 19:55:49 · 124 阅读 · 0 评论 -
【入门6】函数与结构体
【入门6】函数与结构体P5461 赦免战俘【模拟+递归】P5461 赦免战俘【模拟+递归】题目描述现有 2n×2n (n≤10) 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵,每个更小的矩阵的边长是原矩阵的一半。其中左上角那一个矩阵的所有作弊者都将得到赦免,剩下 3 个小矩阵中,每一个矩阵继续分为 4 个更小的矩阵,然后通过同样的方式赦免作弊者……直到矩阵无法再分下去为止。所有没有被赦免的作弊者都将被处以原创 2020-11-15 09:11:19 · 653 阅读 · 0 评论 -
【入门5】字符串
字符串绪论P5733 大小写转换P1914 小书童——凯撒密码P1125 笨小猴P1957 口算练习题绪论P5733 大小写转换toupper 小–>大tolower 大–>小 #include<iostream>using namespace std;int main(){ string s;cin>>s; for(int i=0;i<s.size();i++) s[i]=toupper(s[i]); cout<<s;}原创 2020-11-13 15:50:53 · 524 阅读 · 0 评论 -
贪心入门题目集
大佬博客:https://blog.csdn.net/GreenHandCGL/article/details/89219077?utm_source=app看电视#include <cstdio>#include <iostream>#include <algorithm>using namespace std;typedef struct TVShow{ int s, e;}TV;bool cmp(TV tv1, TV tv2){ if (t原创 2020-11-10 20:25:06 · 161 阅读 · 0 评论 -
7-10 集合相似度 (25分)【set】
Nc的意思就是两个集合中都存在的元素个数,比如这个就是87和101两个(不包含一个集合中中重复的),Nt的意思就是找两个集合里面不相等元素的个数,所以只要合并两个集合就行了,合并后就是把重复元素去掉,剩下的就是99,87,101,5,一共四个...原创 2020-11-07 23:23:37 · 488 阅读 · 0 评论 -
c语言int类型的范围为什么是-2^32到(2^31)-1
int类型在内存中占4个字节,也就是用32位二进制表示。其中最高位为符号位,0表示正,1表示负。int类型正数上限二进制表示为0111 1111 1111 1111即(2^32)-1,表示0的符号位是0(即最高位是0):0000 0000 0000 0000由于0已经被正数这一边表示了,所以负数的1000 0000 0000 0000就可以用来表示-2^32...转载 2020-09-26 15:34:02 · 1468 阅读 · 0 评论 -
2020.9.20ccpc2020网络赛题解【未解】
比赛入口:http://acm.hdu.edu.cn/contests/contest_show.php?cid=909这里写自定义目录标题1001 Art Class 2.45%(11/449)1002 Graph Theory Class 22.46%(856/3812)1003 Express Mail Taking 26.69%(2786/10439)【通过】1004 Chess Class 34.26%(37/108)1005 Lunch 8.77%(585/6674)1006 Robotic原创 2020-09-23 17:52:11 · 1256 阅读 · 0 评论 -
2020.9.19选拔
目录4281 Problem A GoGo向前冲4282 Problem B 密码解析(正确)4283 Problem C 三体4284 Problem D 请不要用sort(正确)4287 Problem E 数字根2(正确)4285 Problem F Ackermann function4286 Problem G 消失的元素4281 Problem A GoGo向前冲//答案错误#include<bits/stdc++.h>using namespace std;const原创 2020-09-19 23:18:34 · 136 阅读 · 0 评论 -
2020.9.12选拔
这里写自定义目录标题A Help Me!!!(正确)B 任意数C 小L的光图D 小L求偶E 小L的表达式F 可恶的小JG 敌对的小L和小J(正确)A Help Me!!!(正确)scanf("%[^\n]", str)正则用法,strchr()用法#include <bits/stdc++.h>using namespace std;int main() { char a[105], b; scanf("%[^\n]", a); int len = strlen(a); fo原创 2020-09-15 22:19:51 · 134 阅读 · 0 评论 -
结构体内嵌比较函数bool operator * (const node *x) const {}
博文这个结构体相当于优先队列或者反向的优先队列原创 2020-09-14 17:33:50 · 624 阅读 · 0 评论 -
求GCD(最大公约数)的两种方式
https://www.cnblogs.com/fusiwei/p/11301436.html转载 2020-08-22 19:05:22 · 269 阅读 · 0 评论 -
算法选择判断
判断× √ × √ ×× √ × √ √√选择B 最坏A 问题规模C 算法效率特别高B O(logn)A减少矩阵乘法A动态规划原创 2020-07-01 22:19:51 · 1501 阅读 · 0 评论 -
算法复习1【未完...】
这里写自定义目录标题第一章 算法概述(一)算法的性质第一章 算法概述学习要点:一、理解算法的概念,以及问题求解的过程。二、掌握算法的几种描述方式。三、理解算法的计算复杂性概念。四、掌握算法渐近复杂性的数学表述。(一)算法的性质(1)输入:有零个或多个外部提供的量作为算法的输入。(2)输出:算法产生至少一个量作为输出。这些输出是和输入有某种特定关系的量。(3)确定性:组成算法的每条指令是清晰,无歧义的。(4)有限性(有穷性):算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限原创 2020-06-29 23:06:43 · 230 阅读 · 0 评论 -
上机
今天上级的任务是:1,把课件第二章里面的代码都调试运行一下,要逐语句执行观察一下变量的变化过程。2,分治法编程:改写二分搜索算法。设a[0:n-1]是已排好序的数组,请改写二分搜索算法,使得当x不在数组中时,返回小于x的最大元素位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。第二个编程题的答案,这个题应该是假设一开始所有数都是排好序的,相同的数都是放在一起的3,分治法编程:设集合R={r1,r2,…,rn}是要进行排列的n个元素,其中r1,r2,…,rn可能原创 2020-06-29 23:06:06 · 370 阅读 · 0 评论 -
算法复习2
递归与递归的概念原创 2020-06-15 15:57:32 · 522 阅读 · 0 评论 -
devc++代码调试
devc++代码调试打开左边和右边的窗口打开调式调试打开左边和右边的窗口视图 -> 浮动项目管理器 和 浮动报告窗口再把浮动项目管理器 和 浮动报告窗口 的 √ 去掉成功打开调式把左边的窗口拉开 点击调试浮动报告窗口 打开 --> 调整上下大小,拉出来下面的内容–> 关闭调试先编译点调试在下载完DEV-C++以后进行第一次调试时,系统弹出以上窗口,点击Yes按钮后编译器出现秒退的情况。具体解决方案为:菜单栏>>工具>>编译原创 2020-06-04 17:43:38 · 1314 阅读 · 0 评论 -
动态规划_l1
动态规划基础题除数博弈(归纳法+动态规划)除数博弈(归纳法+动态规划)题目解析:有一个N,选一个x是N的约数&&比0大比N小,N=N-x归纳法:基本思路:数字N如果是奇数,它的约数必然都是奇数;若为偶数,则其约数可奇可偶。无论N初始为多大的值,游戏最终只会进行到N=2时结束,那么谁轮到N=2时谁就会赢。因为爱丽丝先手,N初始若为偶数,爱丽丝则只需一直选1,使鲍...原创 2020-04-16 21:35:16 · 198 阅读 · 0 评论 -
动态规划DP入门
目录一、基础一、基础作用:最优问题基本要素:①最优子结构性质②重叠子问题性质与分治法的区别:分治法:动态规划:如果能【保存已解决的子问题的答案】而在需要时候再找出以求得的答案,就可以避免大量重复计算,从而得到多项式时间算法。基本步骤:(1)找出最优解的性质,并刻划其结构特征。(2)递归地定义最优值。(3)以自底向.上的方式计算出最优值。(4)根据计算最优值时得到的信息,...转载 2020-04-14 18:22:14 · 355 阅读 · 0 评论 -
由数据范围反推算法复杂度以及算法内容
一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在 107107 为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:n≤30, 指数级别, dfs+剪枝,状态压缩dpn≤100 => O(n3)O(n3),floyd,dpn≤1000 => O(n2)O(n2),O(n2logn)O(n2logn),dp,二分n≤10...转载 2020-04-11 18:29:25 · 100 阅读 · 0 评论 -
786. 第k个数
题目描述给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。样例输入:5 32 4 1 5 3输出:3算法1(暴力排序) O(nlogn)先排序,再输出#include<iostream>#include<algorithm>using namespace std;const int N=1e6+10;int n...原创 2020-02-26 11:21:18 · 135 阅读 · 0 评论 -
算法分析的数学基础
目录渐进效率:同阶函数集合渐进效率:输入规模非常大忽略低阶项和常系数只考虑最高阶同阶函数集合原创 2020-03-09 11:39:34 · 107 阅读 · 0 评论 -
啊哈1
排序最快最简单的排序——桶排序期末考试完了老师要将同学们的分数按照从高到低排序。小哼的班上只有 5 个同学,这 5 个同学分别考了 5 分、3 分、5 分、2 分和 8 分,哎考得真是惨不忍睹(满分是 10 分)。接下来将分数进行从大到小排序,排序后是 8 5 5 3 2。#include <stdio.h>int main(){ int a[11],i,j,t; fo...原创 2020-03-02 18:33:23 · 266 阅读 · 0 评论