Bingo

经典算法之回溯法

牧云@^-^@ 提交于 2021-02-12 11:31:37
概念 回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。 但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯 条件 的某个 状态 的点称为“ 回溯点 ”。 基本思想 回溯法按深度优先策略搜索问题的解空间树。 首先从根节点出发搜索解空间树,当算法搜索至解空间树的某一节点时,先利用剪枝函数判断该节点是否可行(即能得到问题的解)。 如果不可行,则跳过对该节点为根的子树的搜索,逐层向其祖先节点回溯; 否则,进入该子树,继续按深度优先策略搜索。 回溯法的基本行为是搜索,搜索过程使用剪枝函数来为了避免无效的搜索。 剪枝函数包括两类: 1. 使用约束函数,剪去不满足约束条件的路径; 2.使用限界函数,剪去不能得到最优解的路径。 问题的关键在于如何定义问题的解空间,转化成树(即解空间树)。 解空间树分为两种: 子集树和排列树。 两种在算法结构和思路上大体相同。 实现思路 回溯法的实现方法有两种: 递归和迭代 。 一般来说,一个问题两种方法都可以实现,只是在算法效率和设计复杂度上有区别。 1. 递归 思路简单,设计容易,但效率低,其设计范式如下: //针对N叉树的递归回溯方法 void backtrack ( int t ) { if ( t > n ) output ( x ); //叶子节点

搭建nodejs代理服务器,从而解决跨域问题

删除回忆录丶 提交于 2021-01-10 13:25:13
先在同级处新建js文件(app.js) 使用时npm 安装 Node.js 模块语法 也就是对应的文件所在地“npm install”一下 然后安装对应需要的模块: express path request const express = require('express' ); const path = require('path' ); const request = require('request' ); // 配置静态文件服务中间件 // server地址 const app = express(); // 请求的IP let serverUrl ='http://192.168.1.133:8080' ; app.use(express.static(path.join(__dirname, './' ))); app.use( '/', function (req, res) { let url = serverUrl + req.url; req.pipe(request(url)).pipe(res); }); // 传入的自己的IP,3000什么的是自定义的,8080还是8000啥的之类的.. app.listen( 3000,'192.168.1.18' , function () { console.log( 'server is running at

基于FPGA的序列检测器10010

断了今生、忘了曾经 提交于 2020-11-11 01:57:03
最近在学习状态机,用状态机实现序列检测器10010. 思路如下: 1. S0代表当前数据0,如果检测到0就停在S0,如果检测到1就进入S1。 2. S1代表当前数据1,如果检测到0就进入S2,如果检测到1就停在S1。 3. S2 代表数据10,如果检测到0就进入S3,如果检测到1就回到S1。 4. S3代表数据100,如果检测到0就回到S0,如果检测到1就进入S4。 5. S4代表数据1001,如果检测到0就进入S5,如果检测到1就回到S1。 6. S5代表数据10010,如果检测到0就回到S0,如果检测到1就进入S1。 状态机图如下: 代码如下: module Xulie( input wire clk, input wire rst_n, input wire in, output wire Bingo ); reg [ 5 : 0 ] state; parameter [ 5 : 0 ] S0 = 6 ' b00_0001; parameter [ 5 : 0 ] S1 = 6 ' b00_0010; parameter [ 5 : 0 ] S2 = 6 ' b00_0100; parameter [ 5 : 0 ] S3 = 6 ' b00_1000; parameter [ 5 : 0 ] S4 = 6 ' b01_0000; parameter [ 5 : 0 ] S5

Azure Monitor(一)Application Insights

允我心安 提交于 2020-10-05 00:37:19
一,引言   Azure Monitor 是 Azure 中的一项完整堆栈监视服务,是一种收集和分析遥测数据的服务。它提供了一组完整的功能来监视 Azure 资源以及其他云中和本地的资源。Azure Monitor 该服务有助于实现云应用程序以及本地资源和应用程序的最大性能和可用性。 它显示了应用程序的执行方式,并可识别应用程序存在的任何问题。 Azure Monitor 会收集两种基本类型的数据 - 指标和日志。 指标表明资源的执行方式,以及使用的其他资源。 日志包含显示资源创建/修改时间的记录。 Azure Monitor 从一系列组件中自动收集数据。 例如:   1,应用程序数据:与自定义应用程序代码相关的数据。   2,操作系统数据:来自托管应用程序的 Windows 或 Linux 虚拟机的数据。   3,Azure 资源数据:与 Azure 资源(如 Web 应用或负载均衡器)的操作相关的数据。   4,Azure 订阅数据:与订阅相关的数据。 它包括有关 Azure 运行状况和可用性的数据。   5,Azure 租户数据:有关 Azure 组织级别服务的数据,例如 Azure Active Directory。 由于 Azure Monitor 是自动系统,因此在创建 Azure 资源(如虚拟机和 Web 应用)后,它会立即从这些源中收集数据。 可通过以下方式扩展

