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

【算法竞赛】dfs+csp综合应用(蓝桥2023A9像素放置)

目录

一、 题目

二、思路

(1)算法框架选择

(2)剪枝策略

具体来说就是:

三、代码

(1) 数据读取与初始化

(2) 检查当前填充是否符合要求

(3) 递归 DFS 进行填充

(4) 读取输入 & 调用 DFS

(5) 完整代码


一、 题目

9.像素放置 - 蓝桥云课

【将题目翻译过来就是】:

该游戏基于 n × m 的网格棋盘进行,每个网格可以是白色或黑色,并且某些网格内标注了数字 x(0 ≤ x ≤ 9)。

核心规则:

  • 每个带数字 x 的网格周围 8 个相邻格子(上下左右 + 左上、左下、右上、右下)中,必须恰好有 x 个格子被填充为黑色。

  • 其余未标注数字的网格可以自由填充。

  • 最终输出符合条件的填充方案,白色格子用 0 表示,黑色格子用 1 表示。

二、思路

这道题本质上是一个约束满足问题(CSP),每个数字格子对其九宫格区域内的黑色格子数施加了严格约束,我们需要在满足所有约束的条件下找到唯一的合法解,个人认为这个问题的挑战在于:

  1. 所有约束相互关联,修改一个格子可能影响多个数字区域

  2. 需要同时处理正向推导(根据已知约束确定颜色)和反向验证(尝试填充后检查约束)

  3. 必须确保解的唯一性

(1)算法框架选择

我们采用DFS框架,但与我们一般用传统DFS解题的区别在于:

  1. 非路径式搜索:不是寻找路径,而是构建完整的二维状态

  2. 顺序填充:按行优先顺序逐个填充格子(0,0)→(0,1)→...→(n-1,m-1)

  3. 随时验证:在填充过程中随时验证已确定的约束

(2)剪枝策略

当处理到格子(x,y)时,其左上方的格子(x-1,y-1)的后续填充操作不会再改变该格子的状态,这其实也就是说:

  1. 在填充(x,y)后,必须立即验证(x-1,y-1)的约束

  2. 当处理到行末(y=m-1)时,还需验证正上方格子(x-1,y)的约束

这种剪枝策略基于"最早失败"原则——一旦发现局部约束不满足,立即停止当前搜索路径,可以比较有效的减少时间复杂度

具体来说就是:
当前处理位置必须验证的约束位置
非行末(y<m-1)(x-1,y-1)
行末(y=m-1)(x-1,y-1)和(x-1,y)

弄明白了这两个问题,其实这个问题就比较轻松了,核心就是如何实现约束 

三、代码

(1) 数据读取与初始化

#include <iostream>
#include <algorithm>
using namespace std;const int MAX_N = 15;
int n, m;
char map[MAX_N][MAX_N];
int f[MAX_N][MAX_N]; // 存储填色方案
  • 由于 n, m ≤ 15,可以使用 15 × 15 的二维数组存储棋盘数据。

  • map[][] 用于存储输入的棋盘布局。

  • f[][] 用于存储填充方案(0 代表白色,1 代表黑色)。

(2) 检查当前填充是否符合要求

bool check(int x, int y) {if (map[x][y] == '_') return true; // 没有限制的网格,直接返回 trueint num = map[x][y] - '0';int cnt = 0; // 统计周围黑色格子的数量for (int i = -1; i <= 1; i++) {for (int j = -1; j <= 1; j++) {int newX = x + i, newY = y + j;if (newX < 0 || newX >= n || newY < 0 || newY >= m) continue; // 越界检查if (f[newX][newY] == 1) cnt++; // 统计黑色格子}}return cnt == num; // 若黑色格子数量符合 `x`,则返回 true
}
  • 遍历 3×3 的范围,统计黑色格子数量。

  • 若符合 x 约束,返回 true,否则返回 false

(3) 递归 DFS 进行填充

