数学

DAY9 算法提高 成绩排序(1)(2)

安稳与你 提交于 2020-02-07 00:45:41
算法提高 成绩排序 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   给出n个学生的成绩,将这些学生按成绩排序,   排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的在前 输入格式   第一行一个正整数n,表示学生人数   接下来n行每行3个0~100的整数,第i行表示学号为i的学生的数学、英语、语文成绩 输出格式   输出n行,每行表示一个学生的数学成绩、英语成绩、语文成绩、学号   按排序后的顺序输出 样例输入 2 1 2 3 2 3 4 样例输出 2 3 4 2 1 2 3 1 数据规模和约定   n≤100 注意审题即可,思路不难想,题目都给出来了,循环即可搞定 需要注意的是,这题排序方式不包括总分。 AC代码: # include <iostream> using namespace std ; struct stu { int x ; //数学 int y ; //英语 int z ; //语文 int num ; //学号 } s [ 105 ] ; int main ( ) { int n ; cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { s [ i ] . num = i ; cin >> s [ i ] . x >> s [ i ]

模板 - 数学 - 组合数学 - 组合数与错位排列数

主宰稳场 提交于 2020-02-06 19:34:43
线性预处理组合数,一般来说只是需要用一个组合数,当MOD大于n和m的时候可以这样求,否则应该用扩展Lucas定理。 const ll MOD = 1e9 + 7; const int MAXN = 1e6; ll inv[MAXN + 5], fac[MAXN + 5], invfac[MAXN + 5]; void init_C(int n) { inv[1] = 1; for(int i = 2; i <= n; i++) inv[i] = inv[MOD % i] * (MOD - MOD / i) % MOD; fac[0] = 1, invfac[0] = 1; for(int i = 1; i <= n; i++) { fac[i] = fac[i - 1] * i % MOD; invfac[i] = invfac[i - 1] * inv[i] % MOD; } } inline ll C(ll n, ll m) { if(n < m) return 0; return fac[n] * invfac[n - m] % MOD * invfac[m] % MOD; } 错位排列,D[i]表示i个(不同的)元素全部不在应该在的位置(升序/降序等唯一指定位置)的种类数,可以通过dp求出来,但是还是抄模板方便。 const ll MOD = 1e9 + 7; const

《深度学习中的数学》之神经网络的思想

孤者浪人 提交于 2020-02-06 10:35:47
原文链接https://www.toutiao.com/a6688175496821211662/ 本文简单解释了神经网络的来源以及神经网络中的输出原理 深度学习是人工智能中一种具有代表性的实现方法。 谈到神经网络的想法,需要从生物学上的神经元(neuron)开始说起。 从生物学的扎实的研究成果中,我们可以得到以下关于构成大脑的神经元的知识。 (i) 神经元形成网络。 (ii) 对于从其他多个神经元传递过来的信号,如果它们的和不超过 某个固定大小的值(阈值),则神经元不做出任何反应。 (iii) 对于从其他多个神经元传递过来的信号,如果它们的和超过某 个固定大小的值(阈值),则神经元做出反应(称为点火),向 另外的神经元传递固定强度的信号。 (iv) 在 (ii) 和 (iii) 中,从多个神经元传递过来的信号之和中,每个信 号对应的权重不一样。 将神经元的工作在数学上抽象化,并以其为单位人工地形成网络,这样的人工网络就是神经网络。将构成大脑的神经元的集合体抽象为数学模型,这就是神经网络的出发点。 最后,我们用数学方式来表示点火的判定条件。 从 (i) 和 (ii) 可知,神经元点火与否是根据来自其他神经元的输入信号的和来判定的,但这个求和的方式应该不是简单的求和。例如在网球比赛中,对于来自视觉神经的信号和来自听觉神经的信号,大脑是通过改变权重来处理的。因此

数学--数论--hdu 6216 A Cubic number and A Cubic Number (公式推导)

馋奶兔 提交于 2020-02-06 01:54:45
A cubic number is the result of using a whole number in a multiplication three times. For example, 3×3×3 = 27 so 27 is a cubic number. The first few cubic numbers are 1,8,27,64 and 125. Given an prime number p. Check that if p is a difference of two cubic numbers. Input The first of input contains an integer T ( 1≤T≤100 ) which is the total number of test cases. For each test case, a line contains a prime number p ( 2≤p≤1012 ) . Output For each test case, output 'YES' if given p is a difference of two cubic numbers, or 'NO' if not. Sample Input 10 2 3 5 7 11 13 17 19 23 29 Sample Output NO NO

