Sequence

AtCoder Beginner Contest 174 C Repsept

倾然丶 夕夏残阳落幕 提交于 2020-10-05 16:57:18
Repsept 题目: Takahashi loves the number 7 and multiples of K.Where is the first occurrence of a multiple of K in the sequence 7,77,777,…? (Also see Output and Sample Input/Output below.) If the sequence contains no multiples of K, print -1 instead. Input Input is given from Standard Input in the following format: K Output Print an integer representing the position of the first occurrence of a multiple of K, (For example, if the first occurrence is the fourth element of the sequence, print 4.) 输入样例1 (Sample Input 1) 101 输出样例1 (Sample Output 1) 4 输入样例2 (Sample Input 2) 2 输出样例2 (Sample Output 2)

机器学习13 -- 无监督学习之自监督

陌路散爱 提交于 2020-10-05 06:23:50
1 为什么要自监督学习 self-supervised learning 自监督学习是无监督学习的一种特殊方式。我们在无监督学习中讲过了,标注label是十分宝贵的,一般需要人工打标,时间和人力成本都十分高昂。但现实中,获取无标注data确实相对比较easy的事情。我们可以在网络上爬取很多很多的文本、图片、语音、商品信息等。如何利用这些无标注data,一直以来都是无监督学习的一个重要方向。而自监督学习则给出了一种解决方案。 自监督学习通过data的一部分,来predict其他部分,由自身来提供监督信号,从而实现自监督学习。利用自监督学习,可以学到一定的文本或图片的表征,从而有利于下游任务的展开。这就是pretrain-finetune 2 自监督学习实现方案 自监督学习实现方案主要有 利用部分data来重建整个data。这其实就是Denoising Auto-Encoder的一种。NLP方面BERT系列的Mask language model,和CV领域的图像还原In-painting,都是采用了这种方案 CV领域的一些任务。比如将图片分割为9块,打乱后,进行拼图。将图片旋转一定角度,然后predict旋转的角度。 对比学习。比如word2vec,Contrastive Predictive Coding,SimCLR 3 NLP领域的自监督学习 各种NLP预训练模型

HM学习日记—>阶段复习(第13天)

浪尽此生 提交于 2020-10-04 22:27:25
参考了 《#####》 这篇博客 对H.265中的 编码结构 ——“编码时的分层处理架构”和“压缩码流结构”——有了进一步理解和掌握。 摘要: 编码时的分层处理架构 在对视频序列进行压缩的时候,会将其先分割成若干个小的图像组(GOP,Group of Pictures),定义一个GOP编码后生成的压缩数据为CVS(Coded Video Sequence) 视频编解中,存在封闭式GOP和开放式GOP 每个图像组包含若干张图片,每张图片可以划分为一个或多个片(Slice) 每个GOP分为若干个片(Slice),片与片之间进行独立编码 每个片由一个或者多个片段(SS,Slice Segment)组成 一个SS在编码时,被分割成大小相同的树形结构单元(CTU,Coding Tree Unit),CTU是HEVC新引进的概念 每个CTU按照四叉树分割方式分割成不同类型的编码单元(CU,Coding Unit) 压缩码流结构 GOP层、Slice层中公用的大部分语法元素游离出来组成序列参数集(SPS,Sequence Paramenter Set)和图像参数集(PPS,Picture Paramenter Set) SPS中包含了一个CVS中所有图像共用的信息,包括解码相关信息,如档次级别,分辨率deng PPS中包含了一幅图像所有的公共参数,即一个图像中的所有SS会使用同样的PPS

Codeforces Round #666(Div.2)A~D题题解

倖福魔咒の 提交于 2020-10-04 14:45:22
A .Juggling Letters 题目传送门 Juggling Letters 题意 给你n个字符串,字符串si中的任意一个字母可以插入到任意一个字符串(包括自己)的任意位置,问是否能构成n个完全相同的字符串。 思路 思路很清晰,只需每种字母的数量%n==0即可 AC Code # include <bits/stdc++.h> using namespace std ; char ch [ 1005 ] ; int main ( ) { int t ; cin >> t ; int num [ 30 ] ; while ( t -- ) { memset ( num , 0 , sizeof ( num ) ) ; int n ; cin >> n ; for ( int j = 1 ; j <= n ; j ++ ) { scanf ( "%s" , ch ) ; int len = strlen ( ch ) ; for ( int i = 0 ; i < len ; i ++ ) { int a = ch [ i ] - 'a' ; num [ a ] ++ ; } } int flag = 0 ; for ( int i = 0 ; i <= 26 ; i ++ ) { if ( num [ i ] == 0 ) continue ; if ( num [ i ]

多出口BGP网络流量割接案例

北战南征 提交于 2020-10-04 04:31:00
BGP路由的收敛速度是大家有目共睹的事实,但也不能怪它,毕竟算法流程复杂。 今天我要跟大家分享的是依靠IGP的快速收敛来弥补BGP路由收敛时间的问题,同时又保障在流量路径切换时达到零丢包, 很多前辈可能形象的将这一解决方案称为BGP的虚拟下一跳技术。 如图所示,网络中的IGP及BGP已经预先配置完毕。此时 10.1.1.1 与 1.2.3.4 之间的IP连通性已经部署完毕。 R6#ping 1.2.3.4 source 10.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.2.3.4, timeout is 2 seconds: Packet sent with a source address of 10.1.1.1 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms OK,验证了连通性之后,我们来部署BGP的虚拟下一跳方案。 步骤一: 在AS 200 的ASBR上添加独立环回口通告进IGP,并在R6上验证效果; R4#enable R4#configure terminal R4(config)#interface loopback 1 R4(config-if)#ip address

