夏令营讲课内容整理 Day 4.】的更多相关文章

Day7是夏令营的最后一天,这一天主要讲了骗分技巧和往年经典的一些NOIP试题以及比赛策略. 这天有个小插曲,上午的day7T3是一道和树有关的题,我是想破脑袋也想不出来,正解写不出来就写暴力吧,暴力还写炸了..最后心态爆炸,输出随机数本来以为这题没救了,结果下午一看成绩,拿了20(笑抽) NOIP试题的话我想后面慢慢地一篇一篇更新,暑假里把夏令营的这些东西整理完就好. 开学之后事就多了,不可能再像现在这样时间这么“充裕”,我首先得应付学校的作业,然后OI这边也要顾及,作为一名准高三狗,心里有很…
本日主要内容是树与图.   1.树 树的性质 树的遍历 树的LCA 树上前缀和   树的基本性质: 对于一棵有n个节点的树,必定有n-1条边.任意两个点之间的路径是唯一确定的.   回到题目上,如果题目读入的是树上所有的边,则我们应该想到: 每个点的父亲是谁 每个点的深度 每个点距离根节点的距离 其他的附加信息(例如:子树和,子树最大值..) 遍历整个树的代码如下: void dfs(int now) { deep[now]=deep[fa[now]]+; sum[now]=value[now]…
今年没有发纸质讲义是最气的.还好我留了点课件. 第一次用这个估计也不怎么会用,但尝试一下新事物总是好的. 前四天gty哥哥讲的内容和去年差不多,后三天zhn大佬讲的内容有点难,努力去理解吧. 毕竟知识还是需要消化的. 这里我只整理知识点,每天上午评测的题目我会单独处理. 嗯大概就是这样了. 写完后我就会考虑发到博客园里.…
第三部分主要讲的是倍增思想及其应用. 在Day3的整理中,我简要提到了倍增思想,我们来回顾一下. 倍增是根据已经得到的信息,将考虑的范围扩大一倍,从而加速操作的一种思想,它在变化规则相同的情况下,加速状态转移. 运用倍增方法预处理信息,可以加速询问. 如果题目的数据范围极大,线性时间也不够用,那就可以考虑倍增思想了.   1.快速幂 计算 a^x % p. 暴力是显然的,TLE. 其实就是想办法把x拆开.考虑先把它表示成二进制形式,我们可以用不超过logx个f[i]拼出我们想要的答案. 在x的二…
Day 6的第二部分,数论 数论是纯粹数学的分支之一,主要研究整数的性质   1.一些符号: a mod b 代表a除以b得到的余数 a|b a是b的约数 floor(x) 代表x的下取整,即小于等于x的最大整数,也可以认为是直接舍去小数部分 (这个应该是一个符号,但我不知道怎么打出来..下面那个ceil也是) ceil(x) 代表x的上取整,即大于等于x的最小整数,也可以认为是直接舍去小数部分再+1. gcd(a,b) 表示a与b的最大公约数 lcm(a,b) 表示a与b的最小公倍数 累加符号…
Day6讲了三个大部分的内容. 1.STL 2.初等数论 3.倍增   Part1主要与STL有关. 1.概述 STL的英文全名叫Standard Template Library,翻译成中文就叫标准模板库. 它有点类似于一个大型的工具箱,里面包含许多实用工具,可以拿过来直接用而大部分情况下无需去深入探究其内部原理. 不知道从什么时候开始,CCF不再限制选手使用STL,所以在OI赛事中STL被广泛应用. 它分为六个大部分: 1)容器 containers 2)迭代器 iterators 3)空间…
DP专场.. 动态规划是运筹学的一个分支, 求解决策过程最优化的数学方法. 我们一般把动态规划简称为DP(Dynamic Programming)   1.动态规划的背包问题 有一个容量为m的背包,有n个物品,每一个物品i的重量为w[i],价值为v[i]. 要求选择一些物品放入背包中,每种物品只能最多使用一次,使得在不超重的情况下让背包中所有物品价值总和最大. 正常向解法:设状态数组f[i][j]为把前i个物品放入一个容量为j的背包中所能获得的最大价值(以下同设),则状态转移方程为: f[i][…
本日主要内容就是搜索(打暴力 搜索可以说是OIer必会的算法,同时也是OI系列赛事常考的算法之一. 有很多的题目都可以通过暴力搜索拿到部分分,而在暴力搜索的基础上再加一些剪枝优化, 就有可能会拿到更多的分数. 有句话说的好嘛,骗分过样例,暴力出奇迹. 真的可以出奇迹的,只要你用得好.   1.搜索的概念 在一个给定的空间内,运用一定的查找(遍历)方式,直到找到目标解(状态)的过程,我们称之为搜索. 搜素是尝试性的,搜索是无脑的,搜索是朴素的,搜索在很多时候是显然的,搜索应该总是暴力的.但搜索也是…
本日主要内容是并查集和堆. 并查集 并查集是一种树型的数据结构,通常用来处理不同集合间的元素之间的合并与查找问题.一个并查集支持三个基本功能:合并.查找和判断.举一个通俗的例子,我和lhz认识,lhz和hzc认识,那么也就可以断定我和hzc认识. 依照并查集的思想,我们把所有要待处理的元素a1,a2,a3....an这n个元素都看作是一个单独的集合,初始状态每个集合都只有一个元素.我们就可以把并查集的合并操作理解为集合之间的取并集操作. 作为一个树形结构,在一个由许多这样的集合构成的森林中,每个…
主要内容是栈和队列. 1.  栈 运算受到限制的线性表.只允许从一端进行插入和删除等操作.这一端便是栈顶,另一端便是栈底. 其实可以把栈想象层任何有底无盖的柱状的容器...毕竟栈满足后进先出的特性.计算机当中调用函数时,中间结果便会保存到「系统栈」中.递归过程也需要栈的协助 . 实现:STL or 手写(请参照一本通 or 课件) 一般操作:判断栈空/满.入栈.出栈,判断栈的大小(请参照一本通 or 课件) 1.1 单调栈 顾名思义,保证内部元素单调(单增或单减)的栈.我们只要在插入新元素的时候…
NOIP数论内容整理 注:特别感谢sdsy的zxy神仙以及lcez的tsr筮安帮助审稿 一.整除: 对于\(a,b~\in~Z\),若\(\exists~k~\in~Z\),\(s.t.~b~=~k~\times~a\),则说\(a\)整除\(b\),记做\(a~|~b\) 二.带余除法: \(~\forall~a,b~\in~z\)存在且仅存在唯一的\(q,r~\in~Z^*\),\(s.t.~b~=~q~\times~a+r\),其中\(r~\in~[0,a)\).记做\(r~=~b~Mod…
久前开始使用的VS Code,使用一段时间以后确实感觉比之前在用的Sublime Text好很多,可能是汉化及插件方面使用做的更好吧. 今天推送到更新到1.18,按我的个性,喜欢一个东西的话,我就回去了解熟悉,从而更好的使用,不论是开发工具也好,亦或开发框架也好. 奈何官方的更新文档是英文的(这不是废话嘛!),考虑到小伙伴们阅读起来还是比较累的(包括我自己),因此大概整理了一下,仅供参考. 由于部分功能我自己也没有用过,因此如果翻译或者理解上有错误,欢迎指正! 更新说明原文:https://co…
selenium常用命令之操作页面元素及获取元素内容的事件整理 例子:  /**id <input type="text" id="phone" name="phone" class="LoginText" placeholder="手机号" > * <button class="LoginBtn" id="btnLogin" value="…
转自:http://www.cnblogs.com/caoleiCoding/p/6170555.html 首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往java ee方向发展的,学习完前端,在学习后端很多东西比计较容易理解! 其中J2SE是关键,如果学好了java se 部分,基础扎实了,后面进阶学习也比较轻松! 补充说明一下:我觉得学习java比较合适的方法是先把所有的知识点过一遍,然后把所有的知识点串起来,边做开发边补充,就像…
1.1 ORM概述 Object Relation Mapping 对象关系映射. 对象-关系映射(OBJECT/RELATIONALMAPPING,简称ORM),是随着面向对象的软件开发方法发展而产生的.用来把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中去.这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的 SQ L 语句打交道,只需简单的操作实体对象的属性和方法[2]  .O R M 技术是在对象和关系之间提供了一条桥梁,前台的对象型数据和数据库中的关系型的数据通过…
第一是性能统计工具,这是LayaAir引擎内置的性能统计工具,在代码加入Laya.Stat.show(); 引擎内置的性能统计工具 打开这个工具后,可以用于观察性能,除了FPS越高越好外,其它的值越低越好.这里尤其要关注DrawCall数量,这是重要的优化指标,尽量要控制在100以下. 第二是DebugPanel调试工具,这也是LayaAir引擎自带的调试工具,类似DIV调试窗口,可审查页面中的各个子元素,通过查看与修改元素属性,以及查看重绘区,可以方便项目的优化与调试.在初始化舞台后通过Deb…
  这篇博客主要是整理了PointNet提出者祁芮中台介绍PointNet.PointNet++.Frustum PointNets的PPT内容,内容包括如何将点云进行深度学习,如何设计新型的网络架构,如何将架构应用的3D场景理解. 作者主页:https://stanford.edu/~rqi/ B站视频:https://www.bilibili.com/s/video/BV1HE411g7tA PPT下载链接:https://pan.baidu.com/s/105MRbBmCv4Tj6GYTM…
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学习的作用. 一.创建第一个程序 第一个程序的创建.运行解释器和一些基本的调试. 1.1运行 Python Python 程序总是在解释器中运行. 解释器是一个"基于控制台的"应用程序,通常从命令外壳运行. Python 3.6.1(v3.6.1:69c0db5050,2017 年 3 月…
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><h…
--绝对值select abs(-100) from dual; --取余select mod(8,3) from dual; --取整,大于该数的最小整数(上限值)select ceil(12.0) from dual;select ceil(12.5) from dual; --取整,小于该数的最大整数(下限值)select floor(12.5) from dual; --四舍五入,选择需要保留的小数位select round(12.456,0) from dual; --截取小数,输入需…
下午对着源码看陆喜恒. Hadoop实战(第2版)6.4.1  (Shuffle和排序)Map端,发现与Hadoop 1.2.1的源码有些出入.下面作个简单的记录,方便起见,引用自书本的语句都用斜体表示. 依书本,从MapTask.java开始.这个类有多个内部类: 从书的描述可知,collect()并不在MapTask类,而在MapOutputBuffer类,其函数功能是 1.定义输出内存缓冲区为环形结构2.定义输出内存缓冲区内容到磁盘的操作 在collect函数中将缓冲区的内容写出时会调用s…
.cnblogs_code { width: 500px } 一.python 的历史 (摘自百度百科,了解就ok) Python[1]  (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议[2]  . Pytho…
1.初识模块:sys.os 标准模块库存放在lib文件夹里 三方库模块一般存放在packages文件夹里 模块调用方法:import sys/os sys模块: sys.path 打印环境变量 sys.argv 打印文件的相对路径 sys.argv[0/1] 0表示打印当前程序名,1表示打印执行文件后面输入的内容如:python sys.py 1 2 3    打印成(1,2,3)列表,以空格分割 os模块:与系统打交道的模块 os.system("dir") 列出系统目录,只能显示…
1.python的发展史,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年...... 2.第一个helloword程序的开始 3.变量的含义,赋值传参数的作用 4.字符编码,中文编码gbk,gb2312,国际统一编码utf-8,二进制,  16   8 4 2 1 1 1 1 1 1 30转换后: 1 1 1 1 0 5.程序的交互:--interaction   交互 #注释 ----多行快捷键:ctrl+/ '''多行注释内容'''  同时也是多行…
0.在git官网上下载git对应的适配系统版本 进入到需要管理的目录,打开git终端 1.git相关的基础命令: git init 在当前文件夹下创建一个.git的隐藏文件夹,初始化版本控制器 注:不要同一目录下多个位置初始化,他可以管理当前目录下所有文件(包括子级目录) git status 查看Git当前状态,如:那些文件被修改过.那些文件还未提交到版本库等. git add 文件名 将指定文件添加到版本库的暂存状态. git commit -m '提交信息' 将暂存区的文件提交到版本库的分…
在java中,对数据的输入和输出操作以流的方式进行.(注:对文件的操作用io.File类,但不能对文件中的内容进行操作) 一.IO流的分类: 按数据流的方向不同,可以分为输入流和输出流: 按处理数据的单位不同,可以分为字节流和字符流: 按功能不同,可以分为节点流和处理流: 二.J2SDK所提供的所有流类型位于java.io包,都分别继承自以下四种抽象流类型: 注:以上是四个抽象类 java输入输出流是站在程序的角度来说的. 从文件中读取数据用输入流,向文件中写数据用输出流. 字节流:单位是字节(…
图灵奖 艾伦·麦席森·图灵(Alan Mathison Turing,1912-1954)1966 共计70名科学家获此殊荣,华人仅有1位,他是2000年姚期智. 解释型语言 Python / JavaScript / Basic 程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次.因此效率比较低. 全国青少年信息学奥林匹克竞赛.联赛 NOI 1984 创办 NOIp 1995 创办 分辨率为 1600x900.16 位色的位图,存储图像信息所需的空间为 \(1600\time…
目录 一.Java 8 Lambda 表达式 1.1 语法 1.2  Lambda 表达式实例(常见) 二.Java 8 Stream 2.1 什么是 Stream? 2.2生成流 2.3  forEach 2.4  map 2.5  filter 2.6  limit 2.7  sorted 2.8  并行(parallel)程序 2.9  Collectors 2.10  统计 2.11 其他还有 2.12  Stream 综合实例 三.Java 8 方法引用 3.1方法引用 3.2方法引用…
在系统安全研究中,堆,是一个极其重要的内存区域以及研究的热点.堆,区别于栈区.全局数据区以及代码区,它的主要作用是允许程序在运行时动态地申请某个大小的内存空间.本文将从宏观到微观,简单梳理总结一下Windows系统中的堆相关的知识以及常见的堆利用漏洞,主要参考了看雪的<0day>,方便自己后续的学习.注:本文更多是自己的整理,已经有很多师傅更详细地介绍过Windows堆了. Windows堆的历史 到目前为止,由于微软并没有完全公开Windows中堆管理的细节,所以现在对Windows下堆的了…
Gulp- 简介 Automate and enhance your workflow | 用自动化构建工具增强你的工作流程 Gulp 是什么? gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成: 使用它,不仅可以很愉快的编写代码,而且大大提高我们的工作效率. gulp是基于Nodejs的自动任务运行器,它能自动化地完成 javascript.coffee.sass.less.html/…