当前位置: 首页 > news >正文

算法分析与设计期末考试复习GDPU

重点内容:

绪论:
简单的递推方程求解  1.19(1)(2) 、 教材例题  
多个函数按照阶的大小排序  1.18            

分治法:
分治法解决芯片测试问题   
计算a^n的复杂度为logn的算法(快速幂) 
分治法解决平面最近点对问题  (增加预处理) 
锦标赛算法求第二大数的步骤(链表)         
分治法S中第k小元素的归约过程      (m*)       

动态规划:
最长公共子序列问题:蛮力法和动态规划的递归方程或递推关系、动态规划的伪码(填空)、优化函数和标记函数(填空)
矩阵链的乘法问题 : 蛮力法和动态规划的递归方程或递推关系、动态规划的伪码(填空)、备忘录和标记函数(填空)
最大子段和

贪心法:4.3  4.4    4.16  4.21  
    主要设计思想、伪码、复杂度、实例求解
贪心法:活动安排问题问题实例求解、最小延迟调度问题实例求解

回溯:
(填空)回溯算法的主要设计步骤,用回溯算法解决图的m着色问题、货郎问题(TSP)
(填空)分支界限的基本下,用分支界限算法解决最大团问题、背包问题

绪论:

多个函数按照阶的大小排序

简单的递推方程求解 

大小关系:指数级>多项式级>对数多项式级>常数级

化简:

主定理

【北大公开课】  算法设计与分析 屈婉玲教授 (76p)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Ls411W7PB/?p=16&share_source=copy_web&vd_source=7ffbd7feaeedb3d59fb21e59435a53d8

教材例题

【北大公开课】  算法设计与分析 屈婉玲教授 (76p)icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Ls411W7PB/?p=17&share_source=copy_web&vd_source=7ffbd7feaeedb3d59fb21e59435a53d8

分治法:

分治法解决芯片测试问题   

问题描述

一次测试过程:

两片都是好结果,就留一片。其他情况全丢掉

蛮力算法时间复杂度

蛮力算法的判断好坏标准(一片芯片怎么判断好坏)

n为奇数情况

n为偶数情况

结论还是不变

分治法

假设 n为偶数,将 n片芯片两两一组做 测试淘汰,剩下芯片构成子问题,进 入下一轮分组淘汰。(类似锦标赛)

分治命题正确性

时间复杂度

主定理第三种情况ヽ(ー_ー)ノ直接记吧

计算a^n的复杂度为logn的算法(快速幂) 

迭代伪码

输入:底数a,指数n

输出:计算完成的结果result

result=1; //用于存储结果

while n不为0时 do

        if n % 2 == 0 then

                result =result *a        //奇数需多乘一次底数

        a=a*a;

        n/=2;
return result

递归伪码

输入:底数a,指数exponent

输出:计算完成的结果

function fastpow(a, exponent):
    if exponent == 0
        then return 1
    if exponent == 1
        then return a
    temporary <- fastpow(a, exponent/2)
    if exponent % 2 == 0
        then return (temporary  * temporary) 
    else
        return (temporary * temporary * a) 

时间复杂度

分治法解决平面最近点对问题  (增加预处理) 

伪码

直接看课吧【【北大公开课】  算法设计与分析 屈婉玲教授 (76p)】icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Ls411W7PB/?p=25&share_source=copy_web&vd_source=7ffbd7feaeedb3d59fb21e59435a53d8

未改进的算法时间复杂度

改进:增加预处理

括号里面是第几个点,比如-2(3)就是横坐标x=-2,第p3点

改进后算法的时间复杂度

锦标赛算法求第二大数的步骤(链表)         

题目描述&蛮力算法时间复杂度

锦标赛算法

伪代码

7是第二小

时间复杂度

算法比较分为两部分:第一部分是找最大元素max的比较次数,显然为n-1;第二部分是在产生max后链表中找最大所需的比较次数。

分治法S中第k小元素的归约过程      (m*)       

问题描述

简单的算法(k次最小算法 or 排序后输出)

分治算法

每一组就是一列,先排序,上面大下面小

8,7,10,4不确定大小,所以要和m*比较

伪代码 

时间复杂度

动态规划:

最长公共子序列问题:

蛮力法的时间复杂度O(n*2^{m})

