MST

Day03

孤街醉人 提交于 2020-10-09 04:43:50
网站架构: B/S架构(Brower/Server):浏览器/服务器架构 C/S架构:客户端/服务端架构 DNS:当用户输入一个网址并按下回车键的时候,浏览器得到了一个域名。而在实际通信过程中,我 们需要的是一个IP地址。因此我们需要先把域名转换成相应的IP地址,这个过程称作DNS解析。 CDN:内容分发式网络 Host文件:C:\Windows\System32\drivers\etc\HOSTS 本地DNS服务器 更快的解析域名 绑定网站的真实IP 屏蔽域名(把不想访问的网站绑定到本地) http协议:不安全的,超文本传输协议,80端口,无需证书 https:加密后的http,443端口,内容加密,需要证书 http请求方式: get:提交的数据在网址(URL)中显示 例如: http://localhost/study/get.php?a=mst head:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。 post:在数据包的底部显示(肉眼看不见) put:从客户端向服务器传送的数据取代指定地点文档的内容。 delete:请求服务器删除指定的页面 options:允许客户端查看服务器的性能。 Cookie:存储在用户客户端中的数据 状态码 200 :请求已经成功. 默认情况下状态码为200的响应可以被缓存。 302:强制跳转 500:服务器错误 404

程序员10大算法

落爺英雄遲暮 提交于 2020-10-09 03:01:35
程序员常用的10个算法: 1)2分查找 场景:非递归的二分查找。 (1)之前讲过递归算法. 非递归反而更好理解。 (2)需要先保证数组有序. 2)dac(divide and conquer分治算法) (1)分治算法使用场景: 傅里叶变换 二分搜索 大整数乘法 棋盘覆盖 合并排序 快速排序 线性时间选择 最接近点对问题 循环赛日程表 汉诺塔 (2)如何分、如何治: 看成2部分,AB为1个部分,C为一个部分,那么就是AB移动到b位置,C移动到c位置,AB移动到c位置. 先把最上面的盘A--》B 把最下面的盘A--》C 把B塔的所有盘,从B--》C (3)没有思想,不知道如何拆分是难点. 先有思想,然后把思想转为代码。 3)dynamic(动态规划) 场景: 01背包问题 (1)把大的问题划分为小的问题,从而一步步获取最优解的处理算法 (2)动态规划与分治不同的是: 适用于动态规划求解的问题,经分解得到子问题往往不是独立的。 下一个子阶段的求解是建立在上一个子阶段的解的基础上。 而 分治在2个盘和3个盘的移动是没有什么关系的,是独立的问题。 (3)动态规划是:填表的方式实现的。 思想--》公式--》水到渠成。和数学也没有什么关系。 w[i]: 第i的商品的重量 v[i]: 第i个商品的价值 v[i][j]: 表示在前i个物品中能够装入容量为j v[i][0] = v[0][j] = 0

「赛前备战」NOIp2020-提高 图论训练

倖福魔咒の 提交于 2020-10-07 07:46:28
博主太菜,可能会炸联赛,于是恶补一下 QAQ 题目比较基础,动态更新 Tags 生成树 , 最短路 , 差分约束 , 树的直径与重心 , LCA , 树链剖分 , 拓扑序 , 强连通分量 , 割点 , 桥 , 点双连通分量 , 边双连通分量 , 2-SAT , 二分图 , 正/负环 , 最小环 , 数据结构优化建图 , 哈密顿路径/回路 , 欧拉路径/回路 Content 「Codeforces 888G」Xor-MST 生成树 「AtCoder JSC2019 Qual E」Card Collector 生成树 「HDU 4725」The Shortest Path in Nya Graph 最短路 「2018-2019 XIX Open Cup, Grand Prix of Korea」Dev, Please Add This! 2-SAT 「2015 ACM Amman Collegiate Programming Contest」Bridges 边双连通分量 树的直径与重心 「HDU 4370」0 or 1 最短路 最小环 「NOI2019」弹跳 最短路 数据结构优化建图 「Codeforces 1280C」Jeremy Bearimy 「AtCoder AGC018D」Tree and Hamilton Path 树的直径与重心 「APIO2010」巡逻 树的直径与重心

基于DE2的LCD图形显示设计

