num

pytorch-线性回归

蓝咒 提交于 2020-02-12 20:37:02
线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现 线性回归的基本要素 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: p r i c e = w a r e a ⋅ a r e a + w a g e ⋅ a g e + b \mathrm{price} = w_{\mathrm{area}} \cdot \mathrm{area} + w_{\mathrm{age}} \cdot \mathrm{age} + b p r i c e = w a r e a ​ ⋅ a r e a + w a g e ​ ⋅ a g e + b 数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 损失函数 在模型训练中

2020牛客寒假算法基础集训营4 E 最小表达式

扶醉桌前 提交于 2020-02-12 19:51:33
https://ac.nowcoder.com/acm/problem/201596 贪心: 1、数字位数尽可能的少,所以尽可能平均分数字长度 2、数字高位尽可能的小 所以如果有s个加号,m个1—9的数字,就分成s+1个数字,其中有m%(s+1)个数字位数为m/(s+1)+1,剩余的数字位数为m/(s+1) 将所有的数字按加法竖式的方式写出来,可以发现位于某个数位的1个1—9的数字,属于哪个数都可以 所以从9开始从大往小选数字,先把所有的个位数填满,再填十位数,逐渐到最高位 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define N 500001 char s[N]; int num[N],ans[N]; int main() { scanf("%s",s+1); int n=strlen(s+1),sum0=0,m=0; for(int i=1;i<=n;++i) if(s[i]=='+') sum0++; else num[++m]=s[i]-'0'; sort(num+1,num+m+1); int len1=m/(sum0+1),sum2=m%(sum0+1),sum1=sum0+1; int now=0,len=0; for(int i=1;i<=len1;+

C语言寒假大作战03