#include <iostream>
#include <string>
using namespace std;string lcs_bruteforce(const string& X, const string& Y) {int m = X.length();int n = Y.length();if (m == 0 || n == 0) {return "";} else if (X[m-1] == Y[n-1]) {return lcs_bruteforce(X.substr(0, m-1), Y.substr(0, n-1)) + X[m-1];} else {string lcs1 = lcs_bruteforce(X.substr(0, m-1), Y);string lcs2 = lcs_bruteforce(X, Y.substr(0, n-1));if (lcs1.length() > lcs2.length()) {return lcs1;} else {return lcs2;}}
}int main() {string X = "ABCBDAB";string Y = "BDCAB";string lcs = lcs_bruteforce(X, Y);cout << "The longest common subsequence is: " << lcs << endl;return 0;
}

参考代码

动态规划的递归方程或递推关系

✨代码实现: 

【算法设计与分析MOOC-青岛大学-张公敬教授】

动态规划的伪码(填空)

动态规划时间复杂度O(m*n)

追踪解时间复杂度O(m + n)

优化函数(填空)

X = 【1, 2, 3】, Y = 【1, 3】按照下图关系推

标记函数(填空)

b数组用来设立标记,算法结束后可以利用这些标记追踪最优解。

例子:

怎么推?
c[i][j]矩阵:

按照信息表即可推出b矩阵(数组)

 如何追踪解? 
b[i][j]为1时,对应X、Y序列第i行,j列中的元素

矩阵链的乘法问题:

蛮力法的时间复杂度\Omega(2^{2n}/{n^{\frac{3}{2}}})

动态规划的递归方程或递推关系

动态规划的伪码(填空)

递归实现:

时间复杂度

迭代实现:

备忘录(填空)

看着递推方程来填空

自己复制代码,断点调试设置变量查看吧

#include <bits/stdc++.h>
using namespace std;
//输入:矩阵链Ai…j的输入为向量P=<Pi-1,Pi,…,Pj>,其中:1<=i<=j<=n.
//输出:计算Ai…j的所需最小乘法运算次数m[i,j]和最后一次运算位置s[i,j]。
const int N = 101;
int m[N][N], s[N][N];
int a[] = {30, 35, 15, 5, 10, 20};void MatrixChain(int a[N], int n)
{for(int i=1; i<=n; i++)m[i][i] = 0;for(int r=2; r<=n; r++){for(int i=1; i<= n-r+1; i++){int j = i+r-1;m[i][j] = m[i+1][j] + a[i-1]*a[i]*a[j];s[i][j] = i;for(int k=i; k<=j-1; k++){int t = m[i][k] + m[k+1][j] + a[i-1]*a[k]*a[j];if(t < m[i][j]){m[i][j] = t;s[i][j] = k;}}}}
}int main()
{MatrixChain(a, 6);cout << "The number of least multiplication operations:" << endl;cout << m[1][5] << endl;cout << "Position of the last operation:" << endl;cout << s[1][5] << endl;cout << "array s:" << endl;for(int i=1; i<=5; i++){for(int j=1; j<=5; j++){cout << s[i][j] << ' ';}cout << endl;}return 0;
}

标记函数(填空)

记录k的值,k就是分割线

最大子段和

力扣(LeetCode)53.最大子数组和

蛮力算法O(n^2--n^3)

O(n^{3})

改进后O(n^{2})

分治算法O(nlogn)

思路:一路分分分,分到只有左边一个和右边一个的时候开始计算。分治区间左右两半分别求和放好(leftsum, rightsum),还有一个跨边界,把边界左边(整个数组第一个元素)和右边(整个数组最后一个元素)全加起来

分治区间:当前递归函数所计算的左右区间


代码: 

————————————————
版权声明:图片为博主原创文章摘录
链接:https://blog.csdn.net/weixin_73523694/article/details/134515793 

动态规划算法

类似前缀和思想,判断前一个数是否大于0,不是就不加,是就加,当前数+前一个数。以达到最大和的目的

时间复杂度O(n),空间复杂度O(n)

伪代码写成代码: 

int MaxInterval(vector<int> a, int len) {vector<int> dp(len);int res = -INF;dp[0] = a[0];for(int i = 1; i < len; i ++ ) {dp[i] = max(a[i], dp[i - 1] + a[i]);res = max(res, dp[i]);}return res;
}

贪心法:

4.3

最坏情况下的时间复杂度函数

主要设计思想、伪码、复杂度、实例求解 

