自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CHN_JZ的博客

while(!die) is_a_oier();

  • 博客(11)
  • 收藏
  • 关注

原创 POJ 1273 Drainage Ditches——最大流

题目传送门 这道题就是裸的最大流,因为各路大神强烈推荐Dinic算法,所以我舍弃EK算法。Dinic 算法Dinic也是一种增广路算法,通过对残量网络进行分层之后用DFS求增广路直到无法增广。 层次图:层次就是起点到每个点的最短路径的长度,只走层与层之间的边,显然可以用BFS求层次图。时间复杂度对于n个点的层次图最多只有n层,所以最多重新建图n次,然后每次增广的效率为O(nm),s所以Dinic

2017-05-31 20:49:35 963

原创 BZOJ 2523 [Ctsc2001]聪明的学生

2523: [Ctsc2001]聪明的学生题目大意有三个人A,B,C头上分别贴着三个正整数,显然对于任意一个人只能看见其他两个人头上的数字。存在两个数的加和等于另一个,这时候询问A是否知道头上贴着什么数字,在询问B,询问C……直到第n次询问一个人回答出来是m。假设这三个人很聪明,都能以最小的询问次数回答出头上的数字(如果可以)。给定多组n,m求所有可能情况。解题思路题目中有个很关键的提示:总是头上贴

2017-05-31 07:40:50 804

原创 [BFS+康托展开]Hdu 1043 Eight

题目传送门这道题就是我们耳熟能详的八数码问题,如果写BFS必然涉及到如何判断一个状态是否进队,可以把序列表示成一个9进制的数,用set或者直接hash,但是这样操作效率过低。0~8的排列最多只有9!种排列方式,所以如果我们能很快求出每个序列的大小,那么直接开vis标记就可以了。所以引进了康托展开。康托展开假设我们拿到一个序列是32451,求这个序列的在所有排列中的次序。 其实我们只要确定有几个排列

2017-05-26 18:41:20 608

原创 Hdu 3068最长回文——Manacher算法

Manacher算法概念这是一种能够在将近O(n)的时间里求出给定字符串的最长回文子串的算法。思想首先我们知道字符串的长度分奇偶,这对我们考虑问题影响很大,所以在给定字符串的所有字符之间插入一个无关字符(包括首尾),这样对答案没有什么影响,而且字符串的长度都变为n*2+1,是个奇数。 然后定义一个f数组,f[i]表示以i为中心向右/向左扩展的长度(包括i),定义mx,id...

2017-05-23 21:22:00 714 2

原创 2017QZOI滚粗记

今年的QZOI水了好多,因为许多大神都没来参加。 于是乎,就被一群初中生霸屏了,小学生也许也有吧。 先恭喜ZHdalao完美的踩了全场所有人,兴华中学的学弟们考的很不错,狂踩我啊!QAQT1两个序列A,B都是1~n的排列,两个指针,起始都是0,分别指向A,B,每次选择一个操作a++或b++,或if (A[a+1]!=B[b+1]) a++&&b++。 看了题目一脸蒙蔽,果断写了个DP。T2之前

2017-05-21 21:25:34 715 1

原创 POJ 2449 Remmarguts' Date——A*

解题思路本题的题目题目要求就是求给定图的K短路。 在此之前,我只可以求解最短路问题,而学了A*之后就可以求解这一类问题。A*的概念A*是一种广泛用于寻路的算法。之所以其能运用广泛是因为A*效率极高。主要思想就是通过当前最小成本(最小距离或时间)来解决方案。A*的实现过程A*有点类似于spfa,但是A*选择最短的路径是通过函数f(n)=g(n)+h(n)f(n)=g(n)+h(n),其中g(n)是起

2017-05-21 21:08:55 532

原创 BZOJ 4720 [Noip2016]换教室——期望DP

4720: [Noip2016]换教室题目描述对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程。在可以选择的课程中,有2n节课程安排在n个时间段上。在第i(1≤i≤n)个时间段上,两节内容相同的课程同时在不同的地点进行,其中,牛牛预先被安排在教室ci上课,而另一节课程在教室di进行。在不提交任何申请的情况下,学生们需要按时间段的顺序依次完成所有的n节安排好的课程。如果学生想

2017-05-17 20:55:14 614

原创 [HDU 5618]Jam's problem again——CDQ分治

题目传送门解题思路本题为裸的三维偏序,直接用CDQ分治解。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=100005;struct jz{ int x,y,z,id; bool operator==(const jz&b){return x==b.

2017-05-14 21:41:19 429

原创 BZOJ 4443 [Scoi2015]小凸玩矩阵——二分+二分图匹配

4443: [Scoi2015]小凸玩矩阵题目描述 小凸和小方是好朋友,小方给小凸一个N*M(N<=M)的矩阵A,要求小秃从其中选出N个数,其中任意两个数字不能在同一行或同一列,现小凸想知道选出来的N个数中第K大的数字的最小值是多少。 输入 第一行给出三个整数N,M,K 接下来N行,每行M个数字,用来描述这个矩阵 输出 如题 解题思路 看到这样选择方式马上就会想到二分图匹配,但是因

2017-05-11 19:33:37 686

原创 BZOJ 2190 [SDOI2008]仪仗队——欧拉函数

题目传送门解题思路 假设原点为(0,0),可以发现对于坐标(i,j),如果满足gcd(i,j)=1,这个点就肯定能看到,所以有2∗∑i=2nphi(i)2*\sum_{i=2}^{n}phi(i)个点肯定满足。然后不要忘记(0,1),(1,0),(1,1)这三个点。#include<cstdio>using namespace std;int n,ans;int phi(int x){

2017-05-03 08:10:37 539

原创 主席树——总(mu)结(ban)

以poj2104为例。 主席树就是可持久化线段树,也叫作函数式线段树,然后。。。 该干嘛干嘛,贴代码 我们先考虑每次询问都是对于1~n,我们肯定会想到离散数字,然后建一个线段树,然后寻找。 如果我们能对每个前缀【1~i】(1<=i<=n)都能建一颗线段树,那么遍历的时候不断a[R]-a[L-1]不就好了。 然后主席树就可以做到。为什么呢?因为你会发现相邻的两颗线段树有很多节点是重复的,共用

2017-05-01 21:14:33 495

空空如也

空空如也

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

TA关注的人

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