num

P1092 虫食算

孤街浪徒 提交于 2020-03-07 19:04:17
P1092 虫食算 DFS+剪枝 题意描述 有一个好好的算式突然被一只虫子给啃了,而且什么也没剩下, 然后我们莫名其妙的知道了哪些数是相同的,问各字母代表的数字, 数据保证有且仅有一组解,没了。 还看不懂的话,出门右手进 传送门 算法分析 如果你很忙,请跳过下面3行 题意描述的比较简单,但也不是不能理解(语文不好) 看一看数据范围,发现n≤26,然后大喊三声:“ 爆搜!!! ” 过了15分钟,你又喊道: “妈妈我TLE啦!!!” 初步分析 首先设计状态,搜索的 深度是确定的数的个数 ,当深度==n时表示 确定了所有数(但并不保证答案正确) 显然如果爆搜你会TLE(2626是一个很有趣的数让你TLE的数),所以我们 要考虑剪枝 , 同时, 搜索的顺序 也耐人寻味,难道是按照A,B,C······这样搜索吗? 还有, 检测答案的方法 又是什么? 综上,我们需要考虑三个问题: 怎么剪枝? 怎么钦定搜索顺序? 怎么检测答案? 深入探索 剪枝 算是重点吧。 第一,三个字符串长度都是n,很容易想到不能有进位 。 第二,首先我们看看这个 xx6xx ​ + xx8xx ​ --------- ​ xx5xx 那么它是对是错? 如果按照常理,6+8=14!=5或15,这是错的 但如果上一位有进位,6+8+1=15,它又是合法的 所以有:如果某 \(i\) 位,满足 \((A[i]+B[i]\)

攻防世界wp-misc 掀桌子

一曲冷凌霜 提交于 2020-03-07 15:07:28
题目给了一串字符串,发现由a-z的字母和数字组合而成,两个16进制数代表一字节,两个两个分成一组转化,但是由于ASCII码最大是到128,所以得出的结果减128再转成字符串就得到flag。 用python脚本来实现: m = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2" num = "" for i in range(0, len(m), 2): hex = m[i: i + 2] num += chr(int(hex, 16) - 128) print(num) 来源: https://www.cnblogs.com/wushengyang/p/12433900.html

MySQL存储过程

穿精又带淫゛_ 提交于 2020-03-07 14:08:00
摘自:https://www.cnblogs.com/l5580/p/5993238.html MySQL5 中添加了存储过程的支持。 大多数SQL语句都是针对一个或多个表的单条语句。并非所有的操作都怎么简单。经常会有一个完整的操作需要多条才能完成 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文件。虽然他们的作用不仅限于批处理。 为什么要使用存储过程:优点 1 通过吧处理封装在容易使用的单元中,简化复杂的操作 2 由于不要求反复建立一系列处理步骤,这保证了数据的完整性。如果开发人员和应用程序都使用了同一存储过程,则所使用的代码是相同的。还有就是防止错误,需要执行的步骤越多,出错的可能性越大。防止错误保证了数据的一致性。 3 简化对变动的管理。如果表名、列名或业务逻辑有变化。只需要更改存储过程的代码,使用它的人员不会改自己的代码了都。 4 提高性能,因为使用存储过程比使用单条SQL语句要快 5 存在一些职能用在单个请求中的MySQL元素和特性,存储过程可以使用它们来编写功能更强更灵活的代码 换句话说3个主要好处简单、安全、高性能 缺点 1 一般来说,存储过程的编写要比基本的SQL语句复杂,编写存储过程需要更高的技能,更丰富的经验。 2 你可能没有创建存储过程的安全访问权限。许多数据库管理员限制存储过程的创建,允许用户使用存储过程

C++之指针、引用、数组、堆区栈区

此生再无相见时 提交于 2020-03-07 12:41:28
指针 指针(pointer)是一个值为内存地址的变量(或数据对象) 基本用法 数据类型 * 指针变量名 如 int * ptr_num 注意: Int* p 写法偏向地址 P是一个地址变量 表示一个十六进制地址 Int *p偏向值 *p是一个整型变量 能够表示一个整型值 给指针赋值只能使用&符号 空指针(null pointer)空指针不指向任何对象,在试图使用一个指针之前首先检查是否为空 Int *ptr1 = nullptr; 如果用null需要包含cstdlib Void 指针 一种特殊的指针类型 可以存放任意对象的地址 注意: void 指针存放一个内存地址,地址指向的内容是什么类1、型不能确定 2、Void 类型指针一般用来:拿来和别的指针比较,作为函数的输入和输出;赋值给另一个void 指针 指针小结: 指针同样是一个变量,只不过该变量中存储的是另一个对象的内存地址 如果一个变量存储另一个对象 的地址,则称该变量指向这个对象 指针变量可以赋值 指针的指向在程序执行中可以改变 指针P在执行中某时刻指向变量x在另一时刻可以指向y 注意: 指针命名规则和其他变量命名规则一样 指针不能与现有变量重名 应为指针指定一个地址后才能在语句中使用指针 引用 为对象起了另外一个名字(引用即别名) Int int_value = 1024; //refValue指向int_value

学习Javascript之节流和防抖

空扰寡人 提交于 2020-03-07 11:43:16
前言 本文1012字,阅读大约需要4分钟。 总括: 本文通过实例介绍了什么是节流函数,什么是防抖函数。 公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍 社会犹如一条船,每个人都要有掌舵的准备。 正文 节流函数和防抖函数相信很多人都在日常业务开发中使用过,其实不管是节流函数还是防抖函数都是一种简单的高阶函数,他们都是通过将一个关键的外部变量保存在外层作用域,通过对这个变量的判断和操作来决定是否调用回调函数。 节流函数 函数节流让指函数有规律的进行调用,应用场景: 游戏中发射子弹的频率(比如1秒发射一颗); 滚动事件; 所谓节流即让回调函数在一定时间内只能调用一次,因此我们的节流函数需要的参数有两个: 回调函数; 延迟执行的时间; 实现如下: /** * @param {function} fun 调用函数 * @param {number} delay 延迟调用时间 * @param {array} args 剩余参数 */ const throttle = (fun, delay, ...args) => { let last = null; return (...rest) => { const now = + new Date(); let _args = [...args, ...rest]; if (now - last > delay) { fun

湖南雅礼培训 1.2

…衆ロ難τιáo~ 提交于 2020-03-07 08:29:50
模拟赛 串(string) 【题目描述】 给定一个由小写字母组成的字符串 s,每次你可以删去它的一个非回文子串, 求删成空串的最小次数。 【输入数据】 第一行一个整数 t 表示数据组数。 每组数据第一行一个整数 n 表示字符串长度,第二行一个字符串 s。 【输出数据】 每组数据输出一行一个整数表示答案,如果无法删成空串输出-1。 【样例输入】 2 7 abcdcba 3 xxx 【样例输出】 2 -1 【样例解释】 对于第一个样例,一种最优方案为 abcdcba->adcba->空串。 【数据范围】 对于 30%的数据,n<=10。 对于 60%的数据,n<=100。 对于 100%的数据,t<=20,n<=10^5。 #include<iostream> #include<cstdio> #include<cstring> #define maxn 110 #define INF 0x7fffffff using namespace std; int ans; struct node{ string s; int len; }; void solve(node now,int step){//已经进行了step次 if(step>=ans)return; for(int l=0;l<now.len;l++){ for(int r=l+1;r<now.len;r++){ int

【转载】 tensorflow中 tf.train.slice_input_producer 和 tf.train.batch 函数

二次信任 提交于 2020-03-07 06:39:15
原文地址: https://blog.csdn.net/dcrmg/article/details/79776876 ------------------------------------------------------------------------------------------------------------------ tensorflow数据读取机制 tensorflow中为了充分利用GPU,减少GPU等待数据的空闲时间,使用了两个线程分别执行数据读入和数据计算。 具体来说就是使用一个线程源源不断的将硬盘中的图片数据读入到一个内存队列中,另一个线程负责计算任务,所需数据直接从内存队列中获取。 tf在内存队列之前,还设立了一个文件名队列,文件名队列存放的是参与训练的文件名,要训练 N个epoch,则文件名队列中就含有N个批次的所有文件名。 示例图如下: 图片来至于 https://zhuanlan.zhihu.com/p/27238630 ) 在N个epoch的文件名最后是一个结束标志,当tf读到这个结束标志的时候,会抛出一个 OutofRange 的异常,外部捕获到这个异常之后就可以结束程序了。而创建tf的文件名队列就需要使用到 tf.train.slice_input_producer 函数。 tf.train.slice_input_producer

那些H5用到的技术(6)——数字滚动特效

风格不统一 提交于 2020-03-07 05:48:44
前言 原理 源码 使用方式 补充 CountUp.js 前言 会有这么一种情况,H5页面需要进行数字统计展示,以此来强调产品or工作的成果。如果只是静态显示一个数字,总是感觉生硬。对比如下: 是不是瞬间高大上了呢? 这个效果我是在开源中国上找到的 https://www.oschina.net/code/snippet_2380148_52928 感谢馒头同学。 原理 1、如上图可知,代码将每个数字生成了一竖0-9和小数点的队列。如果需要滚动999,那么就会生成3竖 2、由于有height的限制,所以通过 overflow: hidden; 隐藏了其他已经滚动过的元素。 3、通过transition、transform实现了从0滑动至设置数字动画效果,其中translateY的值是根据高度计算出来的 transform: translateY(-120px); transition: 4s; 源码 css样式,数字的大小,高度,都需要手动设置 /*数字滚动插件的CSS可调整样式*/ .mt-number-animate { font-family: '微软雅黑'; line-height: 40px; height: 40px; /*设置数字显示高度*/ font-size: 25px; /*设置数字大小*/ overflow: hidden; display: inline

基于TensorFlow的词向量算法

廉价感情. 提交于 2020-03-07 04:54:56
什么是Word2Vec Word2Vec是从大量文本语料中以无监督的方式学习语义知识的一种模型,它被大量地用在自然语言处理(NLP)中。 Word2Vec其实就是通过学习文本来用词向量的方式表征词的语义信息,即 通过一个嵌入空间使得语义上相似的单词在该空间内距离很近 。我们从直观角度上来理解一下,cat这个单词和kitten属于语义上很相近的词,而dog和kitten则不是那么相近,iphone这个单词和kitten的语义就差的更远了。 Word2Vec模型实际上分为了两个部分,第一部分为建立模型,第二部分是通过模型获取嵌入词向量。Word2Vec的整个建模过程实际上与自编码器(auto-encoder)的思想很相似,即先基于训练数据构建一个神经网络,当这个模型训练好以后,我们并不会用这个训练好的模型处理新的任务,我们真正需要的是这个模型通过训练数据所学得的参数,例如隐层的权重矩阵。 数据预处理 数据预处理部分主要包括: 剔除低频词汇 替换特殊字符 构建单词映射表 为了使模型高效的计算,我们知道神经网络的输入数据都为数值型,首先需要对输入词进行热编码(one-hot),生成的输入向量是一个稀疏矩阵,为避免消耗过大的资源,将出现频率较低的词汇剔除,并对高频词汇进行抽样。 Word2Vec通过“抽样”模式来解决这种高频词问题。它的基本思想如下:对于我们在训练原始文本中遇到的每一个单词

django进阶

心已入冬 提交于 2020-03-07 04:42:22
   Form django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf-8 -*- import re from django import forms from django.core.exceptions import ValidationError def mobile_validate(value): mobile_re = re.compile(r'^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$') if not mobile_re.match(value): raise ValidationError('手机号码格式错误') class PublishForm(forms.Form): user_type_choice = ( (0, u'普通用户'), (1, u'高级用户'), ) user_type = forms.IntegerField(widget=forms.widgets.Select(choices=user_type_choice, attrs={'class': "form-control"})) title = forms.CharField(max_length=20, min