自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

china震震的博客

大家一起来学习

  • 博客(242)
  • 问答 (3)
  • 收藏
  • 关注

原创 hdu2680 Choose the best route(spfa求最短路模板题)

题目链接:http://acm.split.hdu.edu.cn/viewcode.php?rid=22429291题目大意:给你n个车站,每条路的收费为c,给你几个你可以出发的车站,求出到终点站的最短路大小。题目思路:spfa跑一遍最短路,待解决的一个点就是你不知道起点,那么我就可以建立一个超级起点,超级起点到可出发车站的权值为0,然后从超级起点跑一遍最短路即可。代码

2017-10-16 22:35:28 379

原创 hdu1269迷宫城堡(tarjan求强连通分量模板)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1269题目大意:所有城堡之间是否互达。题目思路:那么这个题目就是求解强连通分量是否为 1(强连通分量为1代表点点之间互达)这个题目包括n=1 m=0的情况!!!被坑死。代码要注意变量之间的初始化,wa到爆炸。代码:#include using na

2017-10-14 18:35:30 329

原创 洛谷P3381【模板】最小费用最大流

题目链接:https://www.luogu.org/problem/show?pid=3381题目大意:求最大流和费用流题目思路:最小费用最大流模板题,注意事项都在模板中标注。代码:#include using namespace std; int n,m; int S,T; //S是源点 T是汇点 const int MAXN = 501

2017-10-13 16:23:43 963

原创 hdu5988 Coding Contest(浮点数费用流模板+思维)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5988题目大意:n个点,m条边,每个点有两个值,分别表示这个点需要出去的值和需要流进的值。 每条边有一个容量f和费用p。这个费用是一个概率,(0到1之间的浮点数),表示这条边崩溃的概率。 流经每条边第一次的值不会导致崩溃。 题目思路:费用流求崩溃概率最小的

2017-10-13 12:30:10 603

原创 hdu2883kebab (最大流+时间段离散+构图思维)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2883题目大意:给定n个顾客,第i号顾客在si到达,点了ni个羊肉串,每个羊肉串需要ti个时间烤好。顾客想要在ei得到,一个烤炉只烤m串。问你是否能满足所有顾客的要求?能的话输出“Yes”,否则输出“No”。注意:这ni个羊肉串可以被分开来考,一个单独的羊肉串

2017-10-12 13:09:38 339

原创 hdu5950 Recursive sequence(矩阵快速幂:模板类题目,矩阵快速幂的扩展与学习,复习必看题目)

关于矩阵快速幂构造矩阵的学习,推荐一篇非常完美的博客:http://blog.csdn.net/u012061345/article/details/52224623(居家旅行必备!!!!超强)题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5950题目大意:给你一个递推公式,然后让你求解第n项的结果。题目思路:

2017-10-09 15:41:13 506

原创 hdu5972 Regular Number (bitset应用+快速匹配+shiftAnd匹配算法学习模板)

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5972题目大意:输入N ,表示有一个长为N的子串,接下来N行,每行输入ai 和ai个数,表示有ai个数,表示子串第i个字符为ai个数中的一个,也就是这个子串的正则式,然后输入一个主串,要求输出这个主串中包含的所有的子串。题目思路:要处理大量字符串,所以要用到bitset的

2017-10-05 17:02:33 306

原创 hdu5976 Detachment(逆元+二分优化+数学思维)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5976题目大意:给定一个数,让你分成互不相等的n个数(n为自然数),使这些数的乘积最大,输出最大乘积。题目思路:情况1:枚举l,并且剩余的数等于l,这时候应该得到的结果是3*4*5*6*7*....*l*l+2 情况2:枚举l,并且剩余的数小于l,这时候应该得到的值是2*3*4*

2017-09-30 16:49:42 314

原创 hdu5971 Wrestling Match (判断是否为二分图)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5971题目大意:给出 n 个人,m 场 比赛 x 个已经确定的好人  y  个已经确定的坏人。每场比赛由 好人和坏人 组成。问是否能够将每个人划分成好人或者坏人。题目思路:建立邻接表,染色分阵营,现对确定的进行染色。dfs 染色。先从 已经确定的人 开始 染色与其相关的人。矛盾就 N

2017-09-30 13:10:19 268