这是一个经典的区间覆盖问题,可以通过贪心算法来解决。我们的目标是用最少的基站覆盖所有房子,且每个房子都在至少一个基站的左右4千米范围内。

主要设计思想

1. 贪心策略:为了覆盖最多的房子,每次选择离A(起点)最近尚未被覆盖的房子。房子的位置+4km作为新基站的位置。这样可以确保新基站能覆盖最多未被覆盖的房子。
2. 迭代过程:从房子A开始,依次考虑每个房子,如果当前房子不在已有基站的覆盖范围内,则在其位置往后4km设置新的基站。
3. 覆盖检查:对于每个房子,检查是否已经在任意基站的4千米范围内。如果是,则该房子已被覆盖;如果不是,则需要在新的位置设置基站。

伪码
输入:房子距离A的列表distances[1...n]
输出:基站位置列表base_stations

初始化基站位置列表base_stations为空

对房子距离A的列表进行升序排序
base_stations[1] <- distances[1]+4

for i = 1 to n do
    rightpoint <- base_stations[i]+4
    if distances[i] > rightpoint then
            基站位置列表base_stations添加设置新基站位置distances[i]+4

return base_stations

课本答案:

时空复杂度分析

        时间复杂度:最坏情况下,我们需要遍历所有的房子来检查是否已经被覆盖,因此时间复杂度为O(n),其中n是房子的数量。
        空间复杂度:除了输入的距离列表,我们还需要存储基站位置列表,因此空间复杂度为O(n)。

实例求解

假设房子到A的距离分别是[0, 5, 10, 15]千米。按照上述算法:

1. 从房子A开始,设置基站1(位置0+4千米),覆盖范围[0, 8]千米。房子B(位置5千米)在覆盖范围内。
2. 房子C(位置10千米)不在覆盖范围内,设置基站2(位置10+4千米),覆盖范围[10, 18]千米。房子D(位置15千米)在覆盖范围内。

最终基站位置为[4,14]千米。

这个算法通过贪心策略确保了使用最少数量的基站来覆盖所有的房子,同时满足每个房子都在至少一个基站的4千米范围内。

4.4  

题目:

主要设计思想、伪码、复杂度、实例求解

这是一个典型的区间覆盖问题,我们可以通过贪心算法来解决这个问题。算法步骤如下

设计思想

        由于点已经按照从小到大的顺序排列,我们可以直接从最小的点开始,每次都尽可能选择包含更多未被覆盖的点的闭区间。具体步骤如下:

1. 初始化闭区间集合为空,当前覆盖的点集也为空。
2. 从未被覆盖的点中选择最小的一个作为新闭区间的左端点。
3. 向右扩展这个长度为1闭区间直到不能覆盖更多的点为止。
4. 将这个闭区间加入到闭区间集合中,记录个数和位置,并将覆盖的点标记为已覆盖。
5. 重复步骤2-4,直到所有的点都被覆盖。

伪码
输入:点集x1, x2, ....., xn
输出:闭区间集合

初始化闭区间集合S为空

for i=1 to n do
    选择未被覆盖的最小点x_i
    设置闭区间右端点right <- x_i + 1
    while x_i+1 < right do
        i <- i+1; (i++的意思)
    将[x_i, right]添加到S

end for

时空复杂度分析

        时间复杂度:算法需要遍历所有的点来确定每个闭区间,因此时间复杂度为O(n),其中n是点的数量。
        空间复杂度:除了输入的点集外,我们需要存储每个闭区间集合位置,因此空间复杂度也是O(n)。

实例求解

假设给定的点集为{1,2,3,7,8,9},按照上述算法:

  • 对于点1,2,闭区间是[1, 2]
  • 对于点3,闭区间是[3, 4]
  • 对于点7,8,闭区间是[7, 8]
  • 对于点9,闭区间是[9, 10]

最终得到的闭区间集合是{[1,2],[3,4],[7,8],[9,10]},闭区间个数4个。覆盖了所有的点。

这个算法确保了每个点都被一个长度为1的闭区间覆盖,满足了题目的要求。

课本答案:

4.16

主要设计思想、伪码、复杂度、实例求解

设计思想:双指针算法(贪心)