Azure Kubernetes Service 入门

末鹿安然 提交于 2020-09-28 17:48:39
一,引言   上一节,我们使用Azure CLI 创建了Azure Resource Group 和 Azure Container Registry 资源,并且将本地的一个叫 “k8s.net.demo”的 images 推送到远端创建的私有的Docker Image Repo,今天接着上一篇我们学习一下Azure Kubernetes 服务,通过 Azure Portal 创建 Azure Kubernetes Service,并且希望将 Push 上去的Docker Image 部署到Azure Kubernetes 集群中   Azure Kubernetes Service 简称AKS,它托管的Kubernetes 环境,可以使我们在Azure中很轻松的部署和管理容器话的应用程序。AKS环境启用了自动更新,自愈和自动缩放等功能。Kubernetes 的集群主机由Azure 免费管理,创建AKS服务的时候,我们可以将集群主机交由Aure进行托管,另外一种是我们在创建的时候,将我们自己创建好的VMSS挂载到AKS服务上。我们只需要为节点所在其上运行的VM付费即可。   接下来,我们看看当前基础设施架构图 --------------------我是分割线-------------------- --------------------我是分割线----------------

Azure Kubernetes Service 入门

梦想与她 提交于 2020-09-28 16:55:00
一,引言   上一节,我们使用Azure CLI 创建了Azure Resource Group 和 Azure Container Registry 资源,并且将本地的一个叫 “k8s.net.demo”的 images 推送到远端创建的私有的Docker Image Repo,今天接着上一篇我们学习一下Azure Kubernetes 服务,通过 Azure Portal 创建 Azure Kubernetes Service,并且希望将 Push 上去的Docker Image 部署到Azure Kubernetes 集群中   Azure Kubernetes Service 简称AKS,它托管的Kubernetes 环境,可以使我们在Azure中很轻松的部署和管理容器话的应用程序。AKS环境启用了自动更新,自愈和自动缩放等功能。Kubernetes 的集群主机由Azure 免费管理,创建AKS服务的时候,我们可以将集群主机交由Aure进行托管,另外一种是我们在创建的时候,将我们自己创建好的VMSS挂载到AKS服务上。我们只需要为节点所在其上运行的VM付费即可。   接下来,我们看看当前基础设施架构图 --------------------我是分割线-------------------- --------------------我是分割线----------------

Azure Web App (三)切换你的Net Core Web 项目的数据库连接字符串

喜你入骨 提交于 2020-08-19 00:56:41
一,引言   上一篇文章讲到今天我们演示了一下,如何在Web App中创建 “Deployment Slot”进行快速无停机部署新功能代码,也使用VS进行发布到创建的Web App中创建的新的部署槽位中,同时也引出了另外一个问题,环境变量怎么切换,切换槽位后,生产环境的数据库连接字符串怎么办。本篇文章,我会继续 部署槽,进行配置部署槽设置,同时在交换槽位的时候,测试环境/生产环境都能够准确的连接到对于的数据库。😎😎😎😎😎 --------------------我是分割线-------------------- Azure Web App 部署系列: 1,Azure Web App(一)发布你的Net Core Web 项目 2,Azure Web App(二)使用部署槽切换部署环境代码 3,Azure Web App(三)切换你的Net Core Web 项目的数据库连接字符串 二,正文 1,新建Net Core Web 项目 项目名称 “CnBateBlogWeb” 选择 “Web 应用程序(模型视图控制器)”,去掉 “为HTTPS 配置” 的勾选,点击创建 删除 “launchSettings” 文件中 IIS 配置部分 添加一个名叫 “appsettings.Production.json” 配置文件,里面当前项目的生产环境的数据库连接字符串。 ”appsettings

Word一页文档要复制100份,怎么办?

房东的猫 提交于 2020-08-18 14:32:32
前段时间给一家企业做Word文档排版的培训,课中学员小A问到一个问题: 有没有什么方法可以让一份Word文档打印100份的时候,能形成连续的页码吗? 如果是一页的Word文档,我们添加页码的时候,这一页的页码就是1,打印100份,每一页的页码都是1,是不可能变成连续的1、2、3……的页码的。 我问小A,那你现在是怎么做的?她答复我说:手工一个个输入。100页的页码,一页一页输入,得输到什么时候啊? 我对小A深表同情! 那有什么方法可以解决小A的问题呢? 首先,在遇到问题的时候,我们要学会分析。既然打印100份,无法做到连续的页码,那是不是可以做成一份Word文档,包含这一页的100个副本。这样就是一份Word文档中有100页,就可以插入连续的页码了。 给小A分析了思路之后,她一脸困惑的看着我:“甘老师,那是不是还是要把这一页的内容,CTRL+C,CTRL+V复制粘贴100次,没有区别啊!”被这个问题折磨太久的小姑娘还没有从CTRL+C,CTRL+V复制粘贴100次的噩梦中解脱出来。 我们先想一想Word中有什么工具能实现批量文档的制作,你脑海里面是不是马上冒出一个工具:邮件合并,Bingo!就是这个工具了。 操作步骤分解 1、首先要在Excel中制作一个包含100个序号的数据表格。这个问题也许会困恼到你,为什么呢?看看下面这个动图就知道了。拿起鼠标往下拖,最终找到最后一行了。 2

Azure Web App (三)切换你的Net Core Web 项目的数据库连接字符串

半世苍凉 提交于 2020-08-18 09:11:56
一,引言   上一篇文章讲到今天我们演示了一下,如何在Web App中创建 “Deployment Slot”进行快速无停机部署新功能代码,也使用VS进行发布到创建的Web App中创建的新的部署槽位中,同时也引出了另外一个问题,环境变量怎么切换,切换槽位后,生产环境的数据库连接字符串怎么办。本篇文章,我会继续 部署槽,进行配置部署槽设置,同时在交换槽位的时候,测试环境/生产环境都能够准确的连接到对于的数据库。😎😎😎😎😎 --------------------我是分割线-------------------- Azure Web App 部署系列: 1,Azure Web App(一)发布你的Net Core Web 项目 2,Azure Web App(二)使用部署槽切换部署环境代码 3,Azure Web App(三)切换你的Net Core Web 项目的数据库连接字符串 二,正文 1,新建Net Core Web 项目 项目名称 “CnBateBlogWeb” 选择 “Web 应用程序(模型视图控制器)”,去掉 “为HTTPS 配置” 的勾选,点击创建 删除 “launchSettings” 文件中 IIS 配置部分 添加一个名叫 “appsettings.Production.json” 配置文件,里面当前项目的生产环境的数据库连接字符串。 ”appsettings

Azure Web App (二)使用部署槽切换部署环境代码

时光毁灭记忆、已成空白 提交于 2020-08-18 07:41:22
一,引言 前天我们将到使用Azure的 Pass 服务 “Web App” 去部署我们的.NET Core Web项目,也同时有介绍到如何在VS中配置登陆中国区的Azure账号,今天接着讲,我们部署完我们的Web服务,进行完测试后,肯定是要发布到生产环境,但是我们不可能再去创建一个相同的Web App,配置上生产环境的域名,配置上生产环境的数据库连接字符串等等,而 Azure 的 Web App是可以通过自己的一个叫 “Deployment slots(部署槽)”的功能进行切换。我们来看一下微软给出的使用部署槽的优点,以下是微软的官方文档提到的优势 将应用程序部署到非生产槽具有以下优点: 可以在分阶段部署槽中验证应用更改,并将其与生产槽交换。 首先将应用部署到槽,然后将其交换到生产,这确保槽的所有实例都已准备好,然后交换到生产。 部署应用时,这样可避免停机。 流量重定向是无缝的,且不会因交换操作而删除任何请求。 当不需要预交换验证时,可以通过配置自动交换来自动化这整个工作流。 交换后,具有以前分阶段应用的槽现在具有以前的生产应用。 如果交换到生产槽的更改与预期不同,可以立即执行同一交换来收回“上一已知的良好站点”。 下面,我们正式开始今天的分享。 ----------我是分割线---------- Azure Web App 部署系列: 1,Azure Web App(一