转载 ac自动机MLE情况下

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5880开结构体,不大好,因为很容易爆空间额 下面的代码 用的时候就new出来,用完就delete,但还是MLE[cpp] view plain copy#include  #include  #include  #inc

2017-09-29 11:42:32 354

原创 trie树学习总结(字典树模板)

TRIE树算法简介:字典树,也叫trie树,是一种比较实用的数据结构,无论是在ACM竞赛的题目中,还是字符串相关的某些实际应用领域内,它都能发挥巨大的作用。首先来看看字典树的本质是什么。它其实是一棵存储了很多字符串的树,这棵树上的每一条边就是某个或某些字符串中的一个字符,而从根节点到某一个特定节点所经过的一条路径上的所有边组成的就是字典树所保存的某一个字符串。不难看出,

2017-09-14 10:59:23 722

原创 计蒜客 商业信息共享 (tarjan,加最少的边构成强联通图)

题目链接:计蒜客商业信息共享题目大意:1.用最少的公司,将所有的信息传递给其他的公司。2.最少加多少条边,使图变成强联通图。题目思路:第一个问题:只要统计出新图中入度为0的点即可。第二个问题:不难发现,在有向无环图中,要实现对于任意点都可到达其他剩余点,需要添加边的数量 = max(max(入度为 0 点的个数,出度为 0 点的个数))。注意的点:在计算

2017-09-13 12:18:06 618

原创 计蒜客 受欢迎的蒜头(tarjan缩点构图模板)

题目链接:受欢迎的蒜头题目思路:在有向无环图中,如果任意点都可以到达点 AA,那么有且仅有点 AA 的出度为 00。解题方法:通过tarjan缩点构图,变成有向无环图,然后统计新图的出度和入度得出答案。学到的东西:关于tarjan缩点构图后出度入度的统计方法。代码:#includeusing namespace std;const int maxn=2e5+

2017-09-13 11:20:03 532 3

原创 tarjan算法缩点构图(模板)

tarjan算法简介请移步:tarjan简单介绍tarjan在图论中算是一个很基础但是用处又很广泛的一个算法,这篇文章主要总结tarjan算法中关于缩点的模板。用处:我们通过tarjan算法,将所有强联通分量缩成一个点,即缩点。总结:我们就是通过缩点将有向图转变为有向无环图,再通过有向无环图的性质来解决问题。代码:#includeusing namespace std;co

2017-09-13 10:34:04 1397

原创 计蒜客 判定欧拉回路 (利用并查集实现有向图欧拉回路的判断)

题目链接:https://www.jisuanke.com/course/615/28228题目思路:利用并查集判断是否为连通图,然后再利用欧拉图的相关的性质进行判断。代码:#include using namespace std;const int maxn = 1e3+10;int pre[maxn];int n,m;struct node{ int i

2017-09-06 21:00:40 635

原创 计蒜客 威虎山上的分配 (拓扑排序+思路)

题目:题目思路:第一眼看这个题目,在没有学习拓扑排序之前,肯定会向并查集那个方向进行思考,其实仔细想象一下这个问题,我的工资要比我之前的要高,那么我只要把最低的一个接一个的扒出来就好了。这样就可以想象成,如果没有比我工资低的那么我这个点的入度为0,当我的入度不为0的时候,就要做到我比任何指向我的点的工资要高。学到的东西:这种图类的问题,存在明显的相互的“等级”问题,可优先考

2017-09-05 11:22:50 436

原创 拓扑排序及模板

关于拓扑排序的学习:分享一个全面学习的网址 http://blog.csdn.net/dm_vincent/article/details/7714519本文主要是整理模板以及使用过程中遇到的问题邻接表建立拓扑排序模板:#include using namespace std;#define maxn 100001int n, m;int indegree[maxn] =

2017-09-05 09:48:15 356

原创 计蒜客 羊圈(凸包+多边形面积计算模板)

题目链接:https://www.jisuanke.com/course/615/28220题目大意:让你求解出可以用木棍围出的最大面积,然后算出可以容纳多少只羊题目思路:首先用扫描线法求出凸包的点集,然后再利用叉积求出多边形的面积。学到的东西:利用叉积求面积可能是负数,这样就用到了abs()函数。这个题目要求羊的个数,有小数点怎么办?向下取整!!!floor()floor()floo