shell--shell中的数学计算

吃可爱长大的小学妹 提交于 2020-02-05 22:24:22
shell中如何计算 默认情况下shell不能直接进行算术运算,必须使用数学计算命令 这是因为在Bash shell中每一个变量的值都是字符串,无论你有没有用引号,都会用引号进行存储。 (( ))整数计算 简单的数值计算 复杂的综合算术运算 逻辑运算 1真0假 自增/自减计算 多个表达式同时计算 let命令的整数数学运算 let和(( ))的用法类似 let和(( ))的区别 实际运算 expr计算 注意 bc命令(小数计算) bc是linux下的计算器,除了作为计算器使用,还可以作为命令行计算工具来使用。 如果计算器中没有安装bc,可以使用 yum whatprovides */bc来查看文件,并且安装 管道符使用 配合变量使用 [ ]运算 来源: CSDN 作者: Aplox 链接: https://blog.csdn.net/Aplox/article/details/104187935

7. Reverse Integer [Easy] 整数反转

寵の児 提交于 2020-02-05 16:02:43
Given a 32-bit signed integer, reverse digits of an integer. 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Note: Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows. 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据假设,如果反转后整数溢出那么就返回 0。 思路: 本题如果不考虑溢出问题,是非常简单的。解决溢出问题有两个思路,第一个思路是通过字符串转换加try catch的方式来解决,第二个思路就是通过数学计算来解决

二维数组练习题

▼魔方 西西 提交于 2020-02-05 11:24:15
在一个二维数组中存放了三名学生的语文和数学的成绩,从键盘输入三名学生的成绩存储到二维数组中,分别求语文和数学的总成绩及平均分并输出。 //定义一个三行两列的整型二维数组intArray int score[][]=new int[3][2]; //从键盘输入学生成绩,要求输入顺序与效果图一致 for(int i=0;i<score.length;i++){ for(int j=0;j<score[0].length;j++){ if(j==0){ System.out.println("请输入第"+(i+1)+"个学生的语文成绩:"); Scanner sc=new Scanner(System.in); score[i][j]=sc.nextInt(); } if(j==1){ System.out.println("请输入第"+(i+1)+"个学生的数学成绩:"); Scanner sc=new Scanner(System.in); score[i][j]=sc.nextInt(); } } } //求语文的总成绩和平均分 int i=0,j=0; int ywzcj=0,sxzcj=0; for(i=0;i<score.length;i++){ for(j=0;j<score[1].length;j++){ if(j==0){ ywzcj=ywzcj+score[i][j]

23.选择结构

99封情书 提交于 2020-02-05 09:11:05
if单选择结构 if语句对布尔表达式进行一次判定,若判定为真,则执行{}中的语句块,否则跳过该语句块。 java.lang包中的Math类提供了一些用于数学计算的方法。 /** * If * @author DELL * */ public class TestIf { public static void main ( String [ ] args ) { double d = Math . random ( ) ; //返回 [0, 1)之间的随机数(返回 double 值) System . out . println ( d ) ; System . out . println ( ( int ) ( 6 * Math . random ( ) ) ) ; //返回[0,5]之间的随机数 //投骰子 int I = ( int ) ( 6 * Math . random ( ) + 1 ) ; System . out . println ( "I = " + I ) ; if ( I <= 3 ) { System . out . println ( "小" ) ; } //通过掷三个骰子看看今天的手气如何? int i = ( int ) ( 6 * Math . random ( ) ) + 1 ; //通过Math.random()产生随机数 int j = (

数学-高数(二)

╄→尐↘猪︶ㄣ 提交于 2020-02-05 02:26:14
序列的极限 序列 实际上是从N到R的一个函数 序列极限:  几何意义  放缩 性质: 唯一性:极限唯一 有界性:收敛序列是有界的 保序性:两个序列ab,其函数an>bn,那么极限a>=b 子序列收敛:子序列和序列极限相同 单调有界函数必有极限 夹逼定理  重要极限 伯努利不等式  重要极限一  重要极限二  无穷小 定义  性质  无穷大 定义  性质  阶层比较  闭区间套定理 定义  聚点原理 定义  性质  R中任何一个有界的无穷子集至少有一个聚点 任何有界序列必然存在收敛子列 来源: CSDN 作者: 加油学python 链接: https://blog.csdn.net/qq_42007339/article/details/104172564