纵饮孤独 提交于 2020-02-12 18:47:27
这个作业属于哪个课程 班级链接 这个作业要求在哪里 C语言寒假大作战03 这个作业的目标 使用上次作业的菜单框架,并在其基础上增加各年级题目操作函数 作业正文 如下所示 参考文献 随机数rand 还有很多比如百度百科之类的 设计思路和遇到的问题 思路 我们先把头文件加上去,然后再使用rand()函数。先从最简单的一年级开始,然后再写二年级,三年级然后作业就完成了。 问题 问题啥的还真挺多,但是也都解决了不然也完成不了这个作业。 1,刚开始我代码是这样的 for (int i = 0; i < num; i++) { int rand(void); { int a, b, c; srand((unsigned)time(NULL)); for (int i = 0; i < num; i++) { a = rand() % 10; b = rand() % 10; c = rand() % 2; if (c == 0) { printf("%d + %d = \n", a, b); } else { printf("%d - %d = \n", a, b); } } } 错误倒是没有,就是运行出来变成了n*n个题,比如我输个3他会出来3个题然后重复三遍...然后发现 for (int i = 0; i < num; i++) 重复了,然后修改完之后听取学长的建议,简化了一下代码 2

题解 LA4390

喜夏-厌秋 提交于 2020-02-12 16:58:31
题目大意 多组数据,每组数据给定两个个正整数 \(n, m\) 和一棵 \(n\) 个节点的树,输出给树标号使儿子的编号大于父亲的编号的方案数对 \(m\) 取模的值, 不保证 \(m\) 是质数 。 分析 考虑这样一棵子树,它的所有根节点的大小 \(siz[son[i]]\) 和标号方案数 \(ans[son[i]]\) 都已知,那么可以得到,整棵树的方案数等于所有子树的方案数的乘积乘上对每个子树分配不同编号的总的方案数。换句话说,假如整棵树的编号为 \(1-tot\) ,则每个字树的编号对应着 \([2,tot]\) 中的 \(siz[son[i]]\) 个数,那么分配标号的方案数就是 \[\prod_{i=1}^{sonnum}C_{\sum_{j=i}^{n}siz[son[i]]}^{siz[son[i]]}\] 那么可以得到,总的方案数为 \[\prod_{i=1}^{sonnum}ans[son[i]]C_{\sum_{j=i}^{n}siz[son[i]]}^{siz[son[i]]}\] 值得注意的是 \(m\) 并非质数,所以需要用 exLucas 来处理组合数。 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 5E+5 + 5; int T,

Python基础(五)

我们两清 提交于 2020-02-12 15:51:59
一、Python3条件控制 Python条件语句是通过 一条或多条语句 的 执行结果 (True或者False)来 决定执行的代码块 。 1.if语句 1 if condition_1: 2 statement_block_1 3 elif condition_2: 4 statement_block_2 5 else: 6 statement_block_3 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句 如果 "condition_1" 为False,将判断 "condition_2" 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句 如果 "condition_2" 为False,将执行"statement_block_3"块语句 Python 中用 elif 代替了 else if ,所以if语句的关键字为: if – elif – else 。 注意: 1、每个条件后面要使用冒号(:),表示接下来是满足条件后要执行的语句块。 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。 3、在Python中没有switch – case语句。 1 num = 8 2 Num = -3 3 4 while(Num != num): 5 6 Num = int

单调栈算法 入门+博客推荐+模板

白昼怎懂夜的黑 提交于 2020-02-12 15:15:51
单调栈算法 入门+博客推荐+模板 博客推荐 用法及作用: https://www.cnblogs.com/lher/p/7620330.html 简介 首先需要明确定义:1.单调递增的栈,2.单调递减的栈 单调递增的栈: 从栈顶到栈底是递增的,每次压进去的数要小于栈顶元素 ,输出也是单调递增的,主要是解决最大值的区间问题; 单调递减的栈: 从栈顶到栈底是递减的,每次压进去的数要大于栈顶元素 ,输出也是单调递减的,主要是解决最小值的区间问题; 这里的单调性是否严格,要根据实际情况来做决定。 在一个数列中,单调栈解决的是以某个值为最小(最大)值的最大区间,也就是我们需要知道当以这个值为最小值时,在这个数列中的左右区间是什么。 模板 //求最小值时的区间,使用单调递减栈 #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<string> #include<stack> #include<queue> #include<map> typedef long long ll; using namespace std; const double esp=1e-6; const int inf=0x3f3f3f3f; const int MAXN=1E5

其他一些小程序

落爺英雄遲暮 提交于 2020-02-12 15:08:04
1 区间数字判断 1 import time 2 3 # 计算一定区间内内的相关操作数据 4 print('\033[1;33m================> 请输入计算区间,区间长度请勿超过3万,否则老夫的计算机...... <=====================\033[0m') 5 start = int(input('\033[1;32m请输入计算前端区间:\033[0m').strip()) 6 end = int(input('\033[1;32m请输入计算后端区间:\033[0m').strip()) 7 while True: 8 cho_dic = """ 9 '1':'质数、合数' 10 '2':'偶数、奇数' 11 '3':'完全数' 12 '4':'斐波那契数列' 13 'QUIT':'退出系统' 14 """ 15 print(cho_dic) 16 cho = input('请输入将要进行的操作代号:') 17 # 质数、合数 18 if cho == '1': 19 str_time = time.time() 20 print('正在计算中,请稍等...\n') 21 zhi_li = [] 22 for num in range(start, end): 23 for i in range(2, num): 24 if num % i =

查到两个数组中分别出现次数不同的唯一某个数字

坚强是说给别人听的谎言 提交于 2020-02-12 15:06:55
def find_diff_num(array_1, array_2): """ 给定两个数组, 已知其中一组数字包含另一组中的所有数字, 唯独多了一个数字. 要求找出这个多余的数字? @param array_1: 数组1 @param array_2: 数组2 @return: 对应的多余的数字 """ diff_num = 0 array = array_1 + array_2 for num in array: diff_num = diff_num ^ num return diff_num if __name__ == '__main__': array_1 = [1, 2, 3, 4, 5, 6, 7, 8, 9] array_2 = [1, 2, 3, 4, 6, 7, 8, 9] print(find_diff_num(array_1, array_2)) 来源: CSDN 作者: leefongs 链接: https://blog.csdn.net/lee_fengzi/article/details/104276801

数位dp入门学习之路(正常枚举“过渡到”dfs枚举)

二次信任 提交于 2020-02-12 14:57:24
前言 :数位dp就是换一种穷举方式。额......我第一次看这句话也懵,哎,资深学渣,来记个笔记先。 正常枚举“过渡到”dfs枚举(这里暂时是穷举的数为:1、10、100、1000、10000....,要穷举任意数在后面给出) 其实有些兄弟用了递推关系来做这类题,但个人感觉那种解题方式还是太花时间了。。。。。。。。。。 正常枚举: #include <iostream> #include <cstdio> #define ll long long using namespace std; int main() { for (int i = 0; i <= 1000) { printf("%d\n", i); } return 0; } 结果:略(看数学答案也是这样) dfs枚举:注意pos参数的意思是枚举到当前数字的位数。dfs是从数字的高位往低位枚举(当数字的枚举是也是从小到大的)。num用于记录当前枚举的数字 dfs(pos=0, num); 表示只枚举长度为1的数字,最大数为9 dfs(pos=1, num); 表示只枚举长度为2的数字,最大数为99 dfs(pos=2, num); 表示只枚举长度为3的数字,最大数为999 最好自己动手测一下其他结果,不要光靠脑袋想,除非...........哈哈 #include <iostream> #include <cstdio>

FZU ICPC 2020 寒假训练 6 —— 字符串处理

ε祈祈猫儿з 提交于 2020-02-12 14:47:02
P1603 斯诺登的密码 题目描述 2013年X月X日,俄罗斯办理了斯诺登的护照,于是他混迹于一架开往委内瑞拉的飞机。但是,这件事情太不周密了,因为FBI的间谍早已获悉他的具体位置——但这不是最重要的——最重要的是如果要去委内瑞拉,那么就要经过古巴,而经过古巴的路在美国的掌控之中。 丧心病狂的奥巴马迫降斯诺登的飞机,搜查时却发现,斯诺登杳无踪迹。但是,在据说是斯诺登的座位上,发现了一张纸条。纸条由纯英文构成:Obama is a two five zero.(以"."结束输出,只有6个单词+一个句号,句子开头如没有大写亦为合法)这句话虽然有点无厘头,但是警官陈珺骛发现这是一条极其重要的线索。他在斯诺登截获的一台笔记本中找到了一个C++程序,输入这条句子后立马给出了相对应的密码。陈珺鹜高兴得晕了过去,身为警官的你把字条和程序带上了飞机,准备飞往曼哈顿国际机场,但是在飞机上检查的时候发现——程序被粉碎了!飞机抵达华盛顿只剩5分钟,你必须在这5分钟内编写(杜撰)一个程序,免受上司的10000000000%10大板。破译密码的步骤如下: (1)找出句子中所有用英文表示的数字(≤20),列举在下: 正规:one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen