why use crawler
I found that I was no longer willing to write the crawler program, more often use jquery output page link, and then wget to download, this will be faster.
I found that I was no longer willing to write the crawler program, more often use jquery output page link, and then wget to download, this will be faster.
关于docker的介绍以及初级使用 在各个网上都能搜到了
记录一下个人的使用了两天后的感受
首先可以去看看知乎的评价 以及知乎上说的关于docker的使用场景
目前还是没有感觉出和server 虚拟机的差别, 很明显的就是 它能直接通过内部命令去搜和下载以及安装运行,而虚拟机需要去找找找
因为本身我的host也是linux而且还是基于ubuntu的mint,所以我看到很多应用 感觉都直接可以安装,从这一点上说对个人用户没有看出特别的优点
目前所想到的优点,以及搜索到的一些repo:如果本身使用的不是debian系列的linux 甚至是windows,那么有一个docker能快速部署和支持想想也是很棒的,当然现在windows 也推出了ubuntu on windows
个人每次换新电脑的时候 还是要配本地环境,感觉优势不明显,但比如一些常用的需要配置的仓库,别人已经搭好了就能直接pull
还没学会如何精简的使用docker+github 来作为个人性质的使用 _(:з」∠)_或者这种姿势本身就是不正确的?
以及 它和虚拟机相比 可以说把 整个系统当做一个仓库来管理,因此 可以更快”建立”虚拟机 用来运行一些需要隔离的程序