算法的核心思想是利用两个指针分别遍历序列A和B。由于B是A的子序列,因此B中的每个元素都必须按顺序出现在A中。我们可以通过比较两个序列当前指针所指向的元素来检查这一点。如果B的当前元素与A的当前元素匹配,则将B的指针向前移动一位;无论是否匹配,A的指针都向前移动一位。如果B的指针移动到了序列末尾,说明B是A的子序列。

课本答案:

伪码:
算法4.16 IsSubsequence
输入:A、B两个序列
输出:如果B是A的子序列,输出True;否则返回False
i <- 0
j <- 0
while i < n and j < m do
        if A[i] == B[j] then
            j <- j+1
        i <- i+1

if j == m then
       Return True
else
       Return False

时空复杂度分析:

时间复杂度为O(n),因为最坏的情况下,我们需要遍历整个A序列一次。
空间复杂度为O(1),因为我们只使用了常数个辅助变量。

实例求解:

假设A = [1, 2, 3, 4, 5],B = [2, 4]。

- 初始化i = 0, j = 0。
- 比较A[0]与B[0],不匹配,i = 1。
- 比较A[1]与B[0],匹配,i = 2, j = 1。
- 比较A[2]与B[1],不匹配,i = 3。
- 比较A[3]与B[1],匹配,i = 4, j = 2。
- 此时j已经等于B的size,说明B是A的子序列。

因此,算法判断B是A的子序列是正确的。

4.21  

题目:

主要设计思想、伪码、复杂度、实例求解

设计思想:

伪码:
算法4.21 FindSmallestSet(A)
输入:n个集合A1,...,An。
输出:最小的满足条件的集合S。
对n个集合的右端点b进行升序排序
A[1]作为一个交集,加入S
x <- A[1].b1
for i <- 1 to n do

        if A[i]的左端点小于当前交集右端点x then
                选一个集合A[i]作为一个交集,加入S
                x <- A[i].bi
return S

课本答案:

bi就是右端点

 

时空复杂度分析:

时间复杂度为O(nlogn),因为需要对集合进行排序。
空间复杂度为O(n),用于存储集合S。

实例求解:

假设有集合 A1 = [1, 3],  A2 = [2, 6],  A3 = [7, 10],  A4 = [8, 9]。

- 对n个集合的右端点进行升序排序,A1,A2,A4,A3。
- 选择A1,加入S中。由于A2左端点小于A1右端点,所以删除A2
- 选择A4,加入S中。由于A3左端点小于A4右端点,所以删除A3
- 返回S = {A1, A4}作为最小集合,满足每个Ai至少含有S中的一个数。

活动安排问题实例求解

如果第二个活动的开始时间大于第一个活动的结束时间,就加入集合A

先按照起始时间排序

最小延迟调度问题实例求解

题目P91

回溯:

回溯算法的主要设计步骤

多米诺性质

用回溯算法解决图的m着色问题

搜索策略:深度优先

时间复杂度O(nm^{n})

第一个解向量:< 1, 2, 1, 3, 1, 2, 3 >。根据对称性,只需搜索 1/3 的解空间. 当点1和点2确定, 即 以后,只有1个解,点2为根的子树中也只有1个解。由于3个子树的对称性,总共6个解。
对称性:3的地方换成2,2的地方换成3

货郎问题(TSP)旅行售货员问题

定义(题目)

解向量 & 约束条件 & 搜索空间(子结点排列规则)

【【北大公开课】  算法设计与分析 屈婉玲教授 (76p)】

太多不更了,看视频吧

分支限界

相关概念

      目标函数(极大化或极小化)

      约束条件(解满足的条件)

      可行解: 搜索空间满足约束条件的解

      最优解: 使得目标函数达到极大 (或极小)的可行解


用分支限界算法解决最大团问题

题目

代价函数

实例

来不及就直接背吧

用分支限界算法解决背包问题

题目:

代价函数

\Delta是理想情况下,每一个小空隙都装第k+1件物品。实际情况是第k+1件物品塞不满这些空隙的

分支策略:深度优先

界函数

界函数初始值0,到达橙色框后得到了更好的可行解,就更新界函数的值为12。
之后的深度搜索中,当代价函数大于界函数时,继续向下搜索。当代价函数小于界函数时,就可以停止向前了,因为往下也得不到更好的,这已经是下面的叶子结点中最大的一个代价函数值

习题 

【算法分析与设计】【期中(末)复习题】【2022秋】

相关文章:

算法分析与设计期末考试复习GDPU

