题目: 题目要我们,在m个数中,选取n个数,求出这n个数的方差,求方差的最小值. 1.我们知道,方差是描述稳定程度的,所以肯定是着n个数越密集,方差越小. 所以我们给这m个数排个序,从连续的n个数中找. 2.方差公式D(x^2) = E(x^2)- E(x)^2; E(x) = x*f(x) dx (从负无穷到正无穷积分) E (x^2) = x^2*f(x) dx (从负无穷到正无穷积分) 3.对于这道题,相当于每个数的权值相同,也就是f(x)相同,都等于1/n.(可以理解f(x)表示概率)…
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; typedef long long LL; ; ; LL a[MAXN], sum[MAXN], ans[MAXN]; int main() { int n, m; while(cin>>n>>m) { ; i<=n; i++) scanf("%lld",&…
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; typedef long long LL; const int MAXN = 1e4+5; const LL INF = 1e15+5; LL a[MAXN], sum[MAXN], ans[MAXN]; int main() { int n, m; while(cin>>n>>m) {…
题目链接:51nod 1065 最小正子段和 房教说用前缀和做,然后看了别人博客懂了后就感觉,这个真有意思... #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ; const int inf = 0x3f3f3f3f; pair<long long, int> sum[N]; int a[N]; int n; int main(){ int i, j;…
package log; public class Test4 { /** * java算法---希尔排序(最小增量排序) * * @param args */ public static void main(String[] args) { // 需要排序的数组 int arr[] = { 49, 20, 36, 51, 18, 94, 61, 31, 50 }; double d1 = arr.length; int temp = 0; // 循环输出该数组内容 System.out.pri…
题目: 这题要求大于0的最小字段和,常规O(n)求最大字段和的方法肯定是没法解的. 我的解法是:用sum[i]存前i项的和,也就是前缀和. 这题就变成了求sum[j]-sum[i]的大于0的最小值( j > i ). 我们可以看到直接循环运算量是50000*50000,会超时. 所以我们应该充分利用前缀和的特性. 我们用一个set容器来装sum. 当算到i项时,保证前i-1项已经装入了set中. 我们用二分查找找到第一个比sum[i]小的值,用sum[i]减去这个值来更新答案. 至于二分插入,s…
题目:传送门. 题意:中文题. 题解:求前缀和,并且标记每个数的下标,按照前缀和大小进行从小到大排序.随后进行遍历,如果满足下标data[i-1].id<data[i].id&&data[i-1].val<data[i].val:就更新最小值,因为是相近的,所以已经是最小值候选了,其余的绝对不可能了.那么为什么只考虑相邻的呢?因为如果A到B不能形成队列,A到C形成队列了,那么B到C一定是比A到C的数值更小,而且还一定能够形成队列(A与B不能形成队列,说明posA>posB…
题目描述 现在有一个长度为n的数组A,另外还有一个整数k.数组下标从1开始. 现在你需要把数组的顺序重新排列一下使得下面这个的式子的值尽可能小. ∑|A[i]−A[i+k]| 特别的,你也可以不对数组进行重新排列. Input 单组测试数据. 第一行包含两个整数n,k (2≤n≤3*10^5, 1≤k≤min(5000,n-1)). 第二行包含n个整数 A[1],A[2],...,A[n] (-10^9≤A[i]≤10^9). Output 输出答案占一行. Input示例 3 2 1 2 4…
51nod 1682 中位数计数 思路: sum[i]表示到i为止的前缀和(比a[i]小的记为-1,相等的记为0,比a[i]大的记为1,然后求这些-1,0,1的前缀和): hash[sum[i]+N](由于sum[i]会小于0,所以要加N)记录在j<i的情况下sum[i]是否出现过,如果在j>=i的情况下,sum[i]还出现过,那么就代表有一个区间满足条件. 代码: #include<bits/stdc++.h> using namespace std; #define ll lo…
1283 最小周长 题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题  收藏  关注 一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值.例如:S = 24,那么有{1 24} {2 12} {3 8} {4 6}这4种矩形,其中{4 6}的周长最小,为20. Input 输入1个数S(1 <= S <= 10^9). Output 输出最小周长. Input示例 24 Output示例 20 [分析…
一个矩形的面积为S,已知该矩形的边长都是整数,求所有满足条件的矩形中,周长的最小值.例如:S = 24,那么有{1 24} {2 12} {3 8} {4 6}这4种矩形,其中{4 6}的周长最小,为20. Input 输入1个数S(1 <= S <= 10^9). Output 输出最小周长. Input示例 24 Output示例 20水题.. #include <algorithm> #include <iostream> #include <cstring…
交通网络 题目链接:https://www.luogu.org/problemnew/solution/P2164 数据范围:略. 题解: 直接算不好算,我们考虑建反图然后$Toposort$. 这样的话就会方便计算最短路和方案数. 接着就随便用期望搞一搞就好.…
Input 第一行给出一个整数T,表示有T组数据(1<=T<=10000). 第2行到T+1,每行给出一个整数R.(0< R <= 10,000,000,000) Output 对于每一个数据,在一行中输出答案的整数部分即可. Input示例 1 1 Output示例 2 分析:半径为r的硬币相交的直线的的条数有2*r和2*r+1,其中2r+1的情形只有一种,硬币和直线相切,这种情况只有一种,而硬币落在桌子上的情形有无数种,这个概率是可以忽略,故概率为0,所以另一种情形的概率是1,…
传送门 分析 不难发现集合中的数一定是集合内其它一堆数的$gcd$ 于是我们枚举$i$,统计原来集合中有几个数是$i$的倍数,设这个值为$f(i)$ 之后对于每个$i$如果不存在$f(x*i) = f(i)$则这个$i$合法,答案累加一 代码 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<…
[题解] 设满足前后两个元素之差为1的最长上升子序列LIS的长度为m,那么本题的答案即为n-m. 证明: 1,n-m次移动一定可以让序列递增.设LIS的第一个数为i,最后一个数为j,我们按照i-1到1的递减的顺序把这些数调换到第一个位置,它们就排好序了.同理处理j+1到n. 总共需要n-m次移动. 2,不存在小于n-m次的移动方法.因为如果只需移动k次,k<n-m,那么剩下的n-k个数组成了一个更长的LIS(n-k>m),于LIS的长度为m矛盾. #include<cstdio>…
1785 数据流中的算法 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题   51nod近日上线了用户满意度检测工具,使用高级人工智能算法,通过用户访问时间.鼠标轨迹等特征计算用户对于网站的满意程度.   现有的统计工具只能统计某一个窗口中,用户的满意程度的均值.夹克老爷想让你为统计工具添加一个新feature,即在统计均值的同时,计算窗口中满意程度的标准差和中位数(均值需要向下取整). Input 第一行是整数n与k,代表有n次操作,时间窗口大小为k. …
题目: 把排序数组转换为高度最小的二叉搜索树 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树. 样例 给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \ 1 3 5 7 挑战 可能有多个答案,返回任意一个即可 解题: 可以看出,这里的数组是所求二叉树,中序遍历的结果,把这个结果还原成树即可.曾经天勤数据结果好像有这一题. Java程序: /** * Definition of TreeNode: * public class TreeNode {…
把排序数组转换为高度最小的二叉搜索树    描述 笔记 数据 评测 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树. 注意事项 There may exist multiple valid solutions, return any of them. 您在真实的面试中是否遇到过这个题? Yes 样例 给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \ 1 3 5 7 /** * Definition of TreeNode: * class Tr…
给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树. 注意事项 There may exist multiple valid solutions, return any of them. 您在真实的面试中是否遇到过这个题? Yes 样例 给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \ 1 3 5 7 思路:相当于给出中序遍历的结果,然后将其转换成二叉树.        直接采用中间值来作为二叉树的根节点:    将原数组分成左右均等或者相差一个数…
把排序数组转换为高度最小的二叉搜索树   描述 笔记 数据 评测 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树. 注意事项 There may exist multiple valid solutions, return any of them. 您在真实的面试中是否遇到过这个题? Yes 哪家公司问你的这个题? LinkedIn Airbnb Amazon Cryptic Studios Dropbox Epic Systems TinyCo Hedvig Facebook…
参考:<深度学习500问> 期望 ​在概率论和统计学中,数学期望(或均值,亦简称期望)是试验中每次可能结果的概率乘以其结果的总和.它反映随机变量平均取值的大小. 线性运算: \(E(ax+by+c) = aE(x)+bE(y)+c\) ​推广形式: \(E(\sum_{k=1}^{n}{a_ix_i+c}) = \sum_{k=1}^{n}{a_iE(x_i)+c}\) 函数期望:设\(f(x)\)为\(x\)的函数,则\(f(x)\)的期望为 离散函数: \(E(f(x))=\sum_{k=…
思路:求一下最小负数的前缀和 #include<cstdio> #include <map> #include<iostream> #include<string.h> #include<algorithm> using namespace std; const int N=5e4+10; typedef long long LL; int main() { LL sum=0,x; LL ans=INT_MAX; int n; scanf(&qu…
题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1450 期望DP: INF 表示这种情况不行,转移时把不行的概率也转移到自身即可: 还要按得星概率排个序,先决策概率大的就是最优策略,因为后面的都基于它. 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using n…
模型性能的度量 在监督学习中,已知样本 ,要求拟合出一个模型(函数),其预测值与样本实际值的误差最小. 考虑到样本数据其实是采样,并不是真实值本身,假设真实模型(函数)是,则采样值,其中代表噪音,其均值为0,方差为. 拟合函数的主要目的是希望它能对新的样本进行预测,所以,拟合出函数后,需要在测试集(训练时未见过的数据)上检测其预测值与实际值之间的误差.可以采用平方误差函数(mean squared error)来度量其拟合的好坏程度,即 误差期望值的分解 经过进一步的研究发现,对于某种特定的模型…
题意 对于一棵 \(n\) 个点的带标号无根树,设 \(d[i]\) 为点 \(i\) 的度数,定义一棵树的方差为数组 \(d[1..n]\) 的方差. 给定 \(n\) ,求所有带标号的 \(n\) 个点的无根树的方差之和,答案对 \(998244353\) 取模. 题解 注意是方差之和,而不是方差的期望. 首先方差有个套路转化,\(\displaystyle V[x]= \frac{E[x^2]}{n} -(E[x])^2\) ,也就是平方的期望 除去 \(n\) 减去期望的平方. 此处可以…
方差(variance).标准差(Standard Deviation).均方差.均方根值(RMS).均方误差(MSE).均方根误差(RMSE) 2017年10月08日 11:18:54 cqfdcw 阅读数:31959   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/cqfdcw/article/details/78173839 <方差(variance).标准差(Standard Deviation).均方差.均方根值(RMS).均方误差…
ElasticSearch 2 (34) - 信息聚合系列之多值排序 摘要 多值桶(terms.histogram 和 date_histogram)动态生成很多桶,Elasticsearch 是如何决定这些桶展示给用户的顺序呢? 默认的,桶会根据 doc_count 降序排列,这是一个好的默认行为,因为通常我们想要找到文档中与查询条件相关的最大值:售价.人口数量.频率.但有些时候我们希望能修改这个顺序,不同的桶有着不同的处理方式. 版本 elasticsearch版本: elasticsear…
求从待排序的到期望的顺序的最小操作顺序,只能进行一个操作,将当前的乌龟拿出来,上面的下移,拿出来的放到最上面 发现voj没有PE, 解题方法,把俩个串反过来使用,从期望的顺序到待排序的顺序. AC:170ms #include <iostream> #include<stdio.h> #include<math.h> #include<memory.h> using namespace std; int main() { freopen("d:\\…
P3065 [USACO12DEC]第一!First! 题目链接:https://www.luogu.org/problemnew/show/P3065 题目描述 Bessie一直在研究字符串.她发现,通过改变字母表的顺序,她可以按改变后的字母表来排列字符串(字典序大小排列). 例如,Bessie发现,对于字符串串“omm”,“moo”,“mom”和“ommnom”,她可以使用标准字母表使“mom”排在第一个(即字典序最小),她也可以使用字母表“abcdefghijklonmpqrstuvwxy…
Abandoned country Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1756    Accepted Submission(s): 475 Problem Description An abandoned country has n(n≤100000) villages which are numbered from 1…