自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZigZagK的博客

Never give up fighting!

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 【置换群+贪心】51Nod1125[交换机器的最小代价]题解

题目概述有 nn 台重量不相同的机器,每次操作可以交换两台机器,代价是两个机器的重量之和,求使机器按照重量升序排列的最小代价。 解题报告对于一个位置 ii ,记录 ID[i]ID[i] 表示排序完毕后在位置 ii 上的数(也就是第 ii 小的数)原来在哪里,那么我们需要做的就是将位置 ii 上的数与位置 ID[i]ID[i] 上的数进行交换,使得最终在位置 ii 的数归位。我们会发现按照 i→ID[

2017-08-29 20:45:39 453

原创 【贪心】51Nod1241[特殊的排序]题解

题目概述有一个 nn 的排列,一次操作可以将一个位置上的数放到头或尾,求最少操作使得排列有序。解题报告贪心的策略是尽量少改变相对位置,所以我们刷一下”最长升“,这里的最长升指的是形如 i,i+1,i+2,⋯,ji,i+1,i+2,\cdots,j 的最长子序列。假设最长升为 MAXMAX ,那么 n−MAXn-MAX 就是答案。严格证明?不会啊:P。ps:题目里没说升序还是降序,我都写了,但好像只写

2017-08-27 20:22:50 411

原创 【模拟】HDU6147[Pokémon GO II]题解

题目概述刚开始你在某个位置并朝着某个方向,有 nn 个操作,每个操作为向前走 xx 然后右转。问最早哪个操作之后走到了之前走过的地方。解题报告找找规律会我们发现只需要存最近 55 次行走形成的线段,然后每次行走之后判断下是否和之前的线段重合即可。判断线段重合有一个比较容易的方法:将线段(这里的所指的线段有长度,长度为 11 ),投影到 xx 轴和 yy 轴上,然后判断投影是否重合,这就变成了一维的问

2017-08-27 16:46:43 437

原创 【数位DP】HDU6148[Valley Number]题解

题目概述一个正整数是 Valley NumberValley\ Number 需要满足没有任何一段数字出现先递增后递减(这里的递增和递减都不是严格的)的情况。求 ≤n\le n 的 Valley NumberValley\ Number 的数量。解题报告显然是数位DP,但是我刚开始想了一个很有病的定义,样例都没调出来TAT。定义 f[i][j][t]f[i][j][t] 表示前 ii 个数中第 ii

2017-08-26 22:13:45 349

原创 【组合数学】HDU5698[瞬间移动]题解

题目概述刚开始你在 (1,1)​(1,1)​ ,每次能够瞬间移动到右下任意一个格子(如下图),求到 (n,m)​(n,m)​ 的方案数。解题报告组合数很多性质我不知道啊QAQ,做到题目慢慢补吧。 ∑i=0nCinCim=Cnn+m(n≤m)\sum_{i=0}^{n}C_{n}^{i}C_{m}^{i}=C_{n+m}^{n}(n\le m) 证明:二项式定理: (a+b)n(a+b)^n

2017-08-24 21:04:58 615

原创 【容斥原理】Codeforces547C[Mike and Foam]题解

题目概述给出一个序列 {An}\{A_n\} 和 mm 个操作,每个操作是一个整数 xx :如果 AxA_x 没有加入到容器中,则加入;如果 AxA_x 已经在容器中,则移除。求每次操作后容器中 gcd(Ai,Aj)=1(i<j)gcd(A_i,A_j)=1(i<j) 的个数。解题报告好像是不难的容斥题,但是我从来没有用过容斥原理QAQ,这里简单说明一下:有 nn 个集合,第 ii 个集合是 SiS

2017-08-22 21:14:24 755

原创 【阈值优化】BZOJ1257(CQOI2007)[余数之和sum]

题目概述求 ∑mi=1n mod i\sum_{i=1}^{m} n\ mod\ i 。解题报告令 n=mk+wn=mk+w ,则答案就是 ∑w\sum w ,我们只要枚举 mm 和 kk 就能确定 ww 。只枚举 mm 或 kk 都会炸,所以我们想到 mm 和 kk 都枚举,这样范围就会缩小到 n√\sqrt n :m:1−n√→k:n−n√k:1−n√→m:n−n√m:1-\sqrt n\to

2017-08-20 13:50:33 603

原创 【贪心】BZOJ3410(Usaco2009 Dec)[Selfish Grazing 自私的食草者]题解

题目概述有 n​n​ 头奶牛,第 i​i​ 头奶牛的吃草范围是 (li,ri)​(l_i,r_i)​ ,任何两头奶牛的吃草范围没有交集才可以在一起吃草。问最多有多少奶牛可以一起吃草。解题报告前年我竟然做过这题!那时候的初始想法是DP,但是 nn 比较大所以TLE了。先排序,然后我们记录一个位置 lastlast 表示目前最后一头牛的 rr 。对于目前的牛 ii ,如果 li≥lastl_i\ge l

2017-08-15 21:11:21 688

原创 【贪心+堆+树状数组】JXOI2017[加法]题解

题目概述有一个序列 {an}\{a_n\} 和 mm 个线段,你可以选 kk 个线段,每个选择的线段 [l,r][l,r] 可以使 aa 中的 [l,r][l,r] 都加上 AA (给出),找出一个方案使得 aa 中最小值最大。解题报告由于是求最小值的最大值,所以我们想到二分答案 midmid ,这样我们就知道序列中每个数还需要加多少次才能 ≥\ge midmid ,设第 ii 个数的次数为 ti

2017-08-14 21:45:49 1270

原创 【贪心】CodeChef(PROTEPOI)[Protecting The Poison]题解

题目概述有一个 len×lenlen\times len 的网格图,中央 k×kk\times k 的子网格存有毒药(可怕),小偷可以水平或竖直射箭偷走毒药(真奇葩)。有 nn 条水平或竖直的蛇,不管箭是射进来还是射出去都可以挡住箭(这题目越来越奇怪了),问最少多少只蛇能够防止小偷偷走毒药。解题报告因为蛇是水平或竖直的,不可能同时挡住水平面上的箭和竖直面上的箭。所以我们可以把二维平面上的问题变成一维

2017-08-12 22:37:09 342

原创 【贪心+堆】Codeforces725D[Contest Balloons]题解

题目概述有 nn 个队伍,第 ii 个队伍有 tit_i 个气球,重量为 wiw_i ,其中第 11 个队伍是你所在的队伍。你可以给别的队伍任意数量的气球(不超过你的气球数),如果一个队伍的气球数 >> 重量,这个队伍就会飞起来(滑稽)并失去比赛资格。求你的队伍能达到的最小名次是多少(按气球数排名)。解题报告这是一道挺简单的贪心题。我们肯定要选气球数多于我们的队伍弄飞,且在这些队伍中选需要气球数少的

2017-08-10 20:40:53 381

原创 【贪心+ST算法+堆】BZOJ4458[GTY的OJ]题解

题目概述有 nn 个目录,每个目录有一个父亲目录和靠谱值,一个题目由若干个目录构成,其中任何一个目录都是别的目录的子孙和祖先,一个题目的靠谱值是所有目录靠谱值的和。需要选 kk 个目录数量范围在 [L,R][L,R] 且不相同的题目,使得靠谱值最大。解题报告和BZOJ2006套路是一样的,只不过做到了树上。所以我们使用树上RMQ就行了。示例程序#include<cstdio>#include<cm

2017-08-10 09:09:01 896

原创 【AC自动机-fail树+树链合并】BZOJ3881(Coci2015)[Divljak]题解

题目概述有 nn 个字符串,第 ii 个字符串是 sis_i 。还有另一个字符串集合 TT 和 mm 个操作,操作格式如下:1.向字符串集合 TT 中加入一个字符串 SS 。2.询问 TT 中有几个字符串出现了 sxs_x 。解题报告首先我们会想到把 nn 个字符串建成AC自动机,并构造出 failfail 树。这样的话,每次新加入一个字符串 SS ,记录 SS 在AC自动机上出现的位置。对于位置

2017-08-08 23:11:41 880

原创 【贪心+ST算法+堆】BZOJ2006(NOI2010)[超级钢琴]题解

题目概述给出一个序列,选出 kk 个长度在 [L,R][L,R] 的子段(不可选重),求 kk 个子段的和的最大值。解题报告如果我们把所有长度在 [L,R][L,R] 的子段都处理出来并从大到小排序,那么根据贪心,肯定选前 kk 个最优秀。但我们不可能把所有满足要求的子段都处理出来:太多了。需要注意到的是, kk 并不是很大,所以我们要想办法每次都选最大的满足要求的子段, 选 kk 次累加起来就是答

2017-08-08 18:32:46 1225 3

原创 【AC自动机-fail树+离线+DFS序+树状数组】BZOJ2434(Noi2011)[阿狸的打字机]题解

题目概述有一台打字机,可以:在字符串末尾插入一个小写字母。删除字符串末尾的一个小写字母。输出当前字符串。还有 mm 个询问,每个询问 x,yx,y 表示求第 xx 个输出的字符串在第 yy 个输出的字符串中的出现次数。解题报告观察打字的过程,我们发现这其实就是在构造一棵Trie:在字符串末尾插入一个小写字母 →\to 在当前节点 nownow 扩展一个字符。删除字符串末尾的一个小写字母

2017-08-08 11:54:46 558

原创 【位运算分析+主席树】CodeChef(PREFIXOR)[Prefix XOR]题解

题目概述有一个序列 {an}\{a_n\} , (i,j)(i,j) 是上升的需要满足: 令 Sk=ai xor ai+1⋯ xor ak(i≤k≤j)S_k=a_i\ xor\ a_{i+1}\cdots\ xor\ a_k(i\le k\le j) ,则 Si≤Si+1⋯≤SjS_i\le S_{i+1}\cdots\le S_j 。 对于一组 l,rl,r ,求满足 l≤i≤j≤rl\le

2017-08-02 00:02:53 646

2012年noi冬令营陈立杰讲稿

丽洁姐的后缀自动机讲解!

2017-07-02

空空如也

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

TA关注的人

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