算法-复习题2
考试总结致谢:感谢gjx同学的笔记😁以及jjj的txt文本,感谢yfm和tyq同学的纠错,还找了好几个错误🤣
纠错小分队:
yfm 找出3个错误并且还提供了一个手绘图
tyq😘 1个错误
xy 1个错误
看前须知:看每一个题前,需要看红字说明,介绍这个题是考还是不考
点我!我是在线编译网站
如何代码需要输入时,需要在网站这个位置,填上相应数字。
非空子集最好把代码背一下谢谢美丽的syw🤣,写那么多,真是辛苦啦
#include<iostream>using namespace std;int s[4] = {1, 2, 3, 4};int x[4];int N = 4;void SubSet(int i) { if(i >= N) { for(int j = 0; j < N; j++) if(x[j]) cout << s[j] << " "; cout< ...
算法-复习题1
算法总结什么是算法😊?算法一般还必须满足哪些重要特性?答:算法是对特定问题求解步骤的一种描述,是指令的有限序列。算法还必须满足下列5个重要特性:
输入:一个算法有零个或多个输入(即算法可以没有输入);
输出:一个算法有一个或多个输出(算法必须要有输出),通常输出与输入之间有着某种特定的关系;
有穷性:一个算法必须总是(对任何合法的输入)在执行有穷步之后结束,且每一步都在有穷时间内完成;
确定性:算法中的每一条指令必须有确切的含义,不存在二义性。并且,在任何条件下,对于相同的输入只能得到相同的输出。
可行性:算法描述的操作可以通过已经实现的基本操作执行有限次来实现。
考虑下面的算法,回答下列问题,算法完成什么功能?算法的基本语句是什么?基本语句执行了多少次?算法的时间复杂性是多少?(1)考虑下面的算法,回答下列问题,算法完成什么功能?算法的基本语句是什么?基本语句执行了多少次?算法的时间复杂性是多少?
(1)int Mistery(int n) (2)int Q(int n){ ...
面试杂项
Java后端——瑞吉外卖项目提问及回答
1、在瑞吉外卖项目中,后端API设计和开发需要考虑哪些问题?
在瑞吉外卖项目中,后端API的设计和开发需要考虑以下几个问题:
功能需求:首先需要明确外卖项目的功能需求,包括用户注册、登录、浏览菜单、下单、支付、订单管理等功能。这些需求将指导后端API的设计和实现。
数据模型设计:根据功能需求,设计合适的数据模型来存储用户信息、菜单信息、订单信息等数据。考虑到外卖项目通常需要处理大量订单,对数据模型的设计要充分考虑性能和扩展性。
API设计:确定API的端点(endpoints)和操作(operations)。每个端点对应一个特定的功能,例如获取菜单信息、创建订单等。定义清晰的API接口,并采用一致的命名和参数约定,以便于前端开发人员的使用和理解。
认证和授权:外卖项目通常需要身份认证和授权机制,以确保只有经过验证的用户可以访问敏感数据和执行特定操作。设计适当的认证和授权机制,例如使用JSON Web Token(JWT)进行用户认证,并为不同的用户角色分配不同的权限。
安全性考虑:在API设计和开发中,要考虑数据的安全性。使用加密协议( ...
设计模式
分类创建型模式注重完成对象的实例化,相比于直接实例化对象,根据实际情况选择合适的设计模式完成对象的实例化,可以为复杂的业务场景带来更高的灵活性。
工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式结构型设计模式用于指导我们完成对代码的结构划分,如此,代码结构会更加清晰,更易理解,也提高了软件的可维护性。
适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式行为型设计模式主要用于定义对象之间的通信与流程控制,主要的设计模式都非常注重优化对象之间的数据交互方式。
策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
六大原则开放封闭原则(Open Close Principle)
原则思想:尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化
描述:一个软件产品在生命周期内,都会发生变化,既然变化是一个既定的事实,我们就应该在设计的时候尽量适应这些变化,以提高项目的稳定性和灵活性。
优点:单一原则告诉我们,每个类都有自己负责的职责,里氏 ...
蓝桥杯-赛题
第十四届蓝桥杯C++B组冶炼金属
#include<iostream>#include<algorithm>using namespace std;const int N=1e5+10;int a[N],b[N];int n;bool check1(int mid){ for(int i=0;i<n;i++) if(a[i]/mid>b[i]) return false; return true;}bool check2(int mid){ for(int i=0;i<n;i++) if(a[i]/mid<b[i]) return false; return true;}int main(){ cin>>n; for(int i=0;i<n;i++){ scanf("%d%d",&a[i],&b[i] ...
算法-蓝桥杯
算法基础递归和递推递归递归算法在计算机系统中用栈帮助实现,一般常见的算法有深度优先遍历(DFS),可以解决的问题有迷宫问题是否连通的问题,递推会对应一个递归搜索树,递归搜索树可以帮助我们更好的理解递归的流程,递归要注意的有是否可以进行剪枝,在迷宫问题中,也要考虑是否要保存原有的迷宫。
入门例题递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3
题解:
对于指数型枚举一个数只有选与不选的区分,所以我们从第一个位置,枚举到第 n 个位置,在第 i 个位置上,i 这个数只有选与不选的区别,选的话我们将 st [i] 记录为 i;不选记录为-1;一直到 u > n 时枚举了所有的位置,此时输出即可,要注意的是在输出完后要记得 return 掉
#include< ...
算法-基础
y 总的算法基础模板
这里是 y 总的算法基础模板
快速排序算法模板 —— 模板题 AcWing 785. 快速排序void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick_sort(q, l, j), quick_sort(q, j + 1, r);}
归并排序算法模板 —— 模板题 AcWing 787. 归并排序void merge_sort(int q[], int l, int r){ if (l >= r) return; ...
算法-板子
自己的算法总结
这里是自己的算法总结
基础知识
typedef 需要定义在using下面
#define 需要定义在头文件哪里
能使用全局变量,就使用全局变量
快速幂long long fastPower(long long base, long long power) { long long result = 1; while (power > 0) { if (power & 1) {//此处等价于if(power%2==1) result = result * base % 1000; } power >>= 1;//此处等价于power=power/2 base = (base * base) % 1000; } return result;}
线性筛//p是bool数组,如果是0表示是质数//q用来存放质数void init(int n){ for (int i = ...
选题、命题、介绍分析
2019年“华为杯”第十六届中国研究生数学建模竞赛——选题、命题介绍分析:
本文来自公众号——《中国研究生数学建模竞赛》
介绍人是彭国华老师关于2019年第16届研究生数学建模竞赛的选题、命题及命题方向的介绍分析。
彭国华西北工业大学理学院教授,博士生导师,陕西计算数学学会副理事长,主持国家自然基金等项目10余项。曾获省部级科技进步奖、省级教学一等奖及全国研究生建模杰出贡献奖等多重奖项,并多年致力于中国研究生数学建模竞赛的命题和审题等工作。
A题:无线智能传播模型 (关键词:5G)A题主要是针对当前5G技术的发展和应用命制的。随着5G应用范围的扩大,运营商在部署5G网络过程中间,需要合理选择覆盖区域的基站站点,进而通过部署基站来满足用户的通讯要求。在整个无线网络规划的流程中,高校的网络估算对于精确度以及网络的部署有着非常重要的意义,所以这道题与5G的应用技术有很好的契合,具有前沿性和较大的创新空间。
其中选取了来自清华大学O(logn)队提出的无限智能传播建模思路,该队获得一等奖。
B题:天文导航中的星图识别 (关键词:人工智能)B题是很富有挑战性的一套题。天文导航是基于天 ...
比赛心得
数学建模比赛心得经历了个五天四夜的建模生活,让我感受到了什么是越长大越熬不起夜。
还是那句话说的好,年轻就是资本。年轻的时候想干什么就干什么,而且精力很旺盛。而当你熬夜的时候,发现第二天再也不会像以前那样有活力时,那么恭喜你,你已经不在年轻。
数学建模比赛一般是专家出五到六个题,供大家从中选择一道来完成比赛文档的撰写。没错就是一个题,一个题下面一般有三到四个子问题,给你五天四夜的时间去完成,当然了比赛是以团队进行报名的,需要团队来完成。在比赛期间你可以充分利用所有资源来解决问题,并把解决问题的思路和提出的模型撰写成论文,最后提交就算完成比赛。
如果没参加过比赛的,可能会觉得五天四夜解决一个大问题时间是充裕的,其实不是这样的,别小看了这一个大问题,这可是专家辛辛苦苦花了很久才想出来的,如果让别人一两天就解决,是不是水平太不行了。一个题目需要花多久时间来完成,可能他们在出题的时候已经衡量过,所以基本上不要去想有容易的题目。
其实在拿到所有题目的时候,第一件要做的事情就是先把所有的题目都过一篇,再从这些题目中挑选一个题目来作为自己的题目。一开始的时候,大家过题目后都会凭感觉认为其中有些容易 ...