坚强是说给别人听的谎言 提交于 2020-10-04 11:54:07
DE2是Altera公司针对大学教学及研究机构推出的FPGA多媒体开发平台。DE2开发平台选用的FPGA是CycloneII系列FPGA中的EP2C35F672C6,通过对DE2的学习,我们能够迅速理解和掌握实时多媒体工业产品设计的技巧,并进行系统设计的验证。DE2平台的设计和制造完全按照工业产品标准进行,可靠性很高。本文利用处理器FPGA与液晶显示模块的图形显示的编程技术,并以点阵为320×RGB×240的TFT LCD模块D036THEA1为例,研究了FPGA与液晶显示模块的图形显示技术。其关键是对驱动芯片D036THEA1的各引脚和时序进行控制。在电路控制部分中,使用QUARTUS II 6.0开发工具来完成软件设计、仿真。所有功能全部用硬件描述语言Verilog HDL编程实现,并下载到DE2实验开发板上CycloneII系列EP2C35F672C6目标芯片上,使用40脚扁平电缆直接把DE2和TFT LCD模块D036THEA1连接起来.运行验证满足TFT LCD模块D036THEA1的图形显示。图形数据可以从外接摄像头获取或者从FPGA芯片内产生图形数据,本设计采用FPGA作为TFT LCD的控制,性能稳定,也可以灵活显示参数以适应各种不同TFT LCD的控制。 目前,电子产品的生命周期越来越短,许多消费类电子产品的生命周期只有一年左右的时间,因而必须缩短产品的开发周期

MaskTextSpotterv3测试及训练

佐手、 提交于 2020-10-01 05:02:13
Mask TextSpotter v3 号称最强端到端 文本识别 模型 实际测试,检测效果确实非同凡响,速度上稍微差于ABCNet.先上图看看效果 同样存在部分漏检情况。但是第一张图,这个居然检测出来了,还是很强大的,要知道ABCNet对第一张图里的,检测实在太差。 速度上,如下, ABC: mst: 环境及脚本如下: Python3 (Python3.7 is recommended) PyTorch >= 1.4 (1.4 is recommended) cocoapi yacs matplotlib GCC >= 4.9 (This is very important!) OpenCV CUDA >= 9.0 (10.0.130 is recommended) my env: torch 1.4.0 torchvision 0.5.0 py362 python 3.6.2 cuda 10.1 git clone https://github.com/NVIDIA/apex.git cd apex python setup.py install --cuda_ext --cpp_ext # 注意:apex编译在torch==1.5.1 torchvision==0.6.1下的 cd MaskTextSpotterV3 # build python setup.py build

关于WQS二分算法以及其一个细节证明