分库分表之后,id 主键如何处理?

孤者浪人 提交于 2020-10-04 03:23:22
面试题 分库分表之后,id 主键如何处理? 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个 全局唯一 的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。 面试题剖析 基于数据库的实现方案 数据库自增 id 这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个 id。拿到这个 id 之后再往对应的分库分表里去写入。 这个方案的好处就是方便简单,谁都会用; 缺点就是单库生成 自增 id,要是高并发的话,就会有瓶颈的;如果你硬是要改进一下,那么就专门开一个服务出来,这个服务每次就拿到当前 id 最大值,然后自己递增几个 id,一次性返回一批 id,然后再把当前最大 id 值修改成递增几个 id 之后的一个值;但是 无论如何都是基于单个数据库 。 适合的场景 :你分库分表就俩原因,要不就是单库并发太高,要不就是单库数据量太大;除非是你 并发不高,但是数据量太大 导致的分库分表扩容,你可以用这个方案,因为可能每秒最高并发最多就几百,那么就走单独的一个库和表生成自增主键即可。 设置数据库 sequence 或者表自增字段步长 可以通过设置数据库 sequence 或者表的自增字段步长来进行水平伸缩。 比如说

源码解析福利 | 超精华! 用Python多进程教你下载M3U8加密或非加密视频

流过昼夜 提交于 2020-10-03 19:50:06
m3u8 是一种基于 HTTP Live Streaming 文件视频格式,它主要是存放整个视频的基本信息和分片(Segment)组成。 相信大家都看过m3u8格式文件的内容,我们直来对比一下有什么不同,然后教大家怎么用python多进程实现下载并且合并。 一、两者不同 非加密 的m3u8文件 加密 的m3u8文件 相信眼尖的小伙伴已经看出了2个内容的不同之处,对的,其实区别就在加密文件的第 5 行的 #EXT-X-KEY 的信息 这个信息就是用来视频内容解密的,其实里面的内容大多是一段字符串,其实也就是解密时候的 KEY 值 那么这个怎么去解密呢,我们暂时不管,我们先来解释一下每行的意思 第一行: #EXTM3U 声明这是一个m3u8的文件 第二行: #EXT-X-VERSION 协议的版本号 第三行: #EXT-X-MEDIA-SEQUENCE 每一个media URI 在 PlayList中只有唯一的序号,相邻之间序号+1 第四行: #EXT-X-KEY 记录了加密的方式,一般是AES-128以及加密的KEY信息 第五行: #EXTINF 表示这段视频碎片的持续时间有多久 第六行: sA3LRa6g.ts 视频片段的名称,获取的时候需要拼接上域名,找到文件的正确的路径 如果想了解更多,请参考我的另一篇文章: m3u8各个字段意义解析 二、爬虫源码 #!/usr/bin/env

php生成唯一订单号

孤人 提交于 2020-10-03 13:18:01
使用 https://github.com/godruoyi/php-snowflake 来生成 <?php declare(strict_types=1); use think\facade\Cache; use think\facade\Config; use Godruoyi\Snowflake\Snowflake; use Godruoyi\Snowflake\RedisSequenceResolver; /** * 获取redis实例 * * @return \Redis */ function get_redis(): \Redis { return Cache::store()->handler(); } /** * 生成唯一订单号 * * @param string $prefix 订单号前缀 * @return string */ function build_order_no(string $prefix = ''): string { $options = Config::get('cache.stores.redis'); $redis = get_redis(); $snowflake = new Snowflake(); $sequence = new RedisSequenceResolver($redis); $sequence-

[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心)

半城伤御伤魂 提交于 2020-10-03 13:11:04
[深度应用]·Keras实现Self-Attention文本分类(机器如何读懂人心) 配合阅读: [深度概念]·Attention机制概念学习笔记 [TensorFlow深度学习深入]实战三·分别使用DNN,CNN与RNN(LSTM)做文本情感分析 笔者在 [深度概念]·Attention机制概念学习笔记 博文中,讲解了Attention机制的概念与技术细节,本篇内容配合讲解,使用Keras实现Self-Attention文本分类,来让大家更加深入理解Attention机制。 作为对比,可以访问 [TensorFlow深度学习深入]实战三·分别使用DNN,CNN与RNN(LSTM)做文本情感分析 ,查看不同网络区别与联系。 一、Self-Attention概念详解 了解了模型大致原理,我们可以详细的看一下究竟Self-Attention结构是怎样的。其基本结构如下 ​ 对于self-attention来讲,Q(Query), K(Key), V(Value)三个矩阵均来自同一输入,首先我们要计算Q与K之间的点乘,然后为了防止其结果过大,会除以一个尺度标度 ​ ,其中 ​ 为一个query和key向量的维度。再利用Softmax操作将其结果归一化为概率分布,然后再乘以矩阵V就得到权重求和的表示。该操作可以表示为 ​ 这里可能比较抽象,我们来看一个具体的例子(图片来源于 https:/

聊聊claudb的pubsub command

寵の児 提交于 2020-10-03 04:57:11
序 本文主要研究一下claudb的pubsub command PublishCommand claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub/PublishCommand.java @Command("publish") @ParamLength(2) public class PublishCommand implements DBCommand, SubscriptionSupport, PatternSubscriptionSupport { @Override public RedisToken execute(Database db, Request request) { String channel = request.getParam(0).toString(); SafeString message = request.getParam(1); return integer(publishAll(getClauDB(request.getServerContext()), channel, message)); } private int publishAll(DBServerContext server, String channel, SafeString message)