num

P1057 传球游戏

戏子无情 提交于 2020-02-21 04:07:54
题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少种不同的传球方法可以使得从小蛮手里开始传的球,传了m次以后,又回到小蛮手里。两种传球方法被视作不同的方法,当且仅当这两种方法中,接到球的同学按接球顺序组成的序列是不同的。比如有三个同学1号、2号、3号,并假设小蛮为1号,球传了3次回到小蛮手里的方式有1->2->3->1和1->3->2->1,共2种。 输入格式 一行,有两个用空格隔开的整数n,m(3≤n≤30,1≤m≤30)。 输出格式 1个整数,表示符合题意的方法数。 输入输出样例 输入 #1 3 3 输出 #1 2 说明/提示 40%的数据满足:3≤n≤30,1≤m≤20 100%的数据满足:3≤n≤30,1≤m≤30 2008普及组第三题 思路分析 因为该题要表示传球几次球和将球传给谁的方法总数,所以需要用两个状态量才能表达出该含义。num[i][j]代表第i次传球时将球传给同学j的方法总数。为了方便使得i+1和i-1能形成一个环,

LeetCode刷题258----各位相加 2020.2.20

喜你入骨 提交于 2020-02-21 01:11:48
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-digits/submissions/ 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例: 输入: 38 输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。 题解: int addDigits ( int num ) { if ( num >= 0 && num < 10 ) { return num ; } if ( num % 9 == 0 ) { return 9 ; } else { num = num % 9 ; return num ; } } 附:代码写的不咋地,但是大体实现了!!!,重点是思路。 题解思路: 希望大家批评指正,谢谢!!! 来源: CSDN 作者: 致敬!!! 链接: https://blog.csdn.net/qq_40544107/article/details/104416223

07 值传递和地址传递

拈花ヽ惹草 提交于 2020-02-20 23:48:20
1,C语言传递参数(或者赋值)可以是值传递,也可以传递指针,传递指针也叫地址传递 2,默认传递值的类型:基本数据类型(整型类型,小数类型,字符类型),结构体,共用体 默认传递地址的类型:指针,数组 3,值传递   ①将变量指向的存储内容,在传递/赋值时,拷贝一份给接收变量    4,地址传递   也叫指针传递,如果是指针,就将指针变量存储的地址,传递给接收变量,如果是数组,就将数组的首地址传递给接收变量    1 #include<stdio.h> 2 3 void main() { 4 int num = 10; 5 int* p = &num; //p指向num 6 int* p2 = p; //注意没有&,不是传递p的地址,而是传递p内存储的值即num的地址给p2,所以p2也执行num 7 *p2 = 5; //因为p2指向num,所以这里改变了num的值,num=5 8 9 printf("num=%d *p=%d *p2=%d\n", num, *p, *p2); 10 11 }    来源: https://www.cnblogs.com/shanlu0000/p/12337653.html

Pytorch中RoI pooling layer的几种实现

被刻印的时光 ゝ 提交于 2020-02-20 18:54:59
Faster-RCNN论文中在RoI-Head网络中,将128个RoI区域对应的feature map进行截取,而后利用RoI pooling层输出7*7大小的feature map。在pytorch中可以利用: torch.nn.functional.adaptive_max_pool2d(input, output_size, return_indices= False) torch.nn.AdaptiveMaxPool2d(output_size, return_indices=False) 这个函数很方便调用,但是这个实现有个缺点,就是慢。 所以有许多其他不同的实现方式,借鉴其他人的实现方法,这里借鉴 github 做一个更加丰富对比实验。总共有4种方法: 方法1 . 利用 cffi 进行C扩展实现,然后利用Pytorch调用:需要单独的 C 和 CUDA 源文件,还需要事先进行编译,不但过程比较繁琐,代码结构也稍显凌乱。对于一些简单的 CUDA 扩展(代码量不大,没有复杂的库依赖),显得不够友好。 方法2 .利用 Cupy 实现在线编译,直接为 pytorch 提供 CUDA 扩展(当然,也可以是纯 C 的扩展)。Cupy实现了在cuda上兼容numpy格式的多维数组。GPU加速的矩阵运算,而Numpy并没有利用GPU。Cupy目前已脱离chainer成为一个独立的库。

《动手学深度学习》task4_3 Transformer

我的梦境 提交于 2020-02-20 11:28:23
系统学习《动手学深度学习》点击这里: 《动手学深度学习》task1_1 线性回归 《动手学深度学习》task1_2 Softmax与分类模型 《动手学深度学习》task1_3 多层感知机 《动手学深度学习》task2_1 文本预处理 《动手学深度学习》task2_2 语言模型 《动手学深度学习》task2_3 循环神经网络基础 《动手学深度学习》task3_1 过拟合、欠拟合及其解决方案 《动手学深度学习》task3_2 梯度消失、梯度爆炸 《动手学深度学习》task3_3 循环神经网络进阶 《动手学深度学习》task4_1 机器翻译 《动手学深度学习》笔记: 《动手学深度学习》task1——线性回归、softmax与分类模型,多层感知机笔记 《动手学深度学习》task2——文本预处理,语言模型,循环神经网络基础笔记 《动手学深度学习》task3——过拟合、欠拟合及解决方案,梯度消失、梯度爆炸,循环神经网络进阶笔记 本篇目录 Transformer 多头注意力层 基于位置的前馈网络 Add and Norm 位置编码 测试 编码器 解码器 训练 Transformer 在之前的章节中,我们已经介绍了主流的神经网络架构如卷积神经网络(CNNs)和循环神经网络(RNNs)。让我们进行一些回顾: CNNs 易于并行化,却不适合捕捉变长序列内的依赖关系。 RNNs