风流意气都作罢 提交于 2020-08-19 22:55:17
应用分析   它的作用就是题目给了一个选物品的限制条件,要求刚好选$m$个,让你最大化(最小化)权值,   然后其特点就是当选的物品越多的时候权值越大(越小)。 算法分析   我们先不考虑物品限制条件,   假定我们要最大化权值。   然后其中我们二分一个$C$,表示选一次物品的附加权值,   如果我们$C$越大,我们选的物品个数越多,权值越大,   于是当选的物品个数大于$m$时,减小$C$,否则增大$C$,   最后计算答案的时候去掉$C$值的影响即可。   Updata :这回还是讲一讲算法吧-->理论算法分析   首先我们拿到一个题,然后发现有一个重要的条件:一共有n个数(下面有时候会称为"点"), 要求刚好选$m$个, 有某种限制,以某种方式计算和(为了表示方便我暂且称$h(x)$表示选第$x$个点的收益),选多少个和怎么选都会影响到答案   同时我们一般可以得到一个关于n和m的dp方程$dp[i][j] = ......$,其中的复杂度一般都是$O(nm)$及以上的,无法接受,但是 经过打表 发现:设选$j$的数所的到的dp最大值为$g(j)$,然后发现$g(j)$关于$j$的 斜率单调不增, 也就是一个上凸包   然后如果这题没有刚好选$m$个的限制的时候就可以dp降维的话,那么就可以考虑一下WQS二分   首先我们看一下$g$长什么样子(横坐标$x$表示我选多少个数

HNOI省选前计划

。_饼干妹妹 提交于 2020-08-17 12:54:28
Plan 最近搞颓有些搞得意识模糊。 省选不会太远了。 高一了,至少要做一些准备。 算法基本都学习了,但是需要复习巩固的不少,熟练度远远不够。 现在模拟考试的难度和HNOI也不是一个档次。 先复习关键的算法。 首先是网络流,二分图的各种知识: 最小割最大流模型的运用。 上下界有源汇网络流。 分层图的网络流建模。 二分图的Hall定理。 二分图中最大独立集和最小覆盖集的关系。 (可持久化)线段树优化建图 拆点 平面图转对偶图 最大权闭合子图的网络流建模。 数据结构方面 分块,莫队的熟练运用。 (动态)树分治的应用。 LCT维护MST,维护最迟删除时间生成树,维护点双与边双。 平衡树,平衡树的合并。 (可持久化)01trie的应用。 cdq分治和整体二分的熟练运用。 线段树分治的熟练运用。 线段树合并的熟练运用。 可持久化线段树的熟练运用。 笛卡尔树的基本运用。 dsu on tree 启发式合并 二维数点问题各种解决办法 cdq分治套树,树套cdq,主席树和cdq的结合。 以及KD-Tree的熟练运用。 了解 \(bitset\) 求高维偏序 图论方面 差分约束的熟练应用。 最小生成树算法的熟练应用。 kruskal重构树的熟练应用。 朱刘算法的基本应用。 2-SAT的基本了解 支配树的基本了解 DP及优化方面 斜率优化的复习 cdq分治维护凸包的熟练应用 平衡树维护凸包

HDU 6808 Go Running(利用网络流求二分图的最小顶点覆盖、dinic)

耗尽温柔 提交于 2020-08-15 04:24:53
原题地址: http://acm.hdu.edu.cn/showproblem.php?pid=6808 本文主要参考的博客: https://www.cnblogs.com/stelayuri/p/13405914.html Go Running Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 1358 Accepted Submission(s): 500 Problem Description Zhang3 is the class leader. Recently she's implementing a policy about long-distance running. This forces every student in her class to take a run. There is a main road in the school from west to east, which can be regarded as an infinite axis, and its positive direction is east. Positions on the road are

「赛前备战」NOIp2020-提高 图论训练

你说的曾经没有我的故事 提交于 2020-08-13 06:10:47
博主太菜,可能会炸联赛,于是恶补一下 QAQ 题目比较基础,动态更新 Tags 生成树 , 最短路 , 差分约束 , 树的直径与重心 , LCA , 树链剖分 , 拓扑序 , 强连通分量 , 割点 , 桥 , 点双连通分量 , 边双连通分量 , 2-SAT , 二分图 , 正/负环 , 最小环 Content 「Codeforces 888G」Xor-MST 生成树 「AtCoder JSC2019 Qual E」Card Collector 生成树 「Codeforces 888G」Xor-MST update - 2020.8.4 此题需要用到一个叫 Borůvka 的最小生成树算法,大致就是对现在的每一个连通块都找一遍的最短边,最后每个连通块择优,将这些边全部连上。这样复杂度之正确的原因可以参考启发式合并, \(O(|E|\log |V|)\) 。 对于此题,我们以可以用这样的思路来“择优合并”,即选取两个结点 \(u, v\) ,使得 \(a_u \oplus a_v\) 最小,然后合并。现在如何找到这个最小的就是个问题。 对于两个二进制数 \(x = (10001010)_2,y = (10000110)_2\) ,前 \(4\) 位相同,即 \(\text{lcp} = 4\) ,那么异或一次前四位都是 \(0\) 。我们优先考虑二进制下 \(\text{lcp}\)

最小生成树之kruskal算法

こ雲淡風輕ζ 提交于 2020-08-12 14:40:30
1、Kruskal算法描述 Kruskal算法是基于贪心的思想得到的。首先我们把所有的边按照权值先从小到大排列,接着按照顺序选取每条边,如果这条边的两个端点不属于同一集合,那么就将它们合并,直到所有的点都属于同一个集合为止。至于怎么合并到一个集合,那么这里我们就可以用到一个工具——-并查集(不知道的同学请移步: Here )。换而言之,Kruskal算法就是基于并查集的贪心算法。 Prim算法适用于稠密图 Kruskal适用于稀疏图 2、Kruskal算法流程 对于图G(V,E),以下是算法描述: 输入: 图G 输出: 图G的最小生成树 具体流程: (1)将图G看做一个森林,每个顶点为一棵独立的树 (2)将所有的边加入集合S,即一开始S = E (3)从S中拿出一条最短的边(u,v),如果(u,v)不在同一棵树内,则连接u,v合并这两棵树,同时将(u,v)加入生成树的边集E' (4)重复(3)直到所有点属于同一棵树,边集E'就是一棵最小生成树 输入: 图G 输出: 图G的最小生成树 具体流程: (1)将图G看做一个森林,每个顶点为一棵独立的树 (2)将所有的边加入集合S,即一开始S = E (3)从S中拿出一条最短的边(u,v),如果(u,v)不在同一棵树内,则连接u,v合并这两棵树,同时将(u,v)加入生成树的边集E' (4)重复(3)直到所有点属于同一棵树,边集E