动点

canvas仿芝麻信用分仪表盘

余生长醉 提交于 2020-02-27 02:43:26
这是一个仿支付宝芝麻信用分的一个canvas,其实就是一个动画仪表盘。 首先, 上原图: 这个是在下支付宝上的截图,分低各位见笑了。然后看下我用canvas实现的效果图: <canvas id="canvas" width="400" height="700" data-score='724'></canvas> <!-- 设置data-score,分数区间[400, 900] --> 唉,总感觉不像。这个是GIF图,可能在网页上打开的效果会好一点( 当然可能就是这样 )。大家可以点击底部预览codepen上的演示。有两个不完美的地方,一个是实际上芝麻信用表盘上的的刻度是不均匀的,我这为了简单的实现就采取相同的刻度;二是表盘上运动的点是有模糊的效果,还没解决。唉,下次再说吧。 接下来还是来说说怎么实现的吧。第一步,国际惯例,创建画布: var canvas = document.getElementById('canvas'), ctx = canvas.getContext('2d'), cWidth = canvas.width, cHeight = canvas.height; 然后绘制表盘,虽说不是处女座,但也要尽可能做到跟原图上的一样,那就是这个环形开口的角度是多少呢?请上ps来测一下: 嗯,136°,这个角度确实刁钻,为了方便接下来的计算,那就约等于140°

LOJ#2330 榕树之心 树形dp

牧云@^-^@ 提交于 2019-11-27 05:39:15
瞎扯 这个题和 \(\mathsf{ISIJ2019 Au}\) 神仙学弟 \(\mathsf{\color{red}c}\mathsf{hangruinian2020}\) 争辩了半个多小时。 概括一下就是《浅谈全球 \(\mathsf{Top10}\) 神仙对于一类图论问题的感性证明的瞎扯》。 所以这篇题解里将会讲一些特别细的内容,而不是"显然"。 题意简述 给你一棵有根树和一个动点,动点一开始位于根结点 \(1\) 。一开始这棵树只有根结点,每次可以在已有的结点上沿原树边向外扩展一个结点,并使动点沿着新结点的方向移动一个结点。 请求出每个结点在原树被完全扩展后,动点是否能停留在第 \(i\) 个结点。 做法 首先这个题一眼 \(30pts\) ,考虑 \(\mathsf{Subtask 3}\) 的做法。 考虑每一个结点不同儿子子树的两次操作会相互抵消, 显然 移回当前节点的最优方案一定是剩下来自重儿子子树的结点,所以尽可能消除重儿子子树即可。 令 \(f(u)\) 为动点在以 \(u\) 为根的子树扩展结束后与 \(u\) 的距离,令 \(v=son(u)\) ,我们想办法写出转移方程。 如果 \(f(v)+1\leq size(u)-size(v)-1\) ,那么以 \(v\) 为根的子树将会被全部消完, \(f(u) = size(u) \bmod 2\) 否则