void dfs(int x, int y) {if (x == n) {for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) cout << f[i][j];cout << endl;}return;}// 计算下一步的坐标int nextX = (y == m - 1) ? x + 1 : x;int nextY = (y == m - 1) ? 0 : y + 1;// 先尝试填黑色f[x][y] = 1;if ((x == 0 || y == 0 || check(x-1, y-1)) && (y == m - 1 || check(x-1, y)))dfs(nextX, nextY);// 尝试填白色f[x][y] = 0;if ((x == 0 || y == 0 || check(x-1, y-1)) && (y == m - 1 || check(x-1, y)))dfs(nextX, nextY);
}
  • 递归填充每个网格,并在 x == n 时输出方案。

  • 由于每个格子可以填 01,因此分别尝试后递归调用 dfs

  • 在填充后,检查左上角及已填充区域是否仍满足 x 约束。

(4) 读取输入 & 调用 DFS

int main() {cin >> n >> m;for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf(" %c", &map[i][j]); // 读取地图数据}}dfs(0, 0); // 递归填充return 0;
}
  • 读取棋盘信息,并调用 dfs(0,0) 开始填充。

  • 由于 scanf(" %c") 前有空格,可自动跳过空白符(空格、换行)。

(5) 完整代码

//每个格子都要填到,但是可能重复访问,比如先填黑色,再填白色
//如何解决重复访问且保证不会死循环:按顺序遍历格子
#include <iostream>
#include <algorithm>
using namespace std;
int n,m;
char map[15][15];
int f[15][15];//填色方案
bool check(int x,int y)
{if(map[x][y]=='_') return true;else {int num=map[x][y]-'0';int cnt=0;//涂黑的个数for(int i=-1;i<=1;i++){for(int j=-1;j<=1;j++){int newx=x+i,newy=y+j;if(newx<0||newx>=n||newy<0||newy>=m) continue;if(f[newx][newy]==1) cnt++;}}if(cnt==num) return true;else return false;}
}
void dfs(int x,int y)//剩余的可以填黑色的方格数,已经填过的方格数
{//按逐行逐列的顺序填充//全部填充完if(x==n) {//检查最后一行是否全满足条件//(还剩最后一行没有检查)for(int y=0;y<m;y++){if(!check(n-1,y)) return;//该方案不符合条件}//输出符合条件的方案for(int i=0;i<n;i++){for(int j=0;j<m;j++) cout<<f[i][j];cout<<endl;}return;}//每次填充完当前格子检查左上方格子是否合格//因为它的状态不会再被影响了,已经固定了//到达最后一列的情况要特殊判断,不仅要判断左上方还要判断上方,还涉及到换行if(y==m-1){//填黑色f[x][y]=1;//第一行不用检查,第一列只用检查上方if(x==0||check(x-1,y-1)&&check(x-1,y)||y==0&&check(x-1,y)) dfs(x+1,0);//换行//填白色 f[x][y]=0;if(x==0||check(x-1,y-1)&&check(x-1,y)||y==0&&check(x-1,y)) dfs(x+1,0);//换行}//最后一列之前只用检查左上方else{//填黑色f[x][y]=1;if(x==0||y==0||check(x-1,y-1)) dfs(x,y+1);//填白色f[x][y]=0;if(x==0||y==0||check(x-1,y-1)) dfs(x,y+1);}
}
int main()
{cin>>n>>m;for(int i=0;i<n;i++){//scanf前面加空格读换行 for(int j=0;j<m;j++) cin>>map[i][j];                   }dfs(0,0);return 0;
}

相关文章:

【算法竞赛】dfs+csp综合应用(蓝桥2023A9像素放置)

目录 一、 题目 二、思路 &#xff08;1&#xff09;算法框架选择 &#xff08;2&#xff09;剪枝策略 具体来说就是&#xff1a; 三、代码 (1) 数据读取与初始化 (2) 检查当前填充是否符合要求 (3) 递归 DFS 进行填充 (4) 读取输入 & 调用 DFS (5) 完整代码 一…...

3D点云配准RPM-Net模型解读(附论文+源码)

RPM-Net 总体流程代码数据预处理模型计算 α α α和 β β β特征提取变换矩阵计算损失 论文链接&#xff1a;RPM-Net: Robust Point Matching using Learned Features 官方链接&#xff1a;RPMNet 老规矩&#xff0c;先看看效果。 看看论文里给的对比图 总体流程 在学…...

23种设计模式-行为型模式-命令

文章目录 简介问题解决代码核心设计优势 总结 简介 命令是一种行为设计模式&#xff0c; 它能把请求转换为一个包含与请求相关的所有信息 的独立对象。这个转换能让你把请求方法参数化、延迟请求执行或把请求放在队列里&#xff0c;并且能实现可撤销操作。 问题 假如你正在开…...

ngx_cpystrn

定义在 src\core\ngx_string.c u_char * ngx_cpystrn(u_char *dst, u_char *src, size_t n) {if (n 0) {return dst;}while (--n) {*dst *src;if (*dst \0) {return dst;}dst;src;}*dst \0;return dst; } ngx_cpystrn 函数的作用是安全地将源字符串&#xff08;src&#x…...

常用的国内镜像源

常见的 pip 镜像源 阿里云镜像&#xff1a;https://mirrors.aliyun.com/pypi/simple/ 清华大学镜像&#xff1a;https://pypi.tuna.tsinghua.edu.cn/simple 中国科学技术大学镜像&#xff1a;https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣镜像&#xff1a;https://pypi.doub…...

【小沐杂货铺】基于Three.JS绘制太阳系Solar System(GIS 、WebGL、vue、react)

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第二期3【小沐…...

Navicat17详细安装教程(附最新版本安装包和补丁)2025最详细图文教程安装手册

目录 前言&#xff1a;为什么选择Navicat 17&#xff1f; 一、下载Navicat17安装包 二、安装Navicat 1.运行安装程序 2.启动安装 3.同意“协议” 4.设置安装位置 5.创建桌面图标 6.开始安装 7.安装完成 三、安装补丁 1.解押补丁包 2.在解压后的补丁包目录下找到“w…...

记忆宫殿APP:全方位脑力与思维训练,助你提升记忆力,预防老年痴呆

记忆宫殿APP&#xff0c;一款专业的记忆训练软件&#xff0c;能去帮你提升自己的记忆能力&#xff0c;多样的训练项目创新的记忆方法&#xff0c;全方面帮你去提升你的记忆能力。 记忆宫殿APP有丰富的记忆训练项目&#xff0c;如瞬间记忆、短时记忆、机械记忆等&#xff0c;以…...

SpringBoot+Spring+MyBatis相关知识点

目录 一、相关概念 1.spring框架 2.springcloud 3.SpringBoot项目 4.注解 5.SpringBoot的文件结构 6.启动类原理 二、相关操作 1.Jar方式打包 2.自定义返回的业务状态码 3.Jackson 4.加载配置文件 5.异常处理 三、优化配置 1.简化sql语句 2.查询操作 复杂查询 一…...

【力扣hot100题】(050)岛屿数量

一开始还以为会很难很难&#xff08;以为暴力搜索会时间超限要用别的办法&#xff09;&#xff0c;没想到并不难。 我最开始是用vector<vector<bool>>记录搜索过的地域&#xff0c;每次递归遍历周围所有地域。 class Solution { public:vector<vector<char…...

Opencv计算机视觉编程攻略-第九节 描述和匹配兴趣点

一般而言&#xff0c;如果一个物体在一幅图像中被检测到关键点&#xff0c;那么同一个物体在其他图像中也会检测到同一个关键点。图像匹配是关键点的常用功能之一&#xff0c;它的作用包括关联同一场景的两幅图像、检测图像中事物的发生地点等等。 1.局部模板匹配 凭单个像素就…...

pat学习笔记

two pointers 双指针 给定一个递增的正整数序列和一个正整数M&#xff0c;求序列中的两个不同位置的数a和b&#xff0c;使得它们的和恰好为M&#xff0c;输出所有满足条件的方案。例如给定序列{1,2,3,4,5,6}和正整数M 8&#xff0c;就存在268和358成立。 容易想到&#xff1…...

MoE Align Sort在医院AI医疗领域的前景分析(代码版)

MoE Align & Sort技术通过优化混合专家模型(MoE)的路由与计算流程,在医疗数据处理、模型推理效率及多模态任务协同中展现出显著优势,其技术价值与应用意义从以下三方面展开分析: 一、方向分析 1、提升医疗数据处理效率 在医疗场景中,多模态数据(如医学影像、文本…...

大数据概念介绍

这节课给大家讲一下大数据的生态架构, 大数据有很多的产品琳琅满目, 大家看到图上就知道产品很多, 那这些产品它们各自的功能是什么, 它们又是怎么样相互配合, 来完成一整套的数据存储, 包括分析计算这样的一些任务, 这节课就要给大家进行一个分析, 那我们按照数据处理…...

Linux(2025.3.15)

1、将/etc/passwd&#xff0c;/etc/shadow,/etc/group文件复制到/ceshi; 操作&#xff1a; &#xff08;1&#xff09;在根目录下创建ceshi目录&#xff1b; &#xff08;2&#xff09;复制&#xff1b; 结果&#xff1a; 2、找到/etc/ssh目录下ssh开头的所有文件并将其复制到…...

centosububntu设置开机自启动

一、centos 1.将脚本放到/etc/rc.d/init.d路径下 2.给脚本授权 sudo chmod -R 777 脚本名称 3.添加脚本至开机启动项中 sudo chkconfig --add 脚本名称 4.开启脚本 sudo chkconfig 脚本名称 on 5.查看开机启动项中是否包含该脚本 ls /etc/rc.d/rc*.d 二、ubuntu 1.在…...

基于大模型与动态接口调用的智能系统(知识库实现)

目录 引言 1、需求背景 2、实现原理 3、实现步骤 3.1 构建知识库接口调用提示模板 3.2 动态接口配置加载 3.3 智能参数提取链 3.4 接口智能路由 3.5 建议生成链 3.6 组合完整工作流 3.7 展示效果 总结 引言 在医疗信息化快速发展的今天,我们开发了一个智能问诊系…...

23种设计模式-行为型模式-迭代器

文章目录 简介问题解决代码设计关键点&#xff1a; 总结 简介 迭代器是一种行为设计模式&#xff0c;让你能在不暴露集合底层表现形式(列表、栈和树等)的情况下遍历集合中所有的元素。 问题 集合是编程中最常使用的数据类型之一。 大部分集合使用简单列表存储元素。但有些集…...

【Java集合】ArrayList源码深度分析

参考笔记&#xff1a; java ArrayList源码分析&#xff08;深度讲解&#xff09;-CSDN博客 【源码篇】ArrayList源码解析-CSDN博客 目录 1.前言 2. ArrayList简介 3. ArrayList类的底层实现 4. ArrayList的源码Debug 4.1 使用空参构造 &#xff08;1&#xff09;开始De…...

ISIS单区域抓包分析

一、通用头部报文 Intra Domain Routing Protocol Discriminator&#xff1a;域内路由选择协议鉴别符&#xff1a;这里是ISIS System ID Length&#xff1a;NSAP地址或NET中System ID区域的长度。值为0时&#xff0c;表示System ID区域的长度为6字节。值为255时&#xff0c;表…...

关键业务数据如何保持一致?主数据管理的最佳实践!

随着业务规模的扩大和系统复杂性的增加&#xff0c;如何确保关键业务数据的一致性成为许多企业面临的重大挑战。数据不一致可能导致决策失误、运营效率低下&#xff0c;甚至影响客户体验。因此&#xff0c;主数据管理&#xff08;Master Data Management&#xff0c;简称MDM&am…...

ISIS单区域配置

一、什么是ISIS单区域 ISIS&#xff08;Intermediate System to Intermediate System&#xff0c;中间系统到中间系统&#xff09;单区域是指使用ISIS路由协议时&#xff0c;所有路由器都位于同一个区域&#xff08;Area&#xff09;内的网络配置。 二、实验拓扑 三、实验目的…...

Visual Basic语言的物联网

Visual Basic语言在物联网中的应用 引言 物联网&#xff08;IoT&#xff09;作为一种新兴的技术趋势&#xff0c;正在深刻地改变我们的生活方式与工业制造过程。在众多编程语言中&#xff0c;Visual Basic&#xff08;VB&#xff09;凭借其简单易用的特性&#xff0c;逐渐成为…...

【小沐杂货铺】基于Three.JS绘制三维数字地球Earth(GIS 、WebGL、vue、react)

&#x1f37a;三维数字地球系列相关文章如下&#x1f37a;&#xff1a;1【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第一期2【小沐学GIS】基于C绘制三维数字地球Earth&#xff08;456:OpenGL、glfw、glut&#xff09;第二期3【小沐…...

Vite环境下解决跨域问题

在 Vite 开发环境中&#xff0c;可以通过配置代理来解决跨域问题。以下是具体步骤&#xff1a; 在项目根目录下找到 vite.config.js 文件&#xff1a;如果没有&#xff0c;则需要创建一个。配置代理&#xff1a;在 vite.config.js 文件中&#xff0c;使用 server.proxy 选项来…...

嵌入式Linux开发环境搭建,三种方式:虚拟机、物理机、WSL

目录 总结写前面一、Linux虚拟机1 安装VMware、ubuntu18.042 换源3 改中文4 中文输入法5 永不息屏6 设置 root 密码7 安装 terminator8 安装 htop&#xff08;升级版top&#xff09;9 安装 Vim10 静态IP-虚拟机ubuntu11 安装 ssh12 安装 MobaXterm &#xff08;SSH&#xff09;…...

React项目在ts文件中使用router实现跳转

前言&#xff1a; 默认你已经进行了router的安装&#xff0c;目前到了配置http请求的步骤&#xff0c;在配置token失效或其他原因&#xff0c;需要实现路由跳转。在普通的 TypeScript 文件中无法直接使用Router的 useNavigate Hook。Hook 只能在 React 组件或自定义 Hook 中调用…...

Java中的正则表达式Lambda表达式

正则表达式&&Lambda表达式 正则表达式和Lambda表达式是Java编程中两个非常实用的特性。正则表达式用于字符串匹配与处理&#xff0c;而Lambda表达式则让函数式编程在Java中变得更加简洁。本文将介绍它们的基本用法&#xff0c;并结合示例代码帮助理解。同时要注意&…...

【idea设置文件头模板】

概述 设置模板&#xff0c;在创建java类时&#xff0c;统一添加内容(作者、描述、创建时间等等自定义内容)&#xff0c;给java类添加格式统一的备注信息。 1、在settings 中找到File and Code Templates 选择File Header 2、模板内容示例 /*** Author hweiyu* Descriptio…...

我与数学建模之顺遂!

下面一段时期是我一段真正走进数模竞赛的时期。 在大二上学期结束之后&#xff0c;就开始张罗队友一起报名参加美赛&#xff0c;然后同时开始学LaTeX和Matlab&#xff0c;当时就是买了本Matlab的书&#xff0c;把书上的例题还有课后题全部做完了&#xff0c;然后用latex将书上…...

【Python使用】嘿马推荐系统全知识和项目开发教程第2篇:1.4 案例--基于协同过滤的电影推荐,1.5 推荐系统评估【附代码

教程总体简介&#xff1a;1.1 推荐系统简介 学习目标 1 推荐系统概念及产生背景 2 推荐系统的工作原理及作用 3 推荐系统和Web项目的区别 1.3 推荐算法 1 推荐模型构建流程 2 最经典的推荐算法&#xff1a;协同过滤推荐算法&#xff08;Collaborative Filtering&#xff09; 3 …...

Linux makefile的一些语法

一、定义变量 1. 变量的基本语法 在 makefile 中&#xff0c;变量的定义和使用非常类似于编程语言中的变量。变量的定义格式&#xff08;最好不要写空格&#xff09;如下&#xff1a; VARIABLE_NAMEvalue 或者 VARIABLE_NAME:value 表示延迟赋值&#xff0c;变量的值在引…...

Educational Codeforces Round 177 (Rated for Div. 2)(A-D)

题目链接&#xff1a;Dashboard - Educational Codeforces Round 177 (Rated for Div. 2) - Codeforces A. Cloudberry Jam 思路 小数学推导问题&#xff0c;直接输出n*2即可 代码 void solve(){int n;cin>>n;cout<<n*2<<"\n"; } B. Large A…...

第十八节课:Python编程基础复习

课程复习 前三周核心内容回顾 第一周&#xff1a;Python基本语法元素 基础语法&#xff1a;缩进、注释、变量命名、保留字数据类型&#xff1a;字符串、整数、浮点数、列表程序结构&#xff1a;赋值语句、分支语句&#xff08;if&#xff09;、函数输入输出&#xff1a;inpu…...

动物多导生理信号采集分析系统技术简析

一 技术参数 通道数&#xff1a;通道数量决定了系统能够同时采集的生理信号数量。如中南大学湘雅医学院的生物信号采集系统可达 128 通道&#xff0c;OmniPlex 多导神经信号采集分析系统支持 16、32、64、128 通道在体记录。不过&#xff0c;这个也要看具体的应用场景&#xff…...

Linux——Linux系统调用函数练习

一、实验名称 Linux系统调用函数练习 二、实验环境 阿里云服务器树莓派 三、实验内容 1. 远程登录阿里云服务器 2. 创建目录 操作步骤&#xff1a; mkdir ~/xmtest2 cd ~/xmtest2结果&#xff1a; 成功创建并进入homework目录。 3. 编写C代码 操作步骤&#xff1a; …...

列表与列表项

认识列表和列表项 FreeRTOS 中的 列表&#xff08;List&#xff09; 和 列表项&#xff08;ListItem&#xff09;是其内核实现的核心数据结构&#xff0c;广泛用于任务调度、队列管理、事件组、信号量等模块。它们通过双向链表实现&#xff0c;支持高效的元素插入、删除和遍历…...

mofish软件(MacOS版本)手动初始化

mofish软件手动初始化MacOS 第一步&#xff0c;打开终端 command空格键唤起搜索页面&#xff0c;输入终端&#xff0c;点击打开终端 第二步&#xff0c;进入mofish配置目录,删除初始化配置文件 在第一步打开的终端中输入如下命令后按回车键&#xff0c;删除mofish配置文件 …...

基于javaweb的SpringBoot图片管理系统图片相册系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...

密码学基础——DES算法

前面的密码学基础——密码学文章中介绍了密码学相关的概念&#xff0c;其中简要地对称密码体制(也叫单钥密码体制、秘密密钥体制&#xff09;进行了解释&#xff0c;我们可以知道单钥体制的加密密钥和解密密钥相同&#xff0c;单钥密码分为流密码和分组密码。 流密码&#xff0…...

我与数学建模之波折

我知道人生是起起伏伏&#xff0c;但没想到是起起伏伏伏伏伏伏 因为简单讲讲&#xff0c;所以我没讲很多生活上的细节&#xff0c;其实在7月我和l学长一起在外面租房子备赛。这个时间节点其实我不太愿意讲&#xff0c;但是逃不了&#xff0c;那段时间因其他事情导致我那段时间…...

离线部署kubesphere(已有k8s和私有harbor的基础上)

前言说明&#xff1a;本文是在已有k8s集群和私有仓库harbor上进行离线安装kubesphere&#xff1b;官网的离线教程写都很详细&#xff0c;但是在部署部份把搭建集群和搭建仓库也写一起了&#xff0c;跟着做踩了点坑&#xff0c;这里就记录下来希望可以帮助到需要的xdm。 1.根据官…...

量子计算入门:Qiskit实战量子门电路设计

引言&#xff1a;量子计算的编程基石 量子门是量子计算的基本操作单元&#xff0c;其通过操控量子比特的叠加与纠缠实现并行计算。IBM开发的Qiskit框架为量子算法设计与模拟提供了强大工具。本文将从量子门基础、Qiskit实战、量子隐形传态案例三个维度&#xff0c;结合代码解析…...

AIGC8——大模型生态与开源协作:技术竞逐与普惠化浪潮

引言&#xff1a;大模型发展的分水岭时刻 2024年成为AI大模型发展的关键转折点&#xff1a;OpenAI的GPT-4o实现多模态实时交互&#xff0c;中国DeepSeek-MoE-16b模型以1/8成本达到同类90%性能&#xff0c;而开源社区如Mistral、LLama 3持续降低技术门槛。这场"闭源商业巨…...

FPGA练习

文章目录 一、状态机思想写一个 LED流水灯的FPGA代码二、 CPLD和FPGA芯片的主要技术区别是什么&#xff1f; 它们各适用于什么场合&#xff1f;1、CPLD适用场景2、FPGA适用场景 三、 在hdlbitsFPGA教程网站上进行学习1、练习题12、练习题2练习题3练习题4练习题5 一、状态机思想…...

阿里云服务器遭遇DDoS攻击有争议?

近年来&#xff0c;阿里云服务器频繁遭遇DDoS攻击的事件引发广泛争议。一方面&#xff0c;用户质疑其防御能力不足&#xff0c;导致服务中断甚至被迫进入“黑洞”&#xff08;清洗攻击流量的隔离机制&#xff09;&#xff0c;轻则中断半小时&#xff0c;重则长达24小时&#xf…...

leetcode-代码随想录-哈希表-有效的字母异位词

题目 题目链接&#xff1a;242. 有效的字母异位词 - 力扣&#xff08;LeetCode&#xff09; 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的 字母异位词。 输入: s "anagram", t "nagaram" 输出: true输入: s "rat",…...

kotlin中主构造函数是什么

一 Kotlin 中的主构造函数 主构造函数&#xff08;Primary Constructor&#xff09;是 Kotlin 类声明的一部分&#xff0c;用于在 创建对象时初始化类的属性。它不像 Java 那样是一个函数体&#xff0c;而是紧跟在类名后面。 主构造函数的基本定义 class Person(val name: S…...

Julia语言的测试覆盖率

Julia语言的测试覆盖率探讨 引言 在现代软件开发中&#xff0c;测试是确保软件质量的重要环节。随着软件的复杂度不断增加&#xff0c;测试覆盖率作为衡量测试质量的一个重要指标&#xff0c;受到了越来越多开发者的关注。Julia语言作为一种高性能的动态编程语言&#xff0c;…...

Apache httpclient okhttp(2)

学习链接 Apache httpclient & okhttp&#xff08;1&#xff09; Apache httpclient & okhttp&#xff08;2&#xff09; okhttp github okhttp官方使用文档 okhttp官方示例代码 OkHttp使用介绍 OkHttp使用进阶 译自OkHttp Github官方教程 SpringBoot 整合okHttp…...