task03过拟合、欠拟合

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-20 08:53:20
过拟合、欠拟合及其解决方案 过拟合、欠拟合的概念 权重衰减 丢弃法 模型选择、过拟合和欠拟合 训练误差和泛化误差 在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数和softmax回归用到的交叉熵损失函数。 机器学习模型应关注降低泛化误差。 模型选择 验证数据集 从严格意义上讲,测试集只能在所有超参数和模型参数选定后使用一次。不可以使用测试数据选择模型,如调参。由于无法从训练误差估计泛化误差,因此也不应只依赖训练数据选择模型。鉴于此,我们可以预留一部分在训练数据集和测试数据集以外的数据来进行模型选择。这部分数据被称为验证数据集,简称验证集(validation set)。例如,我们可以从给定的训练集中随机选取一小部分作为验证集,而将剩余部分作为真正的训练集。 K折交叉验证 由于验证数据集不参与模型训练,当训练数据不够用时,预留大量的验证数据显得太奢侈。一种改善的方法是K折交叉验证(K-fold cross-validation)。在K折交叉验证中

PAT (Advanced Level) 1005. Spell It Right (20)

醉酒当歌 提交于 2020-02-20 07:35:03
简单题。 #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<cstdio> #include<vector> using namespace std; const int maxn=100+10; char s[maxn]; int tmp[maxn],tot; char ans[15][7]={ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" }; int main() { scanf("%s",s); int num=0; for(int i=0;s[i];i++) num=num+s[i]-'0'; if(num==0) { printf("zero\n"); } else{ tot=0; while(num) tmp[tot++]=num%10,num=num/10; for(int i=tot-1;i>=0;i--) { printf("%s",ans[tmp[i]]); if(i>0) printf(" "); else printf("\n"); } } return 0; } 来源: https://www.cnblogs.com/zufezzt

python 字典常用的

谁都会走 提交于 2020-02-20 07:22:54
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 (1)写法1 class Solution : def majorityElement ( self , nums : List [ int ] ) - > int : dic = collections . Counter ( nums ) for key , value in dic . items ( ) : if value > len ( nums ) / 2 : return key (2)写法2 class Solution ( object ) : def majorityElement ( self , nums ) : dic = { } for num in nums : if num not in dic : dic [ num ] = 1 else : dic [ num ] = dic [ num ] + 1 if dic [ num ] > ( len ( nums ) // 2 ) : return num return nums [ 0 ] 统计某一个数字出现的次数时 dic [ num ] = dic . get ( num , 0 ) + 1 来源: CSDN 作者: 恋上萤火 链接: https://blog.csdn.net/weixin_43826596/article

AlexNet、VGG11、NiN、GoogLeNet等网络的Pytorch实现

房东的猫 提交于 2020-02-20 07:03:42
目录 AlexNet AlexNet摘要 AlexNet代码 VGG VGG摘要 VGG的优缺点 代码 NiN NiN摘要 GoogLeNet GoogLeNet完整结构 AlexNet AlexNet摘要 由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注。 知道2012年,Alex等人提出的AlexNet网络在ImageNet大赛上以远超第二名的成绩夺冠,卷积神经网络乃至深度学习重新引起了广泛的关注 AlexNet是在LeNet的基础上加深了网络的结构,学习更丰富更高维的图像特征。AlexNet的特点: 更深的网络结构 使用层叠的卷积层,即卷积层+卷积层+池化层来提取图像的特征 使用Dropout抑制过拟合 使用数据增强Data Augmentation(如翻转、裁剪和颜色变化)抑制过拟合 使用Relu替换之前的sigmoid的作为激活函数 多GPU训练 8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层 AlexNet首次证明了学习到的特征可以超越⼿⼯设计的特征,从而⼀举打破计算机视觉研究的前状。 (左边是LeNet的网络结构,右边是AlexNet的网络结构) AlexNet代码 !pip install torchtext import time import torch from torch import nn ,

DataWhale组队打卡学习营task05-3 卷积神经网络进阶

谁说我不能喝 提交于 2020-02-20 06:35:54
深度卷积神经网络(AlexNet) LeNet: 在大的真实数据集上的表现并不尽如⼈意。 1.神经网络计算复杂。 2.还没有⼤量深⼊研究参数初始化和⾮凸优化算法等诸多领域。 机器学习的特征提取:手工定义的特征提取函数 神经网络的特征提取:通过学习得到数据的多级表征,并逐级表⽰越来越抽象的概念或模式。 神经网络发展的限制:数据、硬件 AlexNet 首次证明了学习到的特征可以超越⼿⼯设计的特征,从而⼀举打破计算机视觉研究的前状。 特征: 8层变换,其中有5层卷积和2层全连接隐藏层,以及1个全连接输出层。 将sigmoid激活函数改成了更加简单的ReLU激活函数。 用Dropout来控制全连接层的模型复杂度。 引入数据增强,如翻转、裁剪和颜色变化,从而进一步扩大数据集来缓解过拟合。 #目前GPU算力资源预计17日上线,在此之前本代码只能使用CPU运行。 #考虑到本代码中的模型过大,CPU训练较慢, #我们还将代码上传了一份到 https://www.kaggle.com/boyuai/boyu-d2l-modernconvolutionalnetwork #如希望提前使用gpu运行请至kaggle。 import time import torch from torch import nn , optim import torchvision import numpy as np