自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 链表相关知识整理

标语:如果惧怕前面跌宕的山岩,生命永远只能是死水一潭链表定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。比较:数组链表如何建立链表头插法将元素插入链表头的后面尾插法将元素顺序插入链表当中如何逆序一个链表非递归需要三个辅助变量前驱(pre),当前节点(p),后继节点(next)递归递归到最后...

2018-11-28 17:18:07 278

原创 C - Heavy Transportation POJ - 1797[dijkstra]

题意:从1出发到各点的最短距离。ac code:ac\ code:ac code:#include <iostream>#include <stdio.h>#include <stdlib.h>#include <cstring>#include <string.h>#include <strin...

2018-11-20 15:17:56 167

原创 B - Security Guards Gym - 101954B[预处理BFS]

题意:在二维平面内有n个消防站,现在有Q次询问,每次询问给出一个坐标代表事故现场的地点,问距离该点最近的消防站的距离是多少。距离的定义:一个点到他周围八个方向的点的距离都是1.题解:我们先把所有消防站的点压入一个队列中去,然后进行BFS,通过BFS记录到达某个点的最短距离,最先搜到的一定是最短距离。ac code:ac\ code:ac code:#include ...

2018-11-16 16:32:23 397

原创 B - Maximum Subarrays Kattis - maximumsubarrays[动态规划]

