关闭

[置顶] 基础图论知识总结

1. 1.最短路 何为最短路? 给定两个顶点,在以这两个点为起点和终点的路径中,边的权值和最小的路径即为最短路 何为单源最短路?何为两点之间的最短路? 固定一个起点,求它到其他所有点的最短路的问题,终点也固定的问题叫做两点之间的最短路问题 Bellman−Ford Bellman-Ford算法 记从起点S S出发到顶点i i的最短路径为d[i] d[i],则存在下述等式 d[i]=mi...
阅读(605) 评论(0)

[置顶] 基础数论知识总结

1.1.费马小定理与扩展欧几里得在乘法逆元上的运用 费马小定理 aphi(n)−1≡1(modn)a^{phi(n) - 1}\equiv1\pmod n 扩展欧几里得 ax≡1(modn)ax\equiv1\pmod n 乘法逆元 针对bamodn\color{red}{\frac{b}{a}\mod n}这种除法取模,将它转换为乘法取模,我们需要用到之前的费马小定理和扩展欧几里得,这...
阅读(1027) 评论(0)

[Offer收割]编程练习赛31

H星人社交网络 题解 题目很简单,注意的是浮点数处理和相关的判断没写错就可以了,这种题目一般两种思路: 一个是前缀和,一个是取尺法 代码(前缀和) #include #include #include #include #include using namespace std; const...
阅读(12) 评论(0)

洗牌算法的随机性(数学归纳法)

经典随机洗牌算法 int s[MAXN]; for(int i = 0; i < MAXN; i ++) { int k = rand() % (i + 1); if(k != i) swap(s[i], s[k]); } 证明 令当前的数的个数为ZZ,序号从00开始到Z−1Z-1: 当Z=1Z=1时,满足条件,概率为11\frac11 设Z=KZ=K时,满足条件,每一个数出现在...
阅读(26) 评论(0)

[Offer收割]编程练习赛26

