
OI
mhlwsk
这个作者很懒,什么都没留下…
展开
-
博客迁至www.mhlwsk.com
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 我终于有自己的小站了! 博客已经迁至https://www.mhlwsk.com原创 2018-01-27 22:07:41 · 641 阅读 · 0 评论 -
[POJ1001]狼抓兔子 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -·题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1001 这题是最大流,也可以用spfa过,虽然我并不会。。 注意一下这题的边是无向边,边要正反存两遍,算上网络流原有的反向边相当于原创 2016-04-06 17:17:28 · 789 阅读 · 0 评论 -
Splay学习笔记
Splay模板#include #include #include const int MAX=100010;using namespace std;struct Splay { int ch[MAX][2],f[MAX],root,cnt; int s[MAX],c[MAX],a[MAX]; int grow (int k,int fa) {原创 2016-01-30 11:15:14 · 381 阅读 · 0 评论 -
[CodeVS2822]爱在心中 做题笔记
题目来源 :http://codevs.cn/problem/2822/ 题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有原创 2016-02-28 11:24:48 · 488 阅读 · 0 评论 -
[BZOJ2754][SCOI2012]喵星球上的点名
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2754 根据黄学长的代码打的,对于每一个结点开一个map,非常暴力但是确实可以过#include <cstdio>#inclu原创 2016-03-22 23:13:06 · 548 阅读 · 0 评论 -
[HDU3966]Aragorn's Story 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=39661、打懒标记的时候一定要注意懒标记是否可以累加,或者是否应该异或 2、多组测试数据。。。 3、线段树针对多组数据的初始化不要忘了#i原创 2016-03-22 23:08:28 · 403 阅读 · 0 评论 -
[BZOJ4034][HAOI2015]T2 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=4034 [BZOJ4196][NOI2015]软件包管理器的既视感。。 这题是树链剖分+dfs序比较裸的题目,唯一需要注意的就原创 2016-03-22 23:01:34 · 360 阅读 · 0 评论 -
[BZOJ3531][Sdoi2014]旅行 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=3531这是一道非常有价值的树剖。 对于每个飞天面条神教,建立一颗线段树进行维护,查询时,在对应的飞天面条神教对应的线段树进行查询原创 2016-03-22 22:55:23 · 414 阅读 · 0 评论 -
[BZOJ2243]染色 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -·题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=2243 线段树维护色块数量,区间最左端的颜色,区间最右端的颜色。合并区间时,如果左区间的最右端的颜色等于右区间的最左端的颜色,注意-原创 2016-03-22 22:41:50 · 523 阅读 · 0 评论 -
[POJ1386]Play on Words 做题笔记
题目链接:http://poj.org/problem?id=1386 每一个单词对应一条单向边,从首字母指向尾字母,问题转化为在图中是否存在欧拉回路/通路。 Hint:欧拉回路/欧拉通路要求基图联通,意思是不存在孤立的点,而不是整个图只有一个联通块。判断基图联通可以用并查集。#include <cstdio>#include <cstring>#include <algorithm>us原创 2016-03-11 11:34:04 · 804 阅读 · 0 评论 -
[BZOJ1192]鬼谷子的钱袋 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1192 我知道这题很水,大神们看见我的代码就笑吧。。 我这里有一种奇怪的理解不知道对不对: 对于每一个数拆成二进制位。比如15拆成1111(2),那么它可以拆成下面四个“钱袋“:1000(2),100(2),10(2),1(2),四个数加起来正好填满15内的所有二进制位。 对于至少需要原创 2016-04-02 19:40:19 · 629 阅读 · 0 评论 -
[BZOJ3130][Sdoi2013]费用流 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=3130 这题比较容易想到是最大流+二分,二分流量上界,答案=最小流量上界*p 但是这题的重点在于,最大流本身是一定的整数,但是原创 2016-04-02 19:51:34 · 437 阅读 · 0 评论 -
[POJ2104]K-th Number 做题笔记 主席树
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://poj.org/problem?id=2104 这题是主席树模板。主席树思想可以看这里。 1、离散化(排序去重),用离散化后的序列构建线段树 2、对于原序列a[1..n],对于每一个i构建一颗线段树,表示[1原创 2016-04-02 19:22:17 · 434 阅读 · 0 评论 -
[CodeVS4655]序列终结者 做题笔记
题目来源:http://codevs.cn/problem/4655/ 不要问我为什么不写BZOJ,权限题。。。 维护max时注意负数的情况,主要的梗还是看BZOJ1500吧#include <cstdio>#include <algorithm>#include <cstring>#define lch ch[x][0]#define rch ch[x][1]const int N=原创 2016-04-02 19:12:16 · 387 阅读 · 0 评论 -
[POJ3177]Redundant Paths 边双连通分量 做题笔记
题目来源:http://poj.org/problem?id=3177 解题思路:http://www.cnblogs.com/frog112111/p/3367039.html 分析:在同一个边双连通分量中,任意两点都有至少两条独立路可达,所以同一个边双连通分量里的所有点可以看做同一个点。 缩点后,新图是一棵树,树的边就是原无向图的桥。 现在问题转化为:在树中至少添加多少原创 2016-03-08 23:06:31 · 876 阅读 · 0 评论 -
[BZOJ1002]轮状病毒 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1002 这题我还是直接放一下题解链接吧,感觉这个DP真心想不到。 http://www.lydsy.com/JudgeOnli原创 2016-04-06 17:21:34 · 958 阅读 · 0 评论 -
[BZOJ]1269文本编辑器 做题笔记
感觉这题出的真心不错,splay可以过,rope可以过,块状链表也可以过#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <map>using namespace std;const int MAX=5000000;int N,val;char ch[20],s[500原创 2016-02-16 11:22:07 · 455 阅读 · 0 评论 -
[BZOJ2938][POI2000]病毒 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=2938 注意:这题是权限题,代码应该是对的,但未经测试 zky: 首先我们把所有串建一个AC自动机 方便原创 2016-03-28 10:17:54 · 505 阅读 · 0 评论 -
C语言快速排序实现方案(面向ACM、NOIP)
我是C++选手,但学校要求用C考试,所以来探讨一下C下快速排序的实现方案。手写代码实现快排的代码实现需要格外注意i与j的边界情况。回想以往用pascal参加NOIP的经历,保证正确性起见,遂把pascal目录下的/demo/text/qsort.pp翻译成c贴上。。#include <stdio.h>int n,a[100009];void sort (int* a,int l,int r) {原创 2017-10-05 12:02:22 · 774 阅读 · 0 评论 -
[POJ3264]Balanced Lineup 做题笔记
·· / ·– ·· ·-·· ·-·· / ·–· · ·-· ··· ·· ··· - / ··- -· - ·· ·-·· / ·· / ·– ·· -· 题目来源:http://poj.org/problem?id=3264 这题是基本的rmq问题,可以用st算法来解决。本来是不想把这题贴上来的,但代码里有个奇怪的鲠! 代码里的u,v一定要定义到全局,否则直接wa,但是u,v在main原创 2016-03-28 21:40:23 · 431 阅读 · 0 评论 -
[BZOJ1066]蜥蜴 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1066 做这题的时候被自己打的模板坑了,查了好久好久都没查出错。。。以后做题也不能过分信任某一段代码而不去查它的错了。 恩,这题的背景总让人想起科学的上网。。 这题的距离是指欧几里得距离,就是sqrt( (x1-x2)^2+(y1-y2)^2 ),我之前竟然没有见过,按照上下左右还有对角原创 2016-03-28 21:33:30 · 473 阅读 · 0 评论 -
[BZOJ1143][CTSC2008]祭祀river 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1143 一种理解(引用自http://www.cnblogs.com/BLADEVIL/p/3713043.html): 我们可以将一个点拆成两个点x,y,那么如果存在一条i->j的路径,我们就连接xi,yj,那么答案就是n-最大匹配数。 因为i->j所以对于i与j只能原创 2016-03-20 23:08:14 · 499 阅读 · 0 评论 -
[POJ3352]Road Construction 做题笔记
题目来源:http://poj.org/problem?id=3352 引用一下解题思路:http://blog.youkuaiyun.com/geniusluzh/article/details/6619575 这道题的意思是说,给你一个无向图,然后问你至少需要添加几条边,可以使整个图变成边双连通分量,也就是说任意两点至少有两条路可以互相连通。我们这样考虑这个问题,属于同一个边双连通分量的任意点是至少有原创 2016-03-28 10:34:06 · 631 阅读 · 0 评论 -
[HDU1269]迷宫城堡 做题笔记
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1269 这题是果的强联通,没有什么鲠 Tarjan(i)会求出与i联通的所有强联通分量。 弹栈时,不要弹空整个栈,而是弹出整棵搜索子树。#include <cstdio>#include <algorithm>#include <cstring>using namespace std;con原创 2016-03-28 10:22:57 · 610 阅读 · 0 评论 -
[POJ1325]机器调度 做题笔记
Description As we all know, machine scheduling is a very classical problem in computer science and has been studied for a very long history. Scheduling problems differ widely in the nature o原创 2016-03-02 14:13:51 · 499 阅读 · 0 评论 -
[BZOJ1030]文本生成器 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1030 f[i][j],i表示走到第几步,j表示走到树上的哪个结点,j不能是单词结点或沿fail指针能找到单词的点。 对每一个f[i-1][j],处理每一个它所能到达的状态f[i][x],x表示j继续匹配a-z所能到达的结点。 最后统计f[m][j]之和,即为答案。#include <c原创 2016-03-14 17:54:32 · 374 阅读 · 0 评论 -
[HDU2222]Keywords Search 做题笔记
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2222 这题是比较裸的AC自动机,很容易想出AC做法但却并不容易AC。。。 1、首先!这题有重复的单词!! 2、千万不要在for循环里用strlen!!这题匹配串长度1000000,如果每次循环都要strlen,那计算开销是相当大的。我不在里面打strlen时间343ms,如果在里面大strlen则原创 2016-03-14 19:38:26 · 313 阅读 · 0 评论 -
[POJ2406]Power Strings 做题笔记
题目来源:http://poj.org/problem?id=2406 这题可以用后缀数组做,但是必须用dc3。 这份代码会T,做法应该没问题,权当练思路了。 思路有点类似错位找循环节。一个后缀对应一种错开的情况。枚举的就是错开多少位。如果对于错开的位数l,有n%l=0且错开的两个串lcp=n-l,则是一个答案。#include <cstdio>#include <cstring>#inc原创 2016-03-14 17:23:15 · 491 阅读 · 0 评论 -
[POJ2774]Long Long Message [CodeVS3160]最长公共子串 做题笔记
这题是后缀数组模板题。 一直在纠结到底是看SAM还是Suffix Array? 构造代码来自罗穗骞《后缀数组——处理字符串的有力工具》 构造代码一直看不懂QAQ,那就按ydc教主说的背下模板吧。主要应用是针对三个数组的。#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int原创 2016-02-20 10:33:13 · 441 阅读 · 0 评论 -
[HDU]3518 Boring counting 做题笔记
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=3518 这题和POJ1743是差不多的类型。 把二分改为穷举长度l,分块(如果lcp>=l则分到一个块),一个块里若存在两个位置差>=l的则ans++ 很好奇这题的这句话是摆来吓唬人的?? For each test case output an integer ans,which repres原创 2016-03-14 17:12:25 · 389 阅读 · 0 评论 -
[POJ1743]Musical Theme 做题笔记
题目链接:http://poj.org/problem?id=1743 后缀数组+二分答案,可以看一下罗神的《后缀数组——处理字符串的有力工具》#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N=20050;int n,num[N];int sa[N],rank[N原创 2016-03-11 11:37:43 · 261 阅读 · 0 评论 -
[BZOJ2434][CodeVS1946]阿狸的打字机 做题笔记
题目来源:http://codevs.cn/problem/1946/ 题目描述 Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机 上只有 28 个按键,分别印有 26 个小写英文字母和’B’、’P’两个字母。 经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(按 P 前凹槽中至 少有一个字母)原创 2016-02-19 15:55:47 · 570 阅读 · 0 评论 -
[BZOJ1500]维修数列 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1500 自己做这题的一个非常有意思的收获,就是pushup和pushdown千万不能忽略“0”。一般我们会把不存在的孩子的id定为0,这里称之为void好了,按理来说这个void应该是个垃圾箱,扔进去的数据都会被吃掉。但是在pushdown时如果把不和谐的值扔了进去,pushup时是会从里面原创 2016-03-20 22:52:51 · 740 阅读 · 0 评论 -
[BZOJ1861]书架 做题笔记
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1861这题是splay维护区间。 既然是维护区间,那么存在splay里的值就不一定要满足二叉排序树的”左<中<右”的性质,此时要维护某个值在序列里的位置,可以维护一个pos数组,代表某个值在splay中的位置,把这个结点转到根,输出左子树的大小即为它在序列中前面书的数量。 insert好说原创 2016-03-20 22:44:06 · 631 阅读 · 0 评论 -
[BZOJ][HNOI2004]宠物收养所
题目来源:http://www.lydsy.com/JudgeOnline/problem.php?id=1208 这是一份极其“优美”的代码,本来以为附带大常数,结果和hzwer的跑的一样快。。。虽然代码本身确实比较差#include <cstdio>#include <cstring>#include <algorithm>#define lch ch[x][0]#define rch原创 2016-03-16 15:53:32 · 496 阅读 · 0 评论 -
[POJ2887]Big String 做题笔记
题目来源:http://poj.org/problem?id=2887 块状链表模板题#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;#define N 1000010#define L 2020char s[N],c,opt;int n,po原创 2016-02-18 14:48:48 · 863 阅读 · 0 评论 -
[CodeVS3013]单词背诵 做题笔记
题目来源:http://codevs.cn/problem/3013/ 题目描述 Description 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词。文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一个)。并且在背诵的单词量尽量多的情况下,还要使选出的文章段落尽量短,这样她就可以用尽量短的时间学习尽可能多的单词了。 输入描述 I原创 2016-02-18 14:44:28 · 775 阅读 · 0 评论 -
[POJ2135]Farm Tour 做题笔记
题目链接:http://poj.org/problem?id=2135 这是一类比较经典的费用流水题。 1、建图,每条边容量为1,费用为题目所述距离。 2、新建超级源S,S到1连一条容量为2费用为0的边。 3、跑一遍费用流。 事实上如果用的是一次找一条增广路的费用流,还有一个小优化,那就是网络流为2时直接输出cost退出即可。#include <iostream>#include <cs原创 2016-03-04 11:36:41 · 435 阅读 · 0 评论 -
[BZOJ1834]网络扩容 做题笔记
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1834 先跑一遍最大流,然后在原残量图的基础上建边。对原有的每条边,新建容量为inf,费用为题目描述的边。新建超级源S,S到1连一条容量为k费用为0的边,在新图上跑一遍费用流。#include <cstdio>#include <cstring>#include <algorithm>原创 2016-03-04 11:30:15 · 713 阅读 · 0 评论 -
[CodeVS1735]方程的解数 做题笔记
题目来源:http://codevs.cn/problem/1735/ 题目描述 Description 已知一个n元高次方程: k1x1p1+k2x2p2+……+knxnpn = 0 其中:x1, x2, …,xn是未知数,k1,k2,…,kn是系数,p1,p2,…pn是指数。且方程中的所有数均为整数。 假设未知数1≤ xi ≤M, i=1,,,n,求这个方程的原创 2016-02-18 09:40:20 · 737 阅读 · 0 评论