题意:给出一个数列,需要找出k个连续字段,让他们的和最大。题解:动态规划,首先可以假设dp[i][j]dp[i][j]dp[i][j]为加上第j个数字分成i段的最大值,然后存在转移方程dp[i][j]=max(dp[i][j−1]+a[j],max(dp[i−1][1],dp[i−1][2],…,dp[i−1][j−1])+a[j])dp[i][j] = max(dp[i][j - 1] +...

2018-11-14 16:31:41 836

原创 G - Tima goes to Xentopia Kattis - xentopia [dijkstra]

题意:现在有一个无向图,图上的一条边包含四个信息起点终点距离颜色(每条路线是有颜色的)然后给出两个地点,询问从S到T经过正好k1k1k1个红色路,k2k2k2个蓝色路的最小距离,一条路可以走多次。题解:最短路的变式,搜索不知道为啥MLE了,我们需要开一个dp[i][j][k]dp[i][j][k]dp[i][j][k]的数组表示,到达iii点经过了jjj 个红色路线 kkk 个...

2018-11-14 16:16:01 495

原创 1006: [HNOI2008]神奇的国度[完美消除序列MCS]

题意:用最少的颜色把图染成任意两个相邻的点颜色不同。算法:完美消除序列算法介绍:首先把图中所有的点标记为0,然后找一个点入队,每次队头元素为标记最大的点即要消除的点,对于消除的点,我们要与他相连的点标记+1,然后没有消除的点入队。题解:我们根据MCS的过程模拟一下本题。原图:此时所有的标记都为0;下面我们消除12和4的标记+1变为1然后我们选择2进行下一次的消除此时...

2018-11-08 21:06:10 353

原创 burnside引理&polya定理

前置:群概念:在数学中,群(G,⋅)(G, ·)(G,⋅)表示一个拥有满足封闭性、结合律、有单位元、有逆元的二元运算的代数结构,包括阿贝尔群、同态和共轭类。即G的任意两个元素在⋅·⋅下的运算结果都是该集合的一个元素。(∀a,b∈G\forall a, b\in G∀a,b∈G)结合律:∀ a,b,c∈G.  (a⋅b)⋅c=a⋅(b⋅c)\forall\ ...

2018-11-07 16:16:35 390

原创 Pangu and Stones HihoCoder - 1636[区间dp]

题意:有n个数字,每一次只能合并最少l个最多r个连续的数字,合并的代价为他们的和,询问最小代价把他们合并成一堆,如果不能合并成一堆输出0。总结:比赛的时候只是想到了一点点区间dp,但是dp的含义没有完全想明白,导致转移方程写不出来,然后卡到了最后,后来看了一下题解dp的含义顿悟了一点点,区间dp接触的还是太少了。题解:区间dp。我们规定dp[i][i+d][k]dp[i][i + d][...

2018-11-07 10:49:34 147

原创 1005: [HNOI2008]明明的烦恼[prufer序列+组合数学]

题意:有一个n个点的无根树,已经知道了它每个点的度数(也有可能没有限制),询问有多少种形式的无根树满足上述条件。前置技能:prufer序列定义任何一个无根树都可以由一个pruferpruferprufer序列来唯一表示,其中度为ddd的节点在序列中出现d−1d - 1d−1次。构造pruferpruferprufer序列:首先选择节点序号最小的叶子节点,然后将与它相连的节点加入序列,...

2018-11-05 18:51:03 189

原创 J - Whistle's New Car Gym - 101147J[Bit]

题意:有一棵以1为root,n个节点的根树,然后存在一个有n个数字的数组x,询问从i节点最多走x[i]x[i]x[i]步可以最多到达几个父亲上的点,然后数组n个数字,分别为从1,2,…n1, 2, \dots n1,2,…n出发可以最多到达几个点。题解:首先我们定义dep[i]dep[i]dep[i]为从根节点得到iii节点的距离。我们考虑如果从iii点出发的话那么如果它可以到达jjj点那...

2018-11-05 17:27:45 213

原创 1008: [HNOI2008]越狱[简单题]

题意:监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱题解:我们考虑用总的方案减掉不能越狱的方案。也就是相邻两个不同的方案数。拓展:如果题目改为恰好使用M种宗教的话那么做法为二项式反演了,因为可以反演出至多用M种宗教的方案。ac code:ac\ code:...

2018-11-03 11:12:39 618

原创 1007: [HNOI2008]水平可见直线[单调栈]

题意:  在xoy直角坐标平面上有n条直线L1,L2,…Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=-x; L3:y=0则L1和L2是可见的,L3是被覆盖的.给出n条直线,表示成y=Ax+B的形式(|A|,|B|<=500000),且n条直线两两不重合.求出所有可见的直线.题解:根据...

2018-11-03 11:09:29 232

原创 Balloon Robot ZOJ - 3981[思维BF]

题意:现在有n只队伍分布在m张桌子上(每个队伍在一张桌子上),现在有一个送气球的机器人,初始位置可以是这m个桌子的任意一个,机器人沿着顺时针方向沿着桌子走,如果机器人所在位置有队伍A了题目,机器人就会送上气球。现在如果某个队伍在Ta时刻A了题目,然后气球在Tb时刻被送到,那么此时的不开心值就有Tb-Ta。现在要使所有队伍的不开心值总和最小,问机器人一开始应该位于哪里。题解:我们假设开始的时候机...

2018-11-03 10:58:39 260

原创 Numbers ZOJ - 3987[思维暴力]

题意:给出一个数字N以及一个M,要求把N分为M部分且满足N=a1+a2+a3+⋯+amN = a_1 + a_2 + a_3 + \dots+a_mN=a1​+a2​+a3​+⋯+am​询问如何让a1∣a2∣a3∣…∣ama_1|a_2|a_3|\dots|a_ma1​∣a2​∣a3​∣…∣am​尽可能的小,输出最小值。题解:如果让后来的或值最小的话,那么我们首先需要去掉最高位的1(二...

2018-11-03 10:52:53 265

原创 I - Colonial Mansions Gym - 101962I[二分+线段树]

题意:给出一个有n个数字的数列,有两种操作1 x H 将x位置的数字改为H2 x H 从x出发在每次数字相差不超过H的条件下可以向左右拓展多少个思路:可以维护一个差分序列,这里维护的是相邻两个数字的差值(为了条件2),然后通过线段树去维护这个差值,当更新的时候需要更新两个差值,i - 1和i,因为更改i位置的数字会影响它本身与后面的差值,同样会影响他前面数字与它的差值,所以每次更新需要...

2018-11-03 10:43:49 144

Linux多线程编程手册

Linux多线程编程手册,介绍了Linux下pthread的使用方法

2018-12-25

连通图tarjan算法动画讲解呕心沥血之作

tarjan算法呕心沥血之作,动画演示,步步清晰可见,详细的描述了tarjan算法的工作过程,比网上的单纯的图片更加容易理解。

2018-02-01

空空如也

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

TA关注的人

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