2017-08-15 12:59:13 349

原创 巴什博弈威佐夫博弈

巴什博弈:只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。    显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m

2017-08-12 12:59:46 285

原创 hdu6081 度度熊的王国战略(并查集处理连通图问题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6081题目大意:给你一个连通图,你可以减掉一些连通分量,让它变为非连通图,输出去掉多少连通分量(最少),图为非连通图题目思路:    一、首先你要确定该图是连通图,如果不是则输出0,图内一共有N个点,那么根据并查集的性质,会有N-1个点并入到某一个点为根节点的集合中去,所以设Cnt=N-1,

2017-08-09 12:09:03 458 3

原创 计蒜客 平分娃娃(多重背包问题二进制优化)

题目链接:题目思路:典型的背包问题,一开始的思路是将多重背包转变为01背包从而求解出相应的答案,最后发现这样的话会超时,那么我们就要想办法优化这个算法,所以我们采用了二进制的方法来优化多重背包。优化的思路:思路:这接对k进行1,2,4,8·····的分解,大于0的部分不要忘记,分解的时候注意V与W的重新分配。代码:#includeusing namespace s

2017-08-07 11:38:34 1810

原创 hdu 6053 (莫比乌斯反演+容斥)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6053尝试着去看了一下莫比乌斯反演,是真的看不懂,这个题先挖一下坑。

2017-07-29 11:59:23 403

转载 C++ map用法详解

Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数;   mapmapstring;         mapmapint;   mapmapstring;         mapmapchar;   mapmapchar;            mapmapint

2017-07-16 15:01:47 361

转载 C++中set用法详解

1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让

2017-07-16 14:41:36 417

原创 分治法举例之快速排序,归并排序

运用分治策略解决的问题一般来说具有以下特点:1、原问题可以分解为多个子问题这些子问题与原问题相比,只是问题的规模有所降低,其结构和求解方法与原问题相同或相似。2、原问题在分解过程中,递归地求解子问题由于递归都必须有一个终止条件,因此,当分解后的子问题规模足够小时,应能够直接求解。3、在求解并得到各个子问题的解后应能够采用某种方式、方法合并或构造出原问

2017-05-20 15:38:22 698

原创 lucas定理(hdu3037,)

这几天脑袋秀逗了,想什么都想不出来,上课状态也特别差,老是犯困,看来最近状态不是一般的差,以后不熬夜了,注意作息,调整状态好好学习了。用心看了下lucas定理,就整理下来吧。Lucas定理定义:A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C

2017-05-11 16:46:32 442

原创 初学凸包(凸包学习总结)

前言:这几天一直在网上听清华大学的一门课叫《计算几何》,感觉老师讲的特别好,听到凸包了,这几天一直在想这个东西,却迟迟写不出代码,感觉还是太浮躁了,没有定下心来,所以在此总结一下凸包的学习以及相关的代码;还有就是关于向量方面接触太少了,估计还要恶补一下与向量有关的数据结构的基础知识。正文:凸包:凸包(Convex Hull)是一个计算几何(图形学)中的概念。在一个实数向量空间V

2017-04-30 12:30:03 831

原创 Redis多活

Multi-Master Replication:https://redislabs.com/wp-content/uploads/2017/02/04-Yossi-Gottlieb-Redis-Labs.pdfCRDT算法:https://jzwdsb.github.io/2019/01/CRDT/一文揭秘阿里云Redis全球多活产品:https://blog.51cto.com/13...

2019-04-10 09:54:33 2580

转载 jupyter notebook使用

最近由于项目需要,开始学习python,然后发现一个非常有用的python交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习jupyter notebook的一个汇总和记录,与大家一起分享!下面的内容是针对ubuntu 系统的,当然,jupyter notebook在windows也是支持的。一、jupyter notebook是什么官网的介绍是:Jupyter Notebook...

2018-08-15 16:30:59 484

原创 AWK使用总结

AWK简介: Awk是一种便于使用且表达能力强的程序设计语言,可应用于各种计算和数据处理任务。本章是个入门指南,让你能够尽快地开始编写你自己的程序。第二章将描述整个语言,而剩下的章节将向你展示如何使用Awk来解决许多不同方面的问题。纵观全书,我们尽量选择了一些对你有用、有趣并且有指导意义的实例。参考资料:http://awk.readthedocs.io/en/latest/ ...

2018-07-30 20:38:10 324

转载 OSI七层模型详解

OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 。完成中继功能的节点通常称为中继系统。在OSI七层模型中,处于不同层的中继系统具有不同的名称。   一个设备工作在哪一层,关键看它工作时利用哪一层的数据头部信息。网桥工作时,是以MAC头部来决定转发端口的,因此显然它是数据链路层的设备。具体说:物理层:网卡,网线,...

2018-06-15 15:48:59 1203

转载 GET与POST的区别

GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而POST不可以。GE...

2018-05-13 15:22:10 262

原创 Python处理JSON数据的基本方法

前置知识:json简介:Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。现在也常用于http请求中,所以对json的各种学习,是自然而然的事情。Python的官网网址:https://docs.python.org/2/library/json.html?hig...

2018-04-28 14:49:03 2335

原创 Python进阶:函数式编程

个人理解:把函数作为参数语法(1)列表解析,将range(5)的每个元素进行平方:list = [item**2 for item in range(5)]print(list) #[0,1,4,9,16](2)字典解析,将range(5)的每个元素进行平方并作为value,key为一个指示:dict = {"%d^2" % item:item**2 for item in range(...

2018-03-22 22:21:39 227

原创 Python进阶学习资料(持续更新。。。)

语言:Python多线程与多进程:博客文章链接 (感觉写的非常好,虽然只是学到了皮毛,但是受益匪浅)python的特殊方法:博客文章链接框架:系统:

2018-03-22 12:44:22 238

原创 OnlineJudge评测程序Python实现(三)Judge Time&Memory

Time&Memory篇(一)思路:先利用subprocess.Popen(),调用外部命令执行程序,将.in文件输入,将程序运行结果保存在.out文件中。程序数据输入和结果保存完成了,接下来就是时间和内存的问题。通过pid获取进程号,然后利用psutil模块实现进程的控制与监听,即可完成一个简单的Time&Memory的判断。(二)代码:import timeimport su...

2018-03-20 17:10:21 1592

原创 OnlineJudge评测程序Python实现(二)JudgeResult

JudgeResult篇(一)思路:将用户程序执行过后生成的main.out文件与标准答案ans.out文件中的字符串取出进行简单的匹配比较即可得出相应的结果,思路较为简单。唯一要注意的一个点是:代码中有个replace('\r','')方法,它的作用就是将\r替换成空字符串。为什么要做这个替换呢?因为在windows下,文本的换行是"\r\n",而在Linux下是"\n"。因为不能确定测试数据来...

2018-03-19 18:43:11 2125

原创 OnlineJudge评测程序Python实现(一)Compile

前言:为了完成dlnuoj首先要解决的判题核心问题,这里采用Python语言的方法来实现。接下来将一步一步实现简单判题核心的功能。Compile篇(一)思路:通过Python的subprocess模块,调用外部命令,然后将代码生成相应的可执行文件即可。这里要注意外部命令的写法,各大OJ网站都有参考,当然也要跟据自身PC机环境,具体写法会在之后需要的时候进行更新。(二)代码:import time...

2018-03-19 18:07:20 3412 1

原创 学习Django遇到的坑

1.安装xadmin,生成数据表一直报错,不明白!!!!原因:未使用django-formtools最新版包,wtf,git上给出的依赖包是1.0版本的啊!!!2.关于djangorestframwork配置问题页面显示设置REST_FRAMEWORK = {    "DEFAULT_PAGINATION_CLASS":"rest_framework.pagination.LimitOffsetP...

2018-03-08 10:27:29 379

原创 Python虚拟环境使用学习

创建虚拟环境:利用pycharm自带功能快捷创建。导入相关包:cd进入刚才pycharm创建的文件夹,在python安装目录中会多出一个文件夹venv,去看看是不是 =.= ,然后输入:Scripts\activate(进入环境) ,前面多了个(venv)符号表示进入了这个虚拟环境中了,你可以随便怎么搞了(这里可以导入你需要的包,一般用pip或者pip3)。如果需要导入很多的包,将其写入test....

2018-03-04 14:05:21 212

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除