重点内容&#xff1a; 绪论&#xff1a; 简单的递推方程求解 1.19(1)(2) 、 教材例题 多个函数按照阶的大小排序 1.18 分治法&#xff1a; 分治法解决芯片测试问题 计算a^n的复杂度为logn的算法&#xff08;快速幂&#xff09; 分治法解决平面最近点对问…...

分批次训练和评估神经网络模型

【背景】 训练神经网络模型的时候&#xff0c;特征组合太多&#xff0c;电脑的资源会不足&#xff0c;所以采用分批逐步进行。已经处理过的批次保存下来&#xff0c;在下一次跳过&#xff0c;只做新加入的批次训练。 选择最优模型组合在中间结果的范围内选择&#xff0c;这样…...

【CS.AL】算法核心之分治算法:从入门到进阶

文章目录 1. 概述2. 适用场景3. 设计步骤4. 优缺点5. 典型应用6. 题目和代码示例6.1 简单题目&#xff1a;归并排序6.2 中等题目&#xff1a;最近点对问题6.3 困难题目&#xff1a;分数背包问题 7. 题目和思路表格8. 总结References 1000.01.CS.AL.1.4-核心-DivedeToConquerAlg…...

leetcode刷题记录:hot100强化训练2:二叉树+图论

二叉树 36. 二叉树的中序遍历 递归就不写了&#xff0c;写一下迭代法 class Solution(object):def inorderTraversal(self, root):""":type root: TreeNode:rtype: List[int]"""if not root:return res []cur rootstack []while cur or st…...

湘潭大学信息与网络安全复习笔记2(总览)

前面的实验和作业反正已经结束了&#xff0c;现在就是集中火力把剩下的内容复习一遍&#xff0c;这一篇博客的内容主要是参考教学大纲和教学日历 文章目录 教学日历教学大纲 教学日历 总共 12 次课&#xff0c;第一次课是概述&#xff0c;第二次和第三次课是密码学基础&#x…...

C语言:头歌使用函数找出数组中的最大值

任务描述 本关任务&#xff1a;本题要求实现一个找出整型数组中最大值的函数。 函数接口定义&#xff1a; int FindArrayMax( int a[], int n ); 其中a是用户传入的数组&#xff0c;n是数组a中元素的个数。函数返回数组a中的最大值。 主程序样例: #include <stdio.h>#…...

【技巧】Leetcode 191. 位1的个数【简单】

位1的个数 编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中 设置位 的个数&#xff08;也被称为汉明重量&#xff09;。 示例 1&#xff1a; 输入&#xff1a;n 11 输出&#xff1a;3 解释&#x…...

【Pandas驯化-02】pd.read_csv读取中文出现error解决方法

【Pandas】驯化-02pd.read_csv读取中文出现error解决方法 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 相关内容文档获取 微信公众号 &…...

linux下C语言如何操作文件(三)

我们继续介绍file_util.c中的函数: bool create_dir(const char* path):创建目录,根据给定的path创建目录,成功返回true,否则返回false。如果有父目录不存在,该函数不会创建。 /*** 创建目录* @param path 目录路径* @return true 创建成功,false 创建失败*/ bool cre…...

6.14作业

使用手动连接&#xff0c;将登录框中的取消按钮使用第二中连接方式&#xff0c;右击转到槽&#xff0c;在该槽函数中&#xff0c;调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0…...

MySQL数据库管理(一)

目录 1.MySQL数据库管理 1.1 常用的数据类型​编辑 1.2 char和varchar区别 2. 增删改查命令操作 2.1 查看数据库结构 2.2 SQL语言 2.3 创建及删除数据库和表 2.4 管理表中的数据记录 2.5 修改表名和表结构 3.MySQL的6大约束属性 1.MySQL数据库管理 1.1 常用的数据类…...

Kafka使用教程和案例详解

Kafka 使用教程和案例详解 Kafka 使用教程和案例详解1. Kafka 基本概念1.1 Kafka 是什么?1.2 核心组件2. Kafka 安装与配置2.1 安装 Kafka使用包管理器(如 yum)安装使用 Docker 安装2.2 配置 Kafka2.3 启动 Kafka3. Kafka 使用教程3.1 创建主题3.2 生产消息3.3 消费消息3.4 …...

TGI模型- 同期群-评论文本