https://docs.docker.com/engine/faq/
docker pull
docker build
docker push
docker run
--rm 运行后删除自己,可以把数据类映射到宿主机上,运行的container只是当作个程序
--env 运行环境参数
但凡会输入--help命令就能看到-d是 -d, --detach Run container in background and print container ID 还有一堆人非要说是daemon
--link <container name or id>:<alias name> # https://www.jianshu.com/p/21d66ca6115e
方案1 sudo启动
方案2 创建docker用户组
1 | sudo groupadd docker #添加docker用户组 |
1 | docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像TD或镜像名:TAG |
映射:冒号左侧宿主或docker提供,右侧docker内部
docker hub 仓库,拉取到本地images
images 生成可运行的container
container 执行具体任务
docker image inspect <image name> 看配置
docker-compose.yml文件 + 相关配置文件
1 | # 启动所有服务 |
index.js
1 | var os = require("os"); |
Dockerfile
1 | FROM alpine |
docker image build -t hello:v0.1 .
相关命令
Docker Compose and Docker Swarm Mode
Compose用于控制单个系统上的多个容器。 就像我们用来构建映像的Dockerfile一样,有一个文本文件描述了应用程序:要使用的映像,多少实例,网络连接等。但是Compose仅在单个系统上运行,因此虽然有用 ,我们将跳过Compose1并直接进入Docker Swarm Mode。
Swarm Mode 告诉Docker您将运行许多Docker引擎,并且您希望协调所有引擎。 Swarm模式结合了以下功能:不仅可以定义应用程序体系结构(例如Compose),而且可以定义和维护高可用性级别,扩展,负载平衡等。 通过所有这些功能,Swarm模式在生产环境中的使用频率要比其简单的表亲Compose更高。
https://training.play-with-docker.com/ops-s1-swarm-intro/
这些并不会随着container消失而清理,可能需要手动rm,
docker network ls 管理网络配置
docker volume ls 储存
对于宿主机器的权限https://training.play-with-docker.com/security-seccomp
| 功能 | 命令 |
|---|---|
| 比较container和images本身的区别 | docker container diff <container_id> |
| 基于container创建image | docker container commit <container_id> |
| 命名image的repo | docker image tag <image_id> <image_repository> |
| 基于dockerfile创建image | docker image build -t <image_repository> . |
| 导出容器 | docker export <container_id> > xxx.tar |
| 导入容器 | cat xxx.tar <管道符号> docker import - <repository>:<tag> |
| 标准输出日志查看 | docker logs -f <container_id> / docker container logs <container_id> |
| 进入正在运行的容器(不建议经常操作,如果经常改,应该映射出来) | docker container exec -it <container_id> /bin/bash |
登录
docker login
产生image
docker image build -t [username]/[repository]:[tag] .
推送
docker image push [username]/[repository]:[tag]
比如我的一个128ssd+1t普通的电脑,分区大概是/,/home,/data, 然后这个玩意占了8g多/,忍不了
很多办法 https://github.com/moby/moby/issues/3127 , 官网是建议
/etc/docker/daemon.json
1 | { |
记得先停再操作
相关连接
虚拟化是不需要对用户程序更改提供的下层虚拟服务
这个实现在云端把它作为单目标程序的VM image
贡献:
1.提供单应用密封的程序 很适合云服务
2.评估了OCaml一种函数式语言 展示了类型安全 的好处 不会造成灾难性
3.lib和language扩展支持在OCaml上编码
基于hypervisor开发 而非硬件
§3 用Mirage的实现来描述一个unikernel的原型
牺牲向后兼容 显著 提高安全和性能
specialised, sealed, singlepurpose libOS VMs that run directly on the hypervisor
配置部署内置到编译过程中…???…
做了一些云端程序大小的优化
安全firstly by compile-time specialisation, then by pervasive type-safety in the running code + 基于hypervisor和ssl ssh等
在编译时尽可能的估计不需要的feature,从而减少image大小
多语言的支持 向后兼容 vs 效率 ,类型
单语言(类型 安全) 再用非OCaml的通过消息传递 来交流
single-address space 内存需要一次申请完 从而在隔离上基于hypervisor实现密封
运行时随机地址 保护
提供Xen VM 镜像 和linux 二进制可执行mirage
总之 我们用OCaml 我们觉得它吊
PVBoot 提供两个页申请slab & extent slab 用于支持c(用的不多 因为大多数代码是OCaml写的),extent是主要的 申请分配 虚拟地址 垃圾回收等,PVBoot还提供最基本的异步 事件驱动等
3.3 运行时语言 内存分为两个大堆(长期)和小堆(临时) ,通过对heap的分化 让垃圾回收管理所需要检测的部分变小,以及实现0拷贝I/O,基于PVBoot的domainpoll函数实现的并行,只有最外的线程main的loop需要C的外部事件其它都是OCaml的,用evaluator去唤醒轻量的线程,没有内部抢占和异步中断,试用本地key可以对一个thread进行定位从而操作。
3.4 设备驱动 基于hypervisor(Xen)的驱动 信号槽 事件通道 来支持USB PCI等,通过内联少量汇编和C结构 实现基本由纯OCaml实现。 I/O 零拷贝(grant table)自动垃圾回收(但仍然不能完全防止数据泄漏)
3.5 Type-safe I/O network(内部vchan+外部不同的lib对应不同的protocol 按照cstrcut分割) 网络DNS啊什么的更快(原理是给上层更多的底层控制?减少中间内耗?)
4 Evaluation
boot time(vs linux-pv 网络响应)Unikernels are compact enough to boot and respond to network traffic in real-time.
threading 因为少用户/内核切换唤醒时间 垃圾回收 感觉主要靠超页? Garbage collected heap management is more efficient in a single address-space environment. Thread latency can be reduced by eliminating multiple levels of scheduling.
Networking and Storage (direct I/O 更高的throughput relative) 低内存拷贝 高cpu使用 和linux direct I/O比基本差不多 感觉那个表的意思是Mirage to Linux 的throughput更小??
实现了一些功能程序 =。= 然后比性能大小,还说For example, in the last 10 years the Internet Systems Consortium has reported 40 vulnerabilities in the Bind software.7 Of these, 25% were due to memory management errors, 15% to poor handling of exceptional data states, and 10% to faulty packet parsing code, all of which would be mitigated by Mirage’s type-safety.
活跃代码数=。= 感觉整个贡献也就很棒
总结也就和最开始的贡献总结一样
type-safe????
现有的系统在一些结构上还是采取老的方法,这个Singularity项目就是要复审现有的软件的常见问题 widespread security vulnerabilities; unexpected interactions among applications; failures caused by errant extensions, plug-ins, and drivers, and a perceived lack of robustness.
利用现代编程语言的类型和内存安全来说动态减少用于隔离的代码,两个程序间不能直接的内存操作,要么信号传递要么用特殊的交换heap,这样设计的sip是自动运行的,每一个sip有它自己的数据框架,运行时系统,垃圾回收,不能运行时加代码,新建sip和host的sip是隔离开的,易于去分析,最近也有paper对这种sealed processes的好处和trade-off进行分析.基于语言类型和内存安全用软件静态+运行时分析???这么吊?不需要硬件?通过这样多个程序甚至可以使用同一个大的虚拟地址,因为每个都不会超过它自己的SIP的范围,Aiken比较了硬件和软件用来孤立的trade-off,SIP减少page table切换 TLB,这个实验的关键就是建立一个用SIP的系统并论证它更加可靠..
通过合约channel (In the Sing# language, the endpoints are distinguished by types C.Imp and C.Exp , respectively,), 这里给的是状态来表示 以及状态转移所要进行的操作的伪代码 总之细节也记不很清,如果以后要做相关的可以来参考,这里这样是表达了所有的操作按照一个Contrat,这样是高效并且在SIP之间的交流是可以分析的,之后结合上线性类型Singularity也支持了SIP之间进行大数据的零拷贝的channel,作者说验证器开发了很久,因为它无法预测输入的数据不足的情况,并且这个bug也存在了很久,(最后的解决办法是在可能触发的几秒钟内再进行判断???) 总之通过channel 提供了分离 易于静态分析 减少一定的动态检测 并且动态也能去检测故障
用户需要执行的时候不是给一个exe一样的而是给系统一个manifest,它包含source程序的位置以及要依赖的程序的信息(感觉就和Android中的权限需要 先在manifest的样子很像),通过manifest的提供 可以静态动态的分析 依赖,以及检测是否可以支持,总之MBP很强 是MSIL的一个扩展=。= 有助于 各种检查
提供最基本的 software-isolated processes, contract-based channels, and manifest-based programs的抽象,To each SIP, the kernel provides a pure execution environment with threads, memory, and access to other MBPs via channels. 主要90% 使用Sing# 类型安全的语言写的 有垃圾回收机制,最主要的unsafe的代码是是实现垃圾回收的=。= 并不懂它这种48%的计量方式是什么 以及这么具体干嘛=。=_(:з」∠)_ 这也就不继续说语言组成的细节 具体看paper,总的说它是microkernel 所有的protocol 文件系统都是在核外,
Application Binary Interface (ABI) 确保最小 安全的 孤立的 每一个SIP的计算环境,ABI通过 终端的channel进行信息交流,ABI 将 accessing primitive和process-local operations 区分开,这种区分在进过通道时作为一个参数,静态分析可以利用这个信息进行分析,……比如静态分析可以知道没有使用网络channel的就没有能力发送DDOS攻击……
不是很懂这一段 怎么设计的功能有192个 又很多 又不包括一些类似win和linux的复杂的,ABI保证任何SIP不能通过ABI函数‘直接’改变另一个SIP的状态,保证了每一个SIP自己的控制权,这样让每个SIP依赖与软件层面的孤立而不是硬件的保护,然后它们的消耗比普通的函数调用消耗更大
3.1.1 Privileged Code 由于类型安全和内存安全,SIP提供了权限指令更加宽松的 执行范围,SIP并利用这种safe in-line技术 来优化channel 交流
3.1.2 Handle Table 通过强类型控制表保证SIP的跨ABI的操作例如 mutexes和threads不会被篡改,
又是说以往的内存的虚拟内存每个SIP一个管理,就算是分享 也是 指向自己的虚拟地址,不会指向其它SIP的虚拟地址,因此易于垃圾回收。
3.2.1 Exchange Heap 每一个SIP之间交换的数据需要放在交换heap中(Figure 3),交换heap中的指针只会指向交换heap中,在运行时同一个heap在一个时间最多被一个SIP拥有,静态分析能确保SIP不会访问一个dangling pointer.为了能静态分析….在执行时一个SIP最多有一个指向block的指针,Singularity保证一个SIP在发送一个block数据后不再拥有修改它的能力
所有tread是内核tread ,也就是内核可调度的,性能差不多 因为不需要内核权限和protected mode
3.3.1 Linked Stacks
3.3.2 Scheduler 用一个 unblocked list 和一个preempted list来,和普通发信息一样它也是发送信息,block等待返回,Singularity允许 一个SIP中的线程切换到另一个SIP上的线程,需要394个周期
3.4 Garbage Collection
大多safe language 中都有垃圾回收,Singularity的每个SIP有它自己的垃圾回收功能,又pointer不会跨SIP等前面的限定让系统能够很好的垃圾回收。现在运行时的垃圾回收有五种 generational semi-space, generational sliding compacting, an adaptive combination of the previous two collectors, mark-sweep, and concurrent mark-sweep.现在系统用的是concurrent mark-sweep collector
3.5 Channel Implementation
0allocated ,用Sing#实现,状态转换的每个周期至少一次发送和一次读取,这样保证了不会有终端无限发送而不等待,看上去这个规则过于严格,但实践没发现有放宽的需要,预申请终端的queues并把指针指向exchange heap 很自然的能够实现0拷贝的多SIP子系统
Singularity’s principled architecture, amenability to sound static analysis, and relatively small code base make it an excellent vehicle for exploring new options. In the following subsections, we describe four explorations in Singularity:
The Java 有运行时的反射,We have developed a new compile-time reflection (CTR) facility . Compile-time reflection (CTR) is a partial substitute for the CLR’s (common language runtime) full reflection capability. The core feature of CTR is a high-level construct in Sing#, called a transform, which allows programmers to write inspection and generation code in a pattern matching and template style. The generated code and metadata can be statically verified to ensure it is well-formed, type-safe, and not violate system safety properties. At the same time, a programmer can avoid the complexities of reflection APIs.
大多的os用cpu的mmu 硬件来孤立进程通过两种机制 ——1.进程只能访问具体的一些物理地址,2.使用privilege levels保护 执行权限指令的不可信代码.
主要讲的还是 权限的分配
读后感 首先其的设计方法 还是让我有新的获取,
依然是对type-safe 的语言 一脸懵逼 问了问ssj,他说开学给我说_(:з」∠)_向大佬低头
然后就是一点感悟,不知道其它学科 往研究方向是怎么走的,至少目前看到 系统相关的 很多东西都不是”站在巨人的肩上“ 更多的像是”听了巨人说的话“,毕竟它和实际的联系会有更紧密一些,向文中的很多驱动啊什么之类的都是巨大的工作量,当对底层有修改想法的时候,还需要去考虑对上层的支持,因此这样一个就算十分优秀的想法,想要实现,想要验证,甚至想要应用都需要大量的时间和物力去支持。
我不知道未来会怎样,不知道如果我去研究会做出多少贡献,又能有多少支持。如果梦想养不活你,就挣钱养活梦想吧。
opengl自己的全以gl开头
识别图元,识别凹多边形,通过计算相邻边的叉积 来找到大于180°的角,再以此将凹多边形分割为多个凸多边形。
将凸多边形分割为多个三角形
内/外的判定,奇偶规则 或 非零环绕规则
多边形表 顶点表(x,y,z描述) 边表(用顶点描述) 面片表(用边描述)
× 平面方程与平面方程的求解 Ax+By+Cz+D=0, <0 在面的后面 >0在面的前面
绘制六边形GL_POLYGON/GL_TRIANGLES/GL_TRIANGLES_STRIP/GL_TRIANGLES_FAN的不同效果
四边形 GL_QUAD/GL_QUAD_STRIP
顶点数组 GLint points [NUM][3] ={ {0,0,0},{0,1,0}…}
glBitmap 位图函数
整理开始日期:2017-06-21
整理结束日期:2017-06-22
~ 否定命题
∧ 合取命题 and
∨ 析取命题 or
→ 条件命题
P→ Q = ~P∨ Q
P↑ Q = ~(P∧ Q)
P↓ Q = ~(P∨ Q)
T 永真式 重言式 可满足公式
F 不可满足公式
不同取值让不同命题有相同结果 则 命题等价
子公式等价替换后保持等价A(A1)=A(A2) 如果A1=A2
可互推则双条件命题为永真
A*与 A处处真值表为反为A的对偶式
$A\cup B={x\in A\bigvee x\in B}$
析取 子句
合取 合取范式
凡不是永真的,命题公式都存在与之等价的主合取范式
CP规则
右箭头上加c表示推的否定
A是人 PEOPLE(A)
x大于y GREATER-THAN(x,y)
∀ 任意
∃ 存在
(∀ x)P(x) = (∃ x)[P(x)]
(∃ x)P(x) = (∀ x)[P(x)]
Skolem 将合取范式的所有存在用函数与任意进行替换(∀ x)(∀ y)(∃ z)P(z) = (∀ x)(∀ y)P(f(x,y))
∃ x ∀ y → ∀ y ∃ x
$A\cup B={x\in A\bigvee x\in B}$
$A\cap B={x\in A\bigwedge x\in B}$
$A\bigoplus B={x\in A - B\bigvee x\in B - A}$
2^A={ X | X \subseteq A}$
运算$\times$为集合的直径 不满足交换律 结合律
形式语言
n=d×k -> d | n
最大公因子gcd,最小公倍数lcm
数学归纳法
R 关系 {(A的元素,B的元素)} 也可以画成矩阵表示
性质(自反 对称 可传递)对应的现象({(x,x)} {(x,y)(y,x)} {(x,y) (y,z) (x,z)})
关系的运算 $\cup \cap \bigoplus$
同时有 自反 对称 可传递 为等价关系
同时有 自反 反对称 传递 为偏序关系 如整除,有最小值的偏序集为良序
f: X→ Y
单射、满射、双射
$\pi_1\circ \pi_2 = \pi_1(\pi_2())$
循环的积
与自然数集N等势的为可数集
集合的基数card()
阿列夫 =。=
f(x)=O(g(x))不能写成O(g(x))=f(x) 表示f(x)的上界,f(x) <=M |g(x)|
排列计数,组合计数
圆排列!!
组合恒等式!!!
容斥原理
抽屉原理/鸽巢原理
定义 生成函数!!!!!!!!!!!!! (排列的生成函数 组合的生成函数)
递推关系及其解 差分方程
递推关系和生成函数 6666666
V为节点 E为边 度 sum(每个点度)=2倍边数
G(V,E)
定义…
图的矩阵表示
独立集 点团 极图,布尔表达式 析取范式,诱导子图??
图的着色??
树与生成树
每个连通图都含有生成树,图的任何割集至少与树有一个公共边,图的圈至少与树有一个公共边
如果有向图G的图是树,则称G为有向树
平面图(画为平面图可以让连线没有额外焦点)和对偶图
面数为f的连通平面图G(n,m) 有n-m+f=2
阶数大于2的(n,m)连通平面图 m<=3n-6,至少存在一个度不超过5的结点
Kuratowski 定理
欧拉图及其应用
哈密顿图及其应用
图的匹配与匈牙利算法
网络无环又有向权图
群 环 域 格 和 布尔代数是典型的系统
运算与代数系统
集合的二元运算 封闭的 可交换的 可结合的 可分配的 吸收率
常见的代数系统 $<Z,+>$,$<Q,+,*>$
封闭 广群
广群+可结合 半群
群 和 子群
群=有逆元的含幺半群
群的运算满足交换律则为交换群/Abel群 充要条件 $a,b \in G, (a\cdot b)^2=a^2\cdot b^2$
陪集与拉格朗日定理
同态与同构
环和域
群码
格 交换 结合 吸收
格的性质和同态,逆关系 互为 对偶
分配格和有补格
格+分配+有界+有补 = 布尔格
整理开始日期:2017-06-22
整理结束日期:[整理中 感觉技不如人甘拜下风 是不是用google翻译的啊]
ISBN 978-7-214-06747-0
千万不要买这本书,定义,证明的翻译看得我好难受,整理的时候心一万个草泥马飞过,感觉需要再搞一本英文版对着看
| 序号 | 定义 |
|---|---|
| 1 | 质量 物质的量就是物质的度量,可以通过物体的密度和体积而算出 |
| 2 | 动量 运动的量即是运动的度量,是由其速度和物质的量共同算出的 |
| 3 | 惯性 vis insita,或称为物体本身固有的力,是一种起抵抗作用的力。它存在于每一个物体之中,并始终使物体保持现有的静止或匀速直线运动的状态 |
| 4 | 施加在物体上的外力,其作用是使物体改变静止或匀速直线运动的状态。 |
| 5 | 向心力迫使物体趋向一个中心点,并对任何倾向于该点的物体起作用。 |
| 6 | 用向心力的绝对度量来量度向心力,它与由中心导致产生,并且通过周围空间传递出来的效能成正比 |
| 7 | 用向心力的加速度度量来量度向心力,它与向心力在一个给定时间里产生的速度成正比 |
| 8 | 用向心力的运动度量来量度向心力,它与向心力在一个给定时间里产生的运动量成正比 |
运动公理或定律
| 序号 | 定律 |
|---|---|
| 1 | 对于任何一个物体,除非有外力作用于它并改变其状态,否则它将保持静止或匀速直线的运动状态。 |
| 2 | 运动的变化与外力成正比,且沿着外力作用的直线方向进行变化 |
| 3 | 每一种作用都有一个与之方向相反的反作用,并且,两个物体间的相互作用总是相等的。 |
| 推论1 | 当两个力同时作用于一个物体时,这个物体将沿着平时四边形的对角线运动,所需时间等于两个力分别沿两边运动所用的时间之和。 |
| 推论2 | 由此,可以得到以下结论:一个直线力AD可以由任何两个倾斜力AC和CD合成。反之,任何一个直线力AD又可以分解成AC和CD两个倾斜力。 |
| 推论3 | 运动的量,是由同一方向的运动的和以及相反方向运动的差所得出,并且在物体间的相互作用保持不变 |
| 推论4 | 两个或多个物体共同的重力中心不会因为物体间的相互作用而改变其运动或静止的状态。如果将外力和阻碍作用排除在外,那么,所有相互作用的物体的公共重心不是静止就是处于匀速直线运动状态 |
| 推论5 | 在一个给定的空间中,物体的运动和它们自身之间的运动是一样的,无论此空间是静止的还是在做不含任何旋转运动的匀速直线运动。 |
| 推论6 | 无论物体相互之间以何种形式运动,在平行方向上,被相同的加速力加速时,都会继续之前相互间的运动,就如同没有加速力时一样 |
其它 插图
四种基本力:万有引力 电磁力维持原子 弱作用力释放射线 强作用力维持原子核
1.1.1
从头刷到了从欧拉公式到初等群论了,=。=做点基于个人知识的笔记。
如果有大佬会,求大佬解答。
音乐与测度论有什么关系?和希尔伯特曲线:无限数学怎样应用于有限世界中不是很理解的是:既然有理数的测度为0,那么为什么通过曲线覆盖空间。不过一维到二维的映射让我首次认识到这类曲线的一种用途。Orz
线代视屏收货蛮多的,主要在基变换的部分,但和ssj大佬用式子分析下来,虽然看上去是图像理解,可以说更多的还是让过程更复杂了。其中视频中没有讲在一起的有矩阵乘法的意义。以及我认为它把[0 -1 ; 1 0]称作旋转90°并不完全科学
例如[A]*[B]矩阵AB相乘
从右向左看,首先对原坐标系的基做B的变换,再做A的变换 其变换的视角是基于标准坐标系的,例如[0 -1 ; 1 0]*[1 1 ; 0 1]
先看[1 1 ; 0 1]是把 原来的基变为newx = oldx,newy=oldx+oldy,而左边的矩阵为视频中的逆时针转90°,这里都是基于 标准坐标系。
从左向右看 首先newx=oldy,newy=-oldx,然后[1 1 ; 0 1]需要将视角转过来以新的基的视角进行[1 1;0 1]的变换,如果按照原坐标系进行变换得到的是[1 -1; 1 0]
第一次从图像上看到特征值和特征向量,抽象向量空间也是感觉棒棒哒。
然后是群论没有看懂的是如何从加法群到乘法群就有了2^x的群,中间的乘法到幂的过度没理解。
整理开始日期:2017-01-23
整理结束日期:2017-06-21
如果你是准备学习算法,那么我非常不建议看这本书,去系统性的多刷刷题吧。
本书适用人群:觉得无聊想了解一下算法有什么用的人,准备参加大公司面试,且技术方面已经准备好的人,学习累了想消遣一下的人。
| 章节 | 标题 | 整理 |
|---|---|---|
| 1.1 | 关于cpu的/window的相关 | 主要用于装逼,和后面的题目毫无相似性 |
| 1.2 | 中国象棋将帅的问题 | 最基础的编解码+C的struct知识 |
| 1.3 | 一摞烙饼的排序,对一个数组每次取首部任意个进行翻转求最少次数 | 深搜枚举剪枝 扩展问题很棒 |
| 1.4 | 买书,n(<6)种物品每件物品价格相同,当同时买k种不同的物品各一件时将会有f(k)=((2,3,4,5)=>(5%,10%,20%,25%)的折扣)求最大折扣 | 动规 |
| 1.5 | 快速找出故障机器,找唯一的仅出现一次的数 | 位表示 |
| 1.6 | 饮料供货,每个饮料容量为2的幂, | 记忆dp/基于数字特征的贪心 |
| 1.7 | 光影切割问题 | 。。。 |
| 1.8 | 小飞的电梯调度算法,一堆整数的整数差值最小 | 。。。 |
| 1.9 | 高效率地安排见面会 | 图着色问题 |
| 1.10 | 双线程高效下载 | |
| 1.11 | NIM(1)一排石头的游戏 | 维持和问题 |
| 1.12 | NIM(2)“拈”游戏分析 | 反向递推博弈转化 XOR的转换和维持 |
| 1.13 | NIM(3)两堆石头的游戏 | 反向递推博弈转化 质数筛法! |
| 1.14 | 连连看游戏设计 | 。。 |
| 1.15 | 构造数独 | 生成再去除 |
| 1.16 | 24点游戏 | 注意分数。。 |
| 1.17 | 俄罗斯方块游戏 | 如何移动旋转 估分(洞 过高) |
| 1.18 | 挖雷游戏 | ??? |
| 章节 | 标题 | 整理 |
|---|---|---|
| 2.3 | 寻找发帖“水王” | 求出现次数超过1/2的数 |
| 2.7 | 最大公约数问题 | 剔除了同偶数共除2和有偶数去2的优化 |
| 2.8 | 找符合条件的整数 | 寻找1、0组成的能整除的被除数 利用数值特性余数进行效率优化 |
| 2.20 | 程序理解和时间分析 |
| 章节 | 标题 | 整理 |
|---|---|---|
| 3.6 | 编程判断两个链表是否相交 | 链表成环问题 |
| 3.11 | 程序改错 |
| 章节 | 标题 | 整理 |
|---|---|---|
| 4.1 | 金刚坐飞机问题 | |
| 4.3 | 买票找零 | 卡特兰数 |
| 4.4 | 点是否在三角形内 | 计算几何 向量叉乘 |
| 4.5 | 磁带文件存放优化 | 数学。。 |
| 4.6 | 桶中取黑白球 | 奇偶分析6666666 感觉可以加入洗脑密卷豪华套餐 |
| 4.7 | 蚂蚁爬杆 | 等效转化! |
| 4.8 | 三角形测试用例 | 编码 测试用例应当足量 |
| 4.9 | 数独知多少 | 思路与估值 |
| 4.11 | 挖雷游戏的概率 |