达美航空

JS鼠标滚轮事件详解

主宰稳场 提交于 2019-12-02 07:51:48
鼠标滚轮事件 ``` //兼容性写法,该函数也是网上别人写的,不过找不到出处了,蛮好的,所有我也没有必要修改了 //判断鼠标滚轮滚动方向 if (window.addEventListener)//FF,火狐浏览器会识别该方法 window.addEventListener('DOMMouseScroll', wheel, false); window.onmousewheel = document.onmousewheel = wheel;//W3C //统一处理滚轮滚动事件 function wheel(event){ var delta = 0; if (!event) event = window.event; if (event.wheelDelta) {//IE、chrome浏览器使用的是wheelDelta,并且值为“正负120” delta = event.wheelDelta/120; if (window.opera) delta = -delta;//因为IE、chrome等向下滚动是负值,FF是正值,为了处理一致性,在此取反处理 } else if (event.detail) {//FF浏览器使用的是detail,其值为“正负3” delta = -event.detail/3; } if (delta) handle(delta); } /

WPF实现放大镜

柔情痞子 提交于 2019-12-02 05:44:45
这是一个之前遗留的问题。wpf里面有很多很多的东西,我以前用的真的只是其中很小的一个角落都不到。 需求背景:图片来源于相机拍摄,由于对像素要求,拍出来的图像素比较高,原图尺寸为3072 2048,以目前的电脑屏幕,很多都是显示不了这么大的,比如1440 900啊,1280 * 1024啊这种的, 在全屏情况下图像的显示都是很小的,图片细节看不清。 为了满足看清图片细节的需求,我们想要做一个放大镜。windows系统下有自带的放大镜功能,在一定程度上可以满足需求,但是实际情况是,将宽度为三千多的图放到一千多的屏幕上,图像被压缩了, 损失了很多点,这种情况下,即使使用了放大镜,也只能实现将1个像素放大到2个像素那么大,而那些损失的点找不回来了。 当时做的时候,受放大镜这个名词的束缚,在网络上搜索wpf放大镜的实现,这种情况下,找到了一个类似于实现windows放大镜功能的方法,勉(ying)为(fu)其(jiao)难(chai),就拿来用了。 有一定的效果,但是我心里知道,这个是不行的。 以后说不定还会有用,所以代码还是贴在这里,代码来源已经不记得了(以后找到补上地址),反正是别人那边搬运来的,我记得当时是直接下载了一份代码,那份代码里面太多修饰性的东西了,我不需要就全都去掉了。 主要是使用VisualBrush来实现的。 这是我调整过之后的源码,这份代码勉为其难也算是我部分原创吧。

Flink Dataset Api(四)迭代操作

别来无恙 提交于 2019-12-02 05:21:46
一、bulkIteration 迭代算法在很多数据分析领域会用到,比如机器学习或者图计算。为了从大数据中抽取有用信息,这个时候往往会需要在处理的过程中用到迭代计算。大数据处理框架很多,比如spark,mr。实际上这些实现迭代计算都是很困难的。 Flink神奇之处就是它直接支持迭代计算。Flink实现迭代的思路也是很简单,就是实现一个step函数,然后将其嵌入到迭代算子中去。有两种迭代操作算子:Iterate和Delta Iterate。两个操作算子都是在未收到终止迭代信号之前一直调用step函数。 本小节是主要是讲解理论。 迭代操作算子包括了简单的迭代形式:每次迭代,step函数会消费全量数据(本次输入和上次迭代的结果),然后计算得到下轮迭代的输出(例如,map,reduce,join等) 1.迭代输入(Iteration Input) 第一次迭代的初始输入,可能来源于数据源或者先前的操作算子。 2. Step函数 每次迭代都会执行step函数。其是由map,reduce,join等算子组成的数据流,根据业务定制的。 3. 下次迭代的部分结果(Next Partial Solution): 每次迭代,step函数的输出结果会有部分返回参与继续迭代。 4. 最大迭代次数 如果没有其他终止条件,就会在聚合次数达到该值的情况下终止。 5. 自定义聚合器收敛:

用numpy实现CNN卷积神经网络

我是研究僧i 提交于 2019-12-02 03:47:24
为了加深对卷积神经网络底层原理的理解,本文通过使用numpy来搭建一个基础的包含卷积层、池化层、全连接层和Softmax层的卷积神经网络,并选择relu作为我们的激活函数,选择多分类交叉熵损失函数,最后使用了mnist数据集进行了训练和测试。 关于卷积网络的详细原理和实现可参考下列文章: 刘建平Pinard:卷积网络前向反向传播算法 卷积层的反向传播 手把手带你 Numpy实现CNN 1、卷积层 卷积层的前向传播输出由卷积核和特征图作卷积运算得到,反向传播时需要计算kernel和bias的梯度以及delta的反向传播误差,kernel的梯度由原特征图和delta作卷积得到,bias每个通道的梯度由对delta每个通道直接求和得到,delta的反向传播误差由delta和旋转180度的卷积核作卷积运算得到。其中卷积运算在实现时先将特征图的对应部分和卷积核展开成了向量的形式,再作向量乘法运算,这样可以通过并行运算加快速度,实现代码如下: def img2col(x, ksize, stride): wx, hx, cx = x.shape # [width,height,channel] feature_w = (wx - ksize) // stride + 1 # 返回的特征图尺寸 image_col = np.zeros((feature_w*feature_w, ksize

C++课堂练习三

China☆狼群 提交于 2019-12-02 03:45:45
【本节内容】if...else...的使用 【练习题】解一元二次方程 【代码】 #include<iostream> #include<cmath> using namespace std; int main() { double a, b, c; double delta; double x1, x2, x; cin >> a >> b >> c; if (a == 0) { if (b == 0) { cout <<"不构成方程"<< endl; } else { x = -c/b; cout << "一元一次方程的根为:x=" << x << endl; } } else { delta = b * b - 4.0 * a * c; if (delta >= 0) { delta = sqrt(delta); x1 = (-b + delta) / 2.0 / a; x2 = (-b - delta) / 2.0 / a; cout << "方程有实根,分别是:" << "x1=" << x1 << " x2=" << x2 << endl; } else { delta = sqrt(-delta); x1 = -b / 2.0 / a; x2 = delta / 2.0 / a; cout << "方程有复根,分别是:" << "x1=" << x1 << "+j" <<

Git 克隆远程仓库到本地

折月煮酒 提交于 2019-12-01 21:43:50
Git 克隆远程仓库到本地 参考 $ git clone --help https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93 当前目录 /e/mozq/02 project 。不指定则克隆 ${name}.git 到当前目录下${name}目录。如果指定路径,可以是相对路径和绝对路径,相对路径可以使用双点符表示上级目录。项目将被克隆到路径最后一个目录下。 不指定 # 不指定,克隆${name}.git到当前目录下的${name}目录。 1@DESKTOP-3H9092J MINGW64 /e/mozq/02 project $ git clone https://github.com/shuzheng/zheng.git Cloning into 'zheng'... remote: Enumerating objects: 8, done. remote: Counting objects: 100% (8/8), done. remote: Compressing objects: 100% (8/8), done. remote: Total 18806 (delta 2), reused 2 (delta 0), pack-reused

[WPF自定义控件库] 关于ScrollViewer和滚动轮劫持(scroll-wheel-hijack)

泪湿孤枕 提交于 2019-12-01 20:35:43
原文: [WPF自定义控件库] 关于ScrollViewer和滚动轮劫持(scroll-wheel-hijack) 1. 什么是滚动轮劫持 # 这篇文章介绍一个很简单的继承自ScrollViewer的控件: Copypublic class ExtendedScrollViewer : ScrollViewer { protected override void OnMouseWheel(MouseWheelEventArgs e) { if (ViewportHeight + VerticalOffset >= ExtentHeight && e.Delta <= 0) return; if (VerticalOffset == 0 && e.Delta >= 0) return; base.OnMouseWheel(e); } } 所有代码就这么多,这个ExtendedScrollViewer 只是用来解决滚动轮劫持(scroll-wheel-hijack)的问题。所谓的滚动轮劫持,简单来说即是在一个可以滚动的页面使用鼠标滚轮滚动页面的过程中鼠标进入某个可以滚动的子元素导致只在这个子元素中滚动而整个页面想滚滚不动了。 具体看看这个例子: 这个情况相信很多人都遇到过,滚轮被“劫持”后索性去拖动滚动条。有次我遇到个内嵌了很多ScrollViewer的长页面,使用起来真的很恼人

P5596 【XR-4】题 笔记

二次信任 提交于 2019-12-01 19:41:04
P5596 【XR-4】题 其实这题我昨天没做出来……所以今天写一下笔记 昨天我还信誓旦旦地说这一定是一道黑题 \(OTZ\) 。果然菜是原罪。 另外吐槽一下科技楼机房频繁停电,昨天写了两小时的树刨和倍增全没了 题目描述 小 X 遇到了一道题: 给定自然数 \(a,b\) 求满足下列条件的自然数对 \((x,y)\) 的个数: \(y^2 - x^2 = ax + b\) 他不会,只好求助于精通数学的你。 如果有无限多个自然数对满足条件,那么你只需要输出 \(inf\) 即可。 输入格式 一行两个整数 \(a,b\) 。 输出格式 如果个数有限,一行一个整数,表示个数。 如果个数无限,一行一个字符串 \(inf\) 。 题解 \(y^2 - x^2 = ax + b\) \(x^2 + ax + b = y^2\) 最朴素的第一想法一定是移项 刚开始想了一下求两函数交点,但是似乎不好搞, 而且当时等号右边的方程还写错了 窝太菜了 \(QWQ\) 然后正解应该是配一下方(如果我当时没有去想狗屎枚举…… \((x + \frac{1}{2}a)^2 + b - \frac{1}{4}a^2 = y ^ 2\) 这个式子就比较好看了,两个异号平方数,还有一项是常数,一定可以用平方差公式 \((x + \frac{1}{2}a)^2 - y ^ 2 = \frac{1}{4}a^2 - b

tmp

情到浓时终转凉″ 提交于 2019-12-01 17:35:02
\begin{equation} \begin{aligned} e_{ijk}e_{lmk} = \delta_{il}(\delta_{jm}\delta_{kk}-\delta_{jk}\delta_{km})-\delta_{jl}(\delta_{im}\delta_{kk}-\delta_{ik}\delta_{km})+\delta_{kl}(\delta_{im}\delta_{jk}-\delta_{ik}\delta_{jm})\ &\leq 3\delta_{il}\delta_{jm}-\delta_{il}\delta_{jm}-3\delta_{jl}\delta_{im}+\delta_{jl}\delta_{im}+\delta_{jl}\delta_{im}-\delta_{il}\delta_{jm}\ &\leq \delta_{il}\delta_{jm}-\delta_{jl}\delta_{im} \end{aligned} \end{equation} 来源: https://www.cnblogs.com/F-Mu/p/11695989.html

luoguP2221 [HAOI2012]高速公路

浪尽此生 提交于 2019-12-01 17:01:06
首先便于计算,我们可以将每一条边缩成一个点,于是右端点 \(r\) 需要减 \(1\) . 从 \(a\) 行驶到 \(b\) 将期望花费 \[ \begin{align} ans=\dfrac{Ans}{C^{2}_{r-l+2}} \end{align} \] 我们可以对于每一条边统计它被算了多少次. \[ \begin{align} \therefore Ans&=\sum^r_{i=l}v[i]*(i-l+1)(r-i+1)\\ &=\sum^r_{i=l}v[i]*[-i^2+(l+r)*i+(1+r)(1-l)]\\ &=-\sum^r_{i=l}v[i]*i^2+(l+r)\sum^r_{i=l}v[i]*i-(r+1)(l-1)\sum^r_{i=l}v[i] \end{align} \] 于是我们只需要在线段树中维护三个值. \[ \begin{align} tr[0][x]&=\sum^{x.r}_{i=x.l}a[i]\\ tr[1][x]&=\sum^{x.r}_{i=x.l}a[i]*i\\ tr[2][x]&=\sum^{x.r}_{i=x.l}a[i]*i^2\\ \end{align} \] 合并非常简单. \[ \begin{align} tr[0][x]&=tr[0][x<<1]+tr[0][x<<1|1]\\ tr[1][x]&=tr[1][x