用户偏好分析 TGI 1.1 用户偏好分析介绍 要分析的目标&#xff0c;在目标群体中的均值 和 全部群体里的均值进行比较&#xff0c; 差的越多说明 目标群体偏好越明显 TGI&#xff08;Target Group Index&#xff0c;目标群体指数&#xff09;用于反映目标群体在特定研究范围内…...

ESP32 BLE学习(0) — 基础架构

前言 &#xff08;1&#xff09;学习本文之前&#xff0c;需要先了解一下蓝牙的基本概念&#xff1a;BLE学习笔记&#xff08;0.0&#xff09; —— 基础概念&#xff08;0&#xff09; &#xff08;2&#xff09; 学习一款芯片的蓝牙肯定需要先简单了解一下该芯片的体系结构&a…...

【JAVA】Java中Spring Boot如何设置全局的BusinessException

文章目录 前言一、函数解释二、代码实现三、总结 前言 在Java应用开发中&#xff0c;我们常常需要读取配置文件。Spring Boot提供了一种方便的方式来读取配置。在本文中&#xff0c;我们将探讨如何在Spring Boot中使用Value和ConfigurationProperties注解来读取配置。 一、函数…...

pdf.js实现web h5预览pdf文件(兼容低版本浏览器)

注意 使用的是pdf.js 版本为 v2.16.105。因为新版本 兼容性不太好&#xff0c;部分手机预览不了&#xff0c;所以采用v2版本。 相关依赖 "canvas": "^2.11.2", "pdfjs-dist": "^2.16.105", "core-js-pure": "^3.37.…...

SSID简介

一、 SSID 概念定义 SSID&#xff08;Service Set Identifier&#xff09;即服务集标识符。它是无线网络中的一个重要标识&#xff0c;用于区分不同的无线网络。 相当于无线网络的名称&#xff0c;用于区分不同的无线网络。用户在众多可用网络中识别和选择特定网络的依据。通…...

PS通过GTX实现SFP网络通信1

将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接&#xff0c; 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…...

前端面试项目细节重难点(已工作|做分享)(九)

面试官&#xff1a;请你讲讲你在工作中如何开发一个新需求&#xff0c;你的整个开发过程是什么样的&#xff1f; 答&#xff1a;仔细想想&#xff0c;我开发新需求的过程如下&#xff1a; &#xff08;1&#xff09;第一步&#xff1a;理解需求文档&#xff1a; 首先&#x…...

区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BP-ABKDE的BP神经网络自适应带…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题

20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题 2025/6/9 20:54 缘起&#xff0c;为了跨网段推流&#xff0c;千辛万苦配置好了网络参数。 但是命令iptables -t filter -F tetherctrl_FORWARD可以在调试串口/DEBUG口正确执行。…...

Docker环境下安装 Elasticsearch + IK 分词器 + Pinyin插件 + Kibana(适配7.10.1)

做RAG自己打算使用esmilvus自己开发一个&#xff0c;安装时好像网上没有比较新的安装方法&#xff0c;然后找了个旧的方法对应试试&#xff1a; &#x1f680; 本文将手把手教你在 Docker 环境中部署 Elasticsearch 7.10.1 IK分词器 拼音插件 Kibana&#xff0c;适配中文搜索…...

Springboot多数据源配置实践

Springboot多数据源配置实践 基本配置文件数据库配置Mapper包Model包Service包中业务代码Mapper XML文件在某些复杂的业务场景中,我们可能需要使用多个数据库来存储和管理不同类型的数据,而不是仅仅依赖于单一数据库。本技术文档将详细介绍如何在 Spring Boot 项目中进行多数…...

创客匠人:如何通过创始人IP打造实现知识变现与IP变现的长效增长?

在流量红利逐渐消退的当下&#xff0c;创始人IP的价值愈发凸显。它不仅能够帮助中小企业及个人创业者突破竞争壁垒&#xff0c;还能成为企业品牌影响力的核心资产。然而&#xff0c;市场上IP孵化机构鱼龙混杂&#xff0c;如何选择一家真正具备长期价值的合作伙伴&#xff1f;创…...

【NLP】 38. Agent

什么是 Agent&#xff1f; 一个 Agent 就是能够 理解、思考&#xff0c;并且进行世界交互 的模型系统&#xff0c;并不是纯粹的 prompt 返回器。 它可以&#xff1a; 读取外部数据&#xff08;文件/API&#xff09;使用记忆进行上下文维持用类Chain-of-Thought (CoT)方式进行…...