小Hi与法阵 题解 按照条件求解出最大的三角形和最小的三角形,然后求重心即可。 这里求解面积有两种方法: 海伦公式:p(p−a)(p−b)(p−c)−−−−−−−−−−−−−−−−−√\sqrt{p(p-a)(p-b)(p-c)},将三角形的每一条边求解出来,然后进行处理 用有向向量进行计算,如果设a(x0,y0)a(x_0,y_0),b(x1,y1)b(x_1,y_1),c(x2,y2)c(...
阅读(26) 评论(0)

2018链家编程题-音乐列表(记忆化搜索DP)

题目描述   小明喜欢在火车旅行的时候用手机听音乐,他有N首歌在手机里,在整个火车途中,他可以听P首歌,所以他想产生一个播放表产生P首歌曲,这个播放表的规则是:   (1)每首歌都要至少被播放一次   (2)在两首一样的歌中间,至少有M首其他的歌 小明在想有多少种不同的播放表可以产生,那么给你N,M,P,你来算一下,输出结果取1000000007的余数 输入   输入N,M,P...
阅读(104) 评论(0)

几何模板

``` const double eps = 1e-8;int n; struct Point { double x, y; Point() {} static double c_eps(double p) { if(fabs(p) < eps) return 0; return p; } void cin(){ s...
阅读(103) 评论(0)

CSS深入之单个标签就能6翻天的特效(三)

简要说明加载特效非常常见,以前大都是些画圆圈的gif图,后来css3出来了,随着前端技术的不断发展,css3本身也衍生出各种不同的技术,用css3做一个加载特效用来取代用gif图就是一个再好不过的运用了。而问题是我们大多数人并不太会用css3的一些特性,导致有些特效即便是想出来了也无从下手,即便是到了一些特效网站下载了别人的特效,去看源码可能有些东西依旧是云里雾里。同时,针对只用一个标签就可以表现出...
阅读(110) 评论(0)

CodeForces - 786B Legacy(线段树 +最短路+思维好题)

Legacy(传送门) 题意 给定nn颗行星,qq次处理,地球位置为ss,求解在qq次处理后,地球到每一颗行星的位置。其中qq有三种不同的操作: 输入v,u,wv,u,w,构建一条从vv到uu的代价为ww的路线 输入u,l,r,wu, l, r, w,构建一条从uu到区间[l,r][l,r]中任意一颗行星的代价为ww的路线 输入u,l,r,wu, l, r, w,构建区间[l,r]中任意一颗行星...
阅读(216) 评论(0)

51nod - 1287 加农炮(线段树)

1287 加农炮(传送门) 题意 中文不解释 解题思路 看完这道题目最暴力的方法和思路,就是寻找从左到右第一个大于等于指定子弹高度的地形高度,时间复杂度O(n2)O(n^2)。接下来优化就是针对区间了,打个比方如果Max[i]表示[1,i][1 , i]这个区间的最大值,那么我们针对一个子弹高度h要处理的就是最靠近左边的h <= Max[i],那么子弹落下的位置为i - 1。也就是我们最终的...
阅读(117) 评论(0)

CSS深入之padding应用相关实现(二)

1.正方形自适应 代码 Document *{margin:0;padding:0;} #parent{width:90%;height:200px;background...
阅读(96) 评论(0)

小白天堂之编写词法语法分析器何其简单(一)

写小白天堂系列的文章算是从这一篇开始吧,但是写这个词法语法分析器实在是因为编译原理老师扣啊,哎,没办法,只能直接写代码,当时正好将Javascript的语法基本撸了一边,所以就决定写一个JS的词法语法分析器,嗯,当然这个写哪种编程语法的分析器都一样,最多是在词法分析器中有点区别,他们的语法分析器几乎都是一样的,构造First集,Follow集,然后就是构建出预测分析表M基本就OK了,如果你还想增加S...
阅读(2025) 评论(0)

Period UVALive - 3026(KMP)

Period(传送门) 题意 给定字符串,找到每个前缀的最大循环节的个数,即循环周期,如果大于1的话就输出下标和周期数(循环节) 解题思路 KMP就可以非常轻松的解决问题,首先提到一个next数组的性质,对于当前的前缀a[j],如果j % (j - next[j]) == 0则j - next[j]即为最小周期长度,而周期数就是j / (j - next[i]),至于为什么j - next[...
阅读(351) 评论(0)

2017湖南多校第八场-20170429

C(1908): The Big Escape(传送门) 题意 有一棵树,除了根节点,其他每个节点都有一个人,大家都要到根节点去,每条边每分钟只能有一个人通过。问最后到达的人的时间 解题思路对于root的每棵子树互不相关 在一棵子树中,每一秒最多只能有一个人逃出去,所以不管是哪一个子树他们每一秒只会有一个人从子树的顶点出来,所以直接求解所有子树大小的最大值就是最终答案 代码 #includ...
阅读(359) 评论(0)

数据结构之平衡二叉树

平衡二叉树是精华版的二叉排序树,但是将一个完整的二叉排序树直接转换为平衡二叉树代价并不小,因为你是将一个已经构造完成的二叉排序树转换为平衡二叉树,这里需要区分的,很多博客讲平衡二叉树时候都说是将二叉排序树转换为平衡二叉树,其实不然。因为那只是我们构造平衡二叉树的过程,而不能说成是二叉排序树转换为平衡二叉树,因为平衡二叉树拥有二叉平衡树的性质,打个最简单的比方:我们将一颗二叉树建立成为二叉排序树,难道...
阅读(553) 评论(0)

CSS深入之其实你可能根本不认识margin和padding(一)

1.我们来解析官方的margin是怎么个说法margin属性可以为给定元素设置所有四个(上下左右)方向的外边距属性。四个外边距属性设置分别是: margin-top, margin-right, margin-bottom 和 margin-left 。指定的外边距允许为负数。 初始值 每一个都是0 使用的范围 包括所有的元素,但是对于table内中display类型为table-capti...
阅读(641) 评论(0)

JS深入之你知道点号(.)是怎么玩的吗?(二)

经过我多年的开发经验和牛逼的思维方式,终于可以来说说点号这王八犊子这些年到底都做了什么亏心的事 —扯淡新记。作为一个半标准的前端码农,我深刻的意识到,JavaScript全程都在耍我们,就这个点号就能够让你一直懵逼,这种词法文法,和语法实在是让人嘴角莫名地一抽,说好的简单呢。果然,入门确实简单,直接套Java或者C,C++的语法,然后改几个保留字,稍微瞄一下它的语法,OK!,入门啦,然而,只想说,你...
阅读(554) 评论(0)

HTML深入之script异步也矫情(二)

我们在MDN官方上面看到了script具备两个有意思的属性:async,defer,其中defer兼容性还不如async,IE10以上都支持async,defer,Opera15以上都支持async,defer,Opera15好像现在暂时不支持。我们用HTML深入(一)的TimeLine来试一试,也是HTML深入(一)的代码。 当我们不用这两个属性会是怎样的呢?我们在深入(一)就讲过,蓝色是HTM...
阅读(655) 评论(0)

HTML深入之打开个网页它到底干了什么(一)

所有我们随意的给一个非常简单的网页,基本构造如下: 然后我们运行在chrome中打开它,然后调出控制台,选择我们的Timeline项(它显示会有几种颜色,这里先提一下,蓝色表示HTML解析,黄色表示会触发或者是运行了javascript,紫色表示渲染,绿色表示绘制,其实Timeline项中也对这个进行了说明,希望大家可以学会使用Timeline去进行一些性能优化的工作),然后就会看到如下图:然后我...
阅读(401) 评论(0)

JS深入之趣味比较隐式转换(一)

这一部分讲述的是堆栈调解器的实现React的API可以被分为三部分,核心,渲染器,调解器,如果你对代码库可能有点不了解的话,可以看我的博客其中堆栈调解器是React产品中最重要的部分,被React DOM和React Native渲染器共同使用,它的代码地址src/renderers/shared/stack/reconciler。1.从零开始构建React的历史Paul O'Shannessy给予...
阅读(722) 评论(0)

Webpack学习之你该更新了从V1到V2(三)

这部分没有接触Webpack1.x的读者可以跳过(减号代表不用,+代表新增)resolve.root, resolve.fallback, resolve.modulesDirectories这些选项取而代之的是一个配置项resolve.modules。 resolve: { - root: path.join(__dirname, "src") + modules: [ + pat...
阅读(1113) 评论(0)

Webpack学习之亲,安装一下(二)

1.安装的前提条件你的需要有一个最新版本的Nodejs的环境支持,而且这个Node.js是属于长期稳定的版本。2.本地安装npm install webpack --save-devnpm install webpack@ --save-dev如果你是在您的项目中使用npm脚本,npm将试图寻找安装在本地模块的webpack,同时检测出安装技术是有用的。"scripts": {...
阅读(437) 评论(0)
440条 共22页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:292017次
    • 积分:7539
    • 等级:
    • 排名:第3052名
    • 原创:440篇
    • 转载:0篇
    • 译文:0篇
    • 评论:66条
    博客专栏
    最新评论