- 博客(362)
- 资源 (14)
- 收藏
- 关注
原创 【个人网络整理】NOIP / 省选 /NOI 知识点汇总
NOIP知识点汇总加*号是选学,加粗为重点,重要值排序不分先后基础算法贪心、枚举、分治、二分、倍增、*构造、高精、模拟图论图 最短路(dijkstra、spfa、floyd),差分约束最小生成树(kruskal、prim)并查集(扩展域)拓扑排序二分图染色,*二分图匹配tarjan找scc、桥、割点,缩点*分数
2017-05-09 20:37:31 27784 2
原创 *** 竞赛中的各种低级错误,及编程常见错误小结 *** 欢迎童鞋们跟帖
编写代码常见错误:1.递归时隐藏的修改了全局变量例如点分治重心 →每次复制一遍 2.测试数据时未将空间开到题目要求,隐藏的空间倍数关系例如无向图2倍 →RE 3.除数是个减法式子 整数→RE 浮点数→WA →特判 4.离线并查集的重复操作 →只有第一次才需要unite 5.回溯暴搜的复杂度是阶乘级或者指数级 →看到正常数据的题再爆搜就可以完蛋了
2017-03-30 21:49:04 1337
转载 MoreWindows 微软认证专家博客目录(白话算法,C++ STL,windows编程)
为了方便大家查找和学习,现将本人博客中所有博客文章列出目录。(http://blog.csdn.net/morewindows)一. 白话经典算法目前有17篇,分为七大排序和经典面试题讲解两大类1. 《白话经典算法系列之一 冒泡排序的三种实现》2. 《白话经典算法系列之二 直接插入排序的三种实现》3. 《白话经典算法系列之
2015-03-30 21:50:20 1312
转载 结构之法,算法之道:程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结(七月算法问答社区:http://ask.julyedu.com/)作者:July--结构之法算法之道blog之博主。时间:2010年10月-2014年12月。出处:http://blog.csdn.net/v_JULY_v 。声明:版权所有,侵犯必究。
2015-03-30 21:41:06 2059
原创 搞IT,算法编程不错的学习网址 & 一些专栏博客大神的地址(汇总)
web前端技术W3School:支持各种web技术的在线学习 http://www.w3school.com.cn/index.htmlHTML5HTML5研究小组:http://www.mhtml5.com/C++Qt学习之路:从入门到精通 http://blog.51cto.com/zt/20(讲Qt 4)开源:learn-with-open
2015-03-30 16:16:48 3100
原创 点分治与点分树学习
关于树链分治的一些东西《分治算法在树的路径问题中的应用》例题给出一棵n个结点的有根树,每个结点有颜色。有若干询问,询问有多少种颜色,在v为根的子树中至少有k个结点属于该颜色。算法1莫队(好像都是这么叫的)离线方法。时间复杂度O(nn)O(n \sqrt n)O(nn)。算法2这个算法基于一个简单的结论:每个询问的答案不会超过n/kn/kn/k。这样,我们确定一个阀值x=n\sq...
2020-03-28 09:59:51 819
原创 Victoria的舞会2——图的连通性及连通分量
【Vijos1022]】Victoria的舞会2DescriptionVictoria是一位颇有成就的艺术家,他因油画作品《我爱北京天安门》闻名于世界。现在,他为了报答帮助他的同行们,准备开一个舞会。Victoria准备邀请n个已经确定的人,可是问题来了:这n个人每一个人都有一个小花名册,名册里面写着他所愿意交流的人的名字。比如说在A的人名单里写了B,那么表
2020-03-23 12:30:07 1051
原创 Windows批处理之修改文件名
用途可以将任意的文件名批量修改有规律的文件名,如下:rename by keith.gif使用方法新建一个文本文件(.txt),将下面代码复制进去,保存,最后将文件后缀改成.bat,放到想要批量操作的文件所在的文件夹,直接双击就好.实现代码@ECHO OFFSETLOCAL ENABLEDELAYEDEXPANSIONCOLOR 0ATITLE keith batch rename t
2018-02-06 09:00:42 15128 5
转载 NOIP2017 国庆郑州集训知识梳理汇总
第一天 基础算法&&数学day1难度测试如果要用一个词来形容上午的测试,那真是体无完肤。 成绩:题目成绩评价T150一般T210大失所望T30差基础算法递推:指通过观察、归纳,发现较大规模问题和较
2017-10-09 09:25:28 1783
原创 POJ 3279(Fliptile)题解
【题意】给定长宽的黑白棋棋盘摆满棋子,每次操作可以反转一个位置和其上下左右共五个位置的棋子的颜色,求要使用最少翻转次数将所有棋子反转为黑色所需翻转的是哪些棋子。【题目分析】这题刚开始被放到搜索的分类下了..然而这和搜索有什么关系..没经验所以想了各种和搜索沾边的方法,结果没想出解法,直到看了网上的题解,压根不是搜索。具体解法:首先根据题目,每次操作都会影响到周围
2017-06-23 17:47:24 860
原创 OI/ACM 刷题网站 人气OJ简介
SPOJ简介 SPOJ是波兰最为出色的Online Judge之一,界面和谐,题目类型也非常丰富,适合有一定基础的选手练习,对高手而言也是个提高能力的良好平台。 SPOJ题目分类:classical,challenge,partial,tutorial。 1)classical:ACM题型,通过所有数据才能算AC 2)challenge:有趣的题目,每个题
2017-04-03 11:19:10 4707
原创 网络流 最大流—最小割 之SAP算法 详解
首先引入几个新名词:1、距离标号:所谓距离标号 ,就是某个点到汇点的最少的弧的数量(即边权值为1时某个点到汇点的最短路径长度)。设点i的标号为level[i],那么如果将满足level[i]=level[j]+1的弧(i,j)叫做允许弧 ,且增广时只走允许弧。2、断层(本算法的Gap优化思想):gap[i]数组表示距离标号为i的点有多少个,如果到某一点没有符
2017-03-24 16:40:21 5368 2
原创 图的连通性问题
基本概念无向图连通图和非联通图: 如果无向图 G 中任意一对顶点都是连通的,则称此图是连通图(connected graph);相反,如果一个无向图不是连通图,则称为非连通图(disconnected graph)。对非连通图G,其极大连通子图称为连通分量(connected component,或连通分支),连通分支数记为w(G)。割顶集与连通度: 设V’是连
2017-03-21 15:50:25 27256 1
转载 最近公共祖先(LCA)的三种求解方法
转载来自:https://blog.andrewei.info/2015/10/08/e6-9c-80-e8-bf-91-e5-85-ac-e5-85-b1-e7-a5-96-e5-85-88lca-e7-9a-84-e4-b8-89-e7-a7-8d-e6-b1-82-e8-a7-a3-e6-96-b9-e6-b3-95/简述LCA(Least Common Ancestor
2017-03-21 15:31:47 1201
原创 网络流(一) 入门到熟练
一.网络流:流&网络&割1.网络流问题(NetWork Flow Problem):给定指定的一个有向图,其中有两个特殊的点源S(Sources)和汇T(Sinks),每条边有指定的容量(Capacity),求满足条件的从S到T的最大流(MaxFlow).下面给出一个通俗点的解释(下文基本避开形式化的证明 基本都用此类描述叙述)好比你家是汇 自来水厂(有需要的同...
2017-03-21 15:26:57 42731 19
原创 哈希 — 康托展开
http://blog.csdn.net/fuyukai/article/category/2898321/1 图论、次小生成树,差分约束,双连通康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。全排列: 1,2,3三个数的全排列: 1,2,3 1,3,2 2,1,3 2,3,1 3,...
2017-03-21 14:59:12 827
原创 最小树形图——朱刘算法(Edmonds)
定义:一个有向图,存在从某个点为根的,可以到达所有点的一个最小生成树,则它就是最小树形图。朱刘算法实现过程: 【在选出入边集后(看步骤1),若有向图中不存在有向环,说明该图就是最小树形图】1,选入边集——找到除root点之外,每一个点的所有入边中权值最小的,用数组in[]记录下这个最小权值,用pre[]记录到达该点的前驱;(若图中存在独立点,最小树形图是不存
2017-03-14 16:47:47 7652 4
原创 生成树的计数 Matrix-Tree(矩阵树)定理
信息学竞赛中,有关生成树的最优化问题如最小生成树等是我们经常遇到的,而对生成树的计数及其相关问题则少有涉及。事实上,生成树的计数是十分有意义的,在许多方面都有着广泛的应用。本文从一道信息学竞赛中出现的例题谈起,首先介绍了一种指数级的动态规划算法,然后介绍了行列式的基本概念、性质,并在此基础上引入Matrix-Tree定理,同时通过与一道数学问题的对比,揭示了该定理所包含的数学思想。最后通过几道例题
2017-03-14 16:41:22 2345 1
转载 次短路径与次小生成树问题的简单解法
[次短路径]次短路径可以看作是k短路径问题的一种特殊情况,求k短路径有Yen算法等较为复杂的方法,对于次短路径,可以有更为简易的方法。下面介绍一种求两个顶点之间次短路径的解法。我们要对一个有向赋权图(无向图每条边可以看作两条相反的有向边)的顶点S到T之间求次短路径,首先应求出S的单源最短路径。遍历有向图,标记出可以在最短路径上的边,加入集合K。然后枚举删除集合K中每条边,求从S到T
2017-03-14 16:27:18 1191
原创 N皇后问题(状态压缩实现)
题目链接~~>这题用 dfs()N范围一大了过不了,需要打表,用状态压缩可以状态压缩真是太强大了。状态压缩 1: 在状态压缩中,通常用 ( 1 一、DFS函数参数Col,MainDiag,ContDiag的表示意义: 当整形数Col,MainDiag,ContDiag的第X位为1时,表示因为之前摆放的皇后的纵向攻击,主对角线斜向攻
2017-02-17 11:10:24 2250 2
原创 最近公共祖先 LCA 倍增算法
树上倍增求LCA LCA指的是最近公共祖先(Least Common Ancestors),如下图所示: 4和5的LCA就是2 那怎么求呢?最粗暴的方法就是先dfs一次,处理出每个点的深度 然后把深度更深的那一个点(4)一个点地一个点地往上跳,直到到某个点(3)和另外那个点(5)的深度一样然后两个点一起一个点地一个点地往上跳,直到到某个点(就是最近公共祖先)
2017-01-03 22:27:46 2665 1
转载 Linux启动或禁止SSH用户及IP的登录,只允许密钥验证登录模式
启动或禁止SSH用户登录一般情况下,在使用Linux操作系统都不会去机房来操作机器,都是使用一些第三方的工具来操作。比如使用SSH Secure File Transfer Client工具来传输文件,利用Putty来操作,利用Xmanger综合操作等,那么最常见的连接类型包括telnet、SSH、Raw等下面就针对SSH方面讨论一下,如果有人特别关注Linux
2016-11-11 19:53:28 11730
原创 emacs 入门教程,菜单汉化,配置文件等杂乱文章
首先来一发ArchWiki的Emacs简体中文的入门教程https://wiki.archlinux.org/index.php/Emacs_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)怎样设置,Emacs中文菜单?把包内的3个文件丢到 emacs/share/emacs/site-lisp下面。在~/ 建一个 .em
2016-11-07 12:57:03 10786
原创 bzoj3376/poj1988[Usaco2004 Open]Cube Stacking 方块游戏 — 带权并查集
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3376题目大意:编号为1到n的n(1≤n≤30000)个方块正放在地上.每个构成一个立方柱.有P(1≤P≤100000)个指令.指令有两种:1.移动(M):将包含X的立方柱移动到包含Y的立方柱上.2.统计(C):统计名含X的立方柱中,在X下方的方块数目.题解:
2016-11-04 11:43:22 1037 1
原创 NOIP复习篇
NOIP复习篇———枚举----------------------------------------------------------------------------------------------------------------高手的切磋不在于难题,而在于SB算法....NOIP来了,决不能犯SB错误-------------------------------
2016-10-09 11:23:37 3068
原创 HiHocoder 1036 : Trie图 AC自动机
Trie图 先看一个问题:给一个很长很长的母串 长度为n,然后给m个小的模式串。求这m个模式串里边有多少个是母串的字串。最先想到的是暴力O(n*m*len(m)) len(m)表示这m个模式串的平均长度。。。显然时间复杂度会很高。。。再改进一些,用kmp让每一模式串与母串进行匹配呢?时间复杂度为O((n + len(m))*m),还算可以。可是还有没有更快的
2016-10-08 21:29:16 949
原创 (皇后移动类)八数码难题引发的搜索思考及总结
POJ 1077 EightThe 15-puzzle has been around for over 100 years; even if you don't know it by that name, you've seen it. It is constructed with 15 sliding tiles, each with a number from 1 to 15 o
2016-07-19 14:43:04 4205
转载 POJ 水题(刷题)进阶
转载请注明出处:優YoUhttp://blog.csdn.net/lyy289065406/article/details/6642573部分解题报告添加新内容,除了原有的“大致题意”和“解题思路”外,新增“Source修正”,因为原Source较模糊,这是为了帮助某些狂WA的同学找到测试数据库,但是我不希望大家利用测试数据打表刷题推荐文:1、一位ACMe
2016-07-14 09:30:42 3544
原创 PHP 入门学习教程及进阶(源于知乎网友的智慧)
思过崖历程:自学的动机、自学的技巧、自学的目标三个方面描述学习PHP的经历一、自学的动机:一定要有浓厚的兴趣,兴趣是最后的老师,可以在你迷茫的时候不断地支撑着你走下去。自学不是为了工作,不是为了梦想,仅仅是随便玩玩而已,大可不必各种纠结,互联网很发达,教程随便一搜就一大堆,学个一知半解装装B还是很轻松的,特别是慕课网上的各种眼花缭乱的视频教程,绝B会让你恨时间如流水,何其宝
2016-05-06 22:14:15 11448
原创 cena评测系统:自定义校验器(自定义评测插件编写)
Cena评测系统,最受欢迎的信息学竞赛离线评测系统。它是开放源程序的信息学竞赛评测系统,能满足大多数程序设计竞赛的测评需求。特色功能:通过局域网自动收取选手程序。高效率的数据文件配置工具。自动选用对应的编译器来编译选手程序,也能使用解释器或直接评测可执行文件。能准确测出选手程序的运行时间和内存使用量,并可加入对运行时间和内存使用的限制。自动比较选手程序的输出和标准输
2016-04-29 15:29:52 3657
原创 二分图系列•二分图判定•匈牙利算法二分图的最大匹配•二分图最小点覆盖及最大独立集
二分图一•二分图判定描述大家好,我是小Hi和小Ho的小伙伴Nettle,从这个星期开始由我来完成我们的Weekly。新年回家,又到了一年一度大龄剩男剩女的相亲时间。Nettle去姑姑家玩的时候看到了一张姑姑写的相亲情况表,上面都是姑姑介绍相亲的剩男剩女们。每行有2个名字,表示这两个人有一场相亲。由于姑姑年龄比较大了记性不是太好,加上相亲的人很多,所以姑姑一时也想不起
2016-04-22 21:19:17 2690
原创 hihoCoder 1143 : 骨牌覆盖问题·一(递推,矩阵快速幂)
【题目链接】:click here~~时间限制:10000ms单点时限:1000ms内存限制:256MB描述骨牌,一种古老的玩具。今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然后用1x2的骨牌去覆盖整个棋盘。对于这个棋盘,一共有多少种不同的覆盖方法呢?举个例子,对于长度为1到3的棋盘,我们有下面几种覆盖方式:
2016-04-21 15:00:59 2032
转载 括号配对问题
NYIST ACMer括号配对问题I时间限制:3000 ms | 内存限制:65535 KB难度:3描述现在,有一行括号序列,请你检查这行括号是否配对。输入第一行输入一个数N(0输出每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No样例输入3[(])(])([[]()])
2016-04-21 14:28:08 1041
原创 浅谈KMP“串”的模式匹配问题
kmp算法是一个效率非常高的字符串匹配算法。不过由于其难以理解,所以在很长的一段时间内一直没有搞懂。虽然网上有很多资料,但是鲜见好的博客能简单明了地将其讲清楚。在此,综合网上比较好的几个博客(参见最后),尽自己的努力争取将kmp算法思想和实现讲清楚。kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是遍历a的每一个位置,
2016-04-13 12:00:35 3081
转载 流行的开源软件和技术
前言笔者也是在互联网软件行业里面摸爬滚打十年多了,回头想想青葱岁月,很多时间都花在各种技术热潮的追逐上,有些是有价值的,也有些因为没人指导走过弯路,下面我就把我自己接触到这么多优秀的开源软件给大家做个梳理。也许比较枯燥无聊,供大家以后查阅。 LAMP属于创业公司的最经典组合。 Linux:不用说,大多数公司都用这个,随
2016-04-07 09:22:32 1812
原创 各种排序算法总结篇(快速/堆/希尔/归并)
1.快速排序交换排序有:冒泡(选择)排序和快速排序,冒泡和选择排序的时间复杂度太高,思想很简单暂时不讨论,快速排序基于一种分治的思想,逐步地使得序列有序。#include #include using namespace std;int arrs[] = { 23, 65, 12, 3, 8, 76, 345, 90, 21, 75, 34, 61 };int arrLen =
2016-04-06 22:15:02 3966
原创 C++ STL中哈希表Map 与 hash_map 介绍
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"
2016-04-06 15:00:02 7959 2
转载 详细解说 STL 排序(Sort)
作者【C++ Programmer's Cookbook】详细解说 STL 排序(Sort)作者Winter详细解说 STL 排序(Sort)0 前言: STL,为什么你必须掌握1 STL提供的Sort 算法1.1 所有sort算法介绍1.2 sort 中的比较函数1.3 sort 的稳定性1.4 全排序1.5 局部排序1.6 nth_element 指
2016-04-05 16:21:30 781
原创 树状数组
树状数组经常用来求一段区间的和,适用于该区间上的值是在不断变化的情景(不然就前缀和处理下就行了),常规数组的修改是O(1),区间查询是O(n),而树状数组的修改和查询都是O(lgn). 尽管线段树也能处理这种情况,并且功能要强大的多,但是树状数组编码上简单太多~感谢评论区的补充:树状数组往高维扩展时非常方便(加个循环的事情),而线段树则写起来非常麻烦树状数组需要一个辅助数组C,假设输入
2016-04-05 11:52:49 675
原创 备份LeetCode OJ自己编写的代码
常泡LC的朋友知道LC是不提供代码打包下载的,不像一般的OJ,可是我不备份代码就感觉不舒服…其实我想说的是…我自己写了抓取个人提交代码的小工具,放在GitCafe上了…不知道大家有没有兴趣https://gitcafe.com/aaronzhou/ ... ssion拿Java写的,也打了一个包,本地有JRE环境就能运行,欢迎拍砖抓取 LeetCode OJ
2016-03-27 22:17:10 2668
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人