自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TYB的博客

我们剩下颓的时间不多了!

原创

bzoj2632 只能感性理解

2018-12-21 09:11:55 154 2

原创 POI2014(未完待续)

Solar Panels: 简单题,直接分块对每种数判断是否合法就行了。 代码: #include<bits/stdc++.h> using namespace std; #define LL long l...

2018-12-03 13:24:42 94 0

原创 NOIP2018游记

挖坑

2018-11-13 12:56:09 267 7

原创 POI2015(未完待续)

Kinoman: 以前做过:这里。 Wilcze doły: 直接单调队列做即可。 代码: #include<bits/stdc++.h> using namespace std...

2018-11-06 13:53:55 121 1

原创 Codeforces DP训练

813D: 题意:给出长度为nnn的序列,从中找出222个子序列,满足每个子序列相邻两数之间要么相差111,要么同余于777,求这两个子序列的最长长度和。 题解:DP优化主要考虑状态的减少和转移的加快,这个题f[i][j]f[i][j]f[i][j]表示分别以iii、jjj为结尾的子序列最长长...

2018-09-29 22:05:14 901 2

原创 【温故知新】BZOJ复习计划

前言: 在BZOJ上也做了不少题了,但是有些题当时在做的时候理解不够深刻,或是时间久了忘记了,都是形同虚设的。那么,有空就多看看自己以前做的题目吧…… ==============分割线============== 1805: [Ioi2007]Sail 船帆: 好题。首先我们要得到贪...

2017-12-09 20:56:20 319 3

原创 不想写博客的题目

2017.10.11 BZOJ1225: [HNOI2001] 求正整数 一个普通的搜索,应用了约数和公式,用对数来比较大小的思路很新颖(至少我没有想过)。 2017.10.12 BZOJ4149: [AMPPZ2014]Global Warming 单调栈,这篇题解写得很好点这里 唉...

2017-10-11 19:36:46 755 2

原创 [BZOJ]5093: [Lydsy1711月赛]图的价值 NTT+第二类斯特林数

Description “简单无向图”是指无重边、无自环的无向图(不一定连通)。 一个带标号的图的价值定义为每个点度数的k次方的和。 给定n和k,请计算所有n个点的带标号的简单无向图的价值之和。 因为答案很大,请对998244353取模输出。 Solution 考虑每个点的贡献,容易得到如下式子:...

2019-04-25 07:30:42 116 0

原创 [BZOJ]4160: [Neerc2009]Exclusive Access 2 状压DP+Dilworth定理

Description 给出 N 个点M 条边的无向图,定向得到有向无环图,使得最长路最短。 N ≤ 15, M ≤ 100 Solution 大家都知道Dilworth定理的其中一个内容:最小路径覆盖=最长反链。 实际上与之相似的是:最长路=最小反链划分数。 这个东西虽然比较显然,但是之前没有接...

2019-04-17 12:06:24 187 0

原创 [AGC028] E - High Elements 思维

Solution 考虑知道前面的一段后,怎么判断后面是否合法,这样就可以逐位确定。 先上一个结论:令mximx_imxi​为原序列111~iii的最大值所在位置,我们称原序列中每个mxi=imx_i=imxi​=i的位置为上升位,分割后的序列的新的上升位为新晋上升位,那么若存在一种合法方案,一定可...

2019-04-16 20:40:50 248 1

原创 [LOJ]#2720. 「NOI2018」你的名字 后缀自动机+主席树

Solution 首先讲一下一个68分的水法:建广义SAM,然后每次询问完之后暴力撤销,复杂度未知。 这种做法本身复杂度好像就不对,而且也没法扩展,考虑另外的做法。 考虑每个询问串前缀的贡献。首先要保证本质不同,所以先求出每个前缀的最短的没有在之前出现过的后缀,这个可以对每个询问串建SAM求。然后...

2019-04-13 17:00:09 208 0

原创 [Codeforces] 1037 H. Security 后缀自动机+主席树

Solution 这题思路还是比较简单的。 由于∑∣S∣\sum|S|∑∣S∣较小,所以可以枚举答案前多少位是和给出的串是一样的,再枚举下一位填什么,这样问题就转化为快速判断一个区间中某个字符串是否出现过。 把parent树建出来后,就是询问某个点子树中有没有值域在某个范围内的点,可以用主席树解决...

2019-04-11 17:26:48 141 0

原创 [LOJ]#572. 「LibreOJ Round #11」Misaka Network 与求和 min_25筛+杜教筛

Solution 推一下式子,容易得到一个线性做法:∑d=1nfk(d)((2∑i=1⌊ni⌋φ(i))−1)\sum_{d=1}^nf^k(d)((2\sum_{i=1}^{\lfloor{n\over i}\rfloor}\varphi(i))-1)d=1∑n​fk(d)((2i=1∑⌊in​...

2019-04-09 13:23:09 184 4

原创 [Codeforces] 1109F. Sasha and Algorithm of Silence's Sounds LCT+线段树

Solution 假如要求的不是一棵树而是一个森林那就很好做,直接用一个双指针+LCT就可以对每个右端点维护出没有环的左端点。那么树这个限制怎么解决呢?树也就是连通块只有一个,而连通块数=点数-边数,用一个线段树维护这个东西就行了。 Code #include<bits/stdc++.h&g...

2019-04-05 13:33:44 91 1

原创 [Codeforces] 888G. Xor-MST Boruvka算法/分治+01trie

Solution 经典的异或最小生成树,我所知道的有两个做法,分别介绍一下。 1、最小生成树的Boruvka算法。 这个最小生成树算法大概流程是把开始的nnn个点视为nnn个连通块,然后每次每个连通块找到一条连向其他连通块的权值最小的边并连起来,这样每次至少减少一半的联通块数,复杂度为O(nlog...

2019-04-05 12:05:58 108 0

原创 [LOJ]#2731. 「JOISC 2016 Day 1」棋盘游戏 DP

Solution 首先判断无解:四个角没有棋子或者第一、三行连续两个没有棋子。 然后通过观察可以发现,按照空格的四连通块来划分的话,每个连通块之间是互不影响的。所以可以对每个连通块分别DP,最后再用组合数把各个连通块给拼起来。 设fi,j,0/1f_{i,j,0/1}fi,j,0/1​表示第二行的...

2019-04-03 07:26:59 93 1

原创 [AGC031]E - Snuke the Phantom Thief 费用流

Solution 假设我们一共选了kkk个,那么假如x≤ax\le ax≤a最多选bbb个,那么xxx第b+1b+1b+1大的宝石的xxx必须大于aaa,假如x≥ax\ge ax≥a最多选bbb个,那么xxx第k−bk-bk−b大的宝石的xxx必须小于aaa。 也就是说只要枚举选了多少个,那么对于...

2019-04-02 19:12:21 302 0

原创 [HDU]6326 Problem H. Monster Hunter 贪心

Solution 回顾一下经典的打怪兽问题。 设打死一只怪兽先掉aia_iai​血,再回bib_ibi​血,那么我们排序策略是:对于ai≤bia_i\le b_iai​≤bi​,aia_iai​小的排在前;对于ai&gt;bia_i&gt;b_iai​>bi​,bib_i...

2019-03-25 21:21:50 91 0

原创 [BZOJ]5259: [Cerc2017]区间 线段树

Description 给定一个1到n的排列a1, . . . , an。 对于一个区间[l, r],我们称该区间是连续的,如果将al, . . . , ar排列之后得到的是一列连续的数。 (换句话说,如果x,y都在该区间中,那么所有介于x,y之间的数也在该区间中) 现在有m(1 ≤ n,...

2019-03-25 19:06:12 202 0

原创 AtCoder Grand Contest 031 C - Differ by 1 Bit 构造 归纳法

Solution 下面基本都是题解的中文翻译。 为了方便,称一个数的奇偶性为二进制表示中111个数的奇偶性。 首先判掉无解,即AAA与BBB奇偶性相同,因为每次有一位不同,所以每次奇偶性会变。 下面用归纳法证明其他情况都是有解的。n=1n=1n=1时显然有解,假设n=kn=kn=k时有解,现在证明...

2019-03-17 21:47:41 154 1

原创 [BZOJ]3711: [PA2014]Druzyny 分治+线段树

Description 体育课上,n个小朋友排成一行(从1到n编号),老师想把他们分成若干组,每一组都包含编号连续的一段小朋友,每个小朋友属于且仅属于一个组。 第i个小朋友希望它所在的组的人数不多于d[i],不少于c[i],否则他就会不满意。 在所有小朋友都满意的前提下,求可以分成的组的数目的最大...

2019-03-15 13:44:35 117 0

原创 [BZOJ]4730: Alice和Bob又在玩游戏 sg函数+trie

Description Alice和Bob在玩游戏。有n个节点,m条边(0&lt;=m&lt;=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最小的点。Alice和Bob轮流操作,每回合选择一个没有被删除的节点x,将x及其所有祖先全部删除,不能操作的人输。注:树的形态是...

2019-03-15 13:02:29 171 0

原创 [BZOJ]4180: 字符串计数 SAM+矩阵乘法+二分

Description SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999。 他给出了一个字符串T,字符串T中有且仅有4种字符 ‘A’, ‘B’, ‘C’, ‘D’。现在他要求蒟蒻yts1999构造一个新的字符串S,构造的方法是:进行多次操作,每一次操作...

2019-03-14 17:37:06 51 0

原创 [BZOJ]4844: [Neerc2016]Foreign Postcards 概率DP

Description ls是一名集邮爱好者,他专门有一个栈来存放他的所有的邮票,但ls同时也是一名很粗心的人,有一些邮票可能放反了(上下颠倒),有一天他想把他的邮票拿出来向他的妹子炫耀,但因为有一些邮票可能反了,于是ls就想把那些邮票矫正方向,但ls特别懒,他觉得一张一张矫正太费时间了,即使是要...

2019-03-14 15:20:11 75 0

原创 [BZOJ]4987: Tree 树形DP

Description 从前有棵树。 找出K个点A1,A2,…,Ak。 使得∑dis(AiAi+1),(1&lt;=i&lt;=K-1)最小。 Solution 这道题首先要用到一个结论,即ans=最小的包含A1到Ak的连通块中所有边的和×2−这个连通块直径ans=最小的包含A_1...

2019-03-13 17:48:55 167 0

原创 [BZOJ]5068: 友好的生物 放缩

Solution 猜到复杂度……却依然不会做…… 这个方法感觉和不等式证明中的放缩法有点类似,所以我个人这样称呼…… 先把CiC_iCi​乘进去,把式子写出来:∑i=1k−1∣ai−bi∣−∣ak−bk∣\sum_{i=1}^{k-1}|a_i-b_i|-|a_k-b_k|i=1∑k−1​∣ai​...

2019-03-13 17:42:12 59 0

原创 [BZOJ]4849: [Neerc2016]Mole Tunnels 模拟费用流

Description 鼹鼠们在底下开凿了n个洞,由n-1条隧道连接,对于任意的i&gt;1,第i个洞都会和第i/2(取下整)个洞间有一条隧道,第i个洞内还有ci个食物能供最多ci只鼹鼠吃。一共有m只鼹鼠,第i只鼹鼠住在第pi个洞内,一天早晨,前k只鼹鼠醒来了,而后n-k只鼹鼠均在睡觉,前...

2019-03-13 12:30:39 77 2

原创 [BZOJ]5219: [Lydsy2017省队十连测]最长路径 DP

Description 在Byteland一共有n个城市,编号依次为1到n,它们之间计划修建n(n-1)/2条单向道路,对于任意两个不同的点i和j,在它们之间有且仅有一条单向道路,方向要么是i到j,要么是j到i。换句话说,这是一个n个点的竞赛图。Byteasar居住在1号城市,他希望从1号城市出发...

2019-03-11 07:26:48 79 0

原创 [LOJ]#2736. 「JOISC 2016 Day 3」回转寿司 分块

Solution 显然每次操作是要选一个上升子序列, 然后把整体往后推,去掉一个最大值,加入AAA,考虑怎么维护。 看见数据范围和时限,大胆猜测是分块。这里采用一种类似线段树中lazylazylazy标记的思想。对于中间的整块,显然是加入AAA之后出来一个最大值,我们每个块用一个堆维护最大值,暂时...

2019-03-07 22:35:19 158 0

原创 [LOJ]#2472. 「九省联考 2018」IIIDX 线段树+贪心

Solution 按照大小关系连边之后得到一棵树,然后肯定是每次填入尽量大的数,如果当前连到第xxx个点,那么就需要知道当前能用的数中最大的一个有sizexsize_xsizex​个数大于等于它的数,考虑如何维护这个东西。如果直接维护现在每种数剩下多少个,就很难搞,反正我是没有搞出来,考虑换一个东...

2019-03-07 22:28:23 88 0

原创 [LOJ]#2773. 「ROI 2017 Day 2」学习轨迹 线段树

Solution 如果只上一所学校的课,那么显然要选择这所学校的所有课程。因此,至少有一所学校选择的课程权值超过了这所学校总权值的一半。不妨强制第一所学校要超过,那么设第一所学校第一次前缀和超过总权值一半的位置为ppp,则这个位置一定要被选择。在第二所学校选择了一些课程后,一定是从ppp开始,尽...

2019-03-06 22:34:46 256 0

原创 [LOJ]#6515. 「雅礼集训 2018 Day10」贪玩蓝月

Solution 离线做法很简单,就是线段树分治,不过复杂度是qmodlog⁡qmod\logqmodlog。 考虑在线做法,在线段树分治中,我们并没有利用到删除以及加入都只会在两端进行这个性质,我们考虑用两个栈分别维护两端,每次加入一个数就暴力做背包,删除就删除栈顶。当某一个栈被删空了之后,就把...

2019-03-05 07:34:18 349 0

原创 [LOJ]#2838. 「JOISC 2018 Day 3」比太郎的聚会 根号分治

Solution 以后不会做题还是要考虑根号分治啊…… 对于给出点数≥n\ge\sqrt n≥n​,直接O(n)O(n)O(n)DP; 对于给出点数&amp;lt;n&amp;lt;\sqrt n&lt;n​,可以预处理:对于每个点,预处理出离他最远的n\sqrt nn​个...

2019-03-03 19:37:48 140 0

原创 [LOJ]#2344. 「JOI 2016 Final」铁路票价 最短路

Solution 先BFS一次跑出最短路,然后动态维护每个点现在还有多少个直接连到它的点能够通过最短路走到它就可以了。每个点的值最多只要一次变为000,复杂度是线性的。 Code #include&lt;bits/stdc++.h&gt; using namespace std; ...

2019-03-03 19:31:53 170 0

原创 [BZOJ]5306: [Haoi2018]染色 容斥+NTT

Solution 设fif_ifi​为至少有iii种颜色出现恰好sss次的方案数,gig_igi​为恰好有iii种颜色出现恰好sss次的方案数,那么通过观察或者推导,可以得知容斥系数,那么有:gi=∑j=im(−1)j−iCjifjg_i=\sum_{j=i}^m(-1)^{j-i}C_j^if_...

2019-03-03 17:31:26 108 0

原创 JXOI2017题解

「JXOI2017」加法 先二分答案,求出每个位置需要被覆盖多少次,那么从左往右扫,对于每个位置,如需被覆盖xxx次,那就贪心的选择前xxx个能覆盖到他且覆盖的最远的xxx条线段。随便维护一下即可。 Code #include&lt;bits/stdc++.h&gt; using ...

2019-03-01 08:05:36 103 0

原创 JXOI2018题解

「JXOI2018」游戏 显然只要检查完所有除自己外没有范围[l,r][l,r][l,r]的因数的数就可以使所有办公室开始认真工作,那么只需要求出这种数有多少,后面就随便算了。那么只需要知道最大因数是否在[l,r][l,r][l,r]内,线性筛出每个数的最小质因数就可以知道最大因数了。 Code ...

2019-02-28 17:48:05 80 0

原创 [LOJ]#2553. 「CTSC2018」暴力写挂 边分治+线段树合并

Solution 这题搞了好久……不过还是挺有收获的。 听说这种多棵树的题大概都是这样的套路?枚举第二棵树的LCA(x,y)LCA(x,y)LCA(x,y),然后化一下式子可以发现:depthx+depthy−depthLCA(x,y)=12(depthx+depthy+distancex,y)d...

2019-02-28 13:42:15 99 0

原创 [LOJ]#2554. 「CTSC2018」青蕈领主 DP+分治NTT

Solution 首先,连续段只会包含而不会相交,而且每个连续段向第一个包含它的连续段连边,就会形成一个树的结构。这个如果无法理解可以看LCA今年营员交流。 然后设当序列为1,1,1...n1,1,1...n1,1,1...n的时候的答案为fnf_nfn​,每个点的儿子个数为bib_ibi​,那么...

2019-02-27 08:05:05 94 0

原创 [LOJ]#2552. 「CTSC2018」假面 DP

Solution 对于op=0op=0op=0,直接维护fi,jf_{i,j}fi,j​表示第iii个人此时剩下jjj点生命值的概率即可。 对于op=1op=1op=1,需要知道每个人在存活的情况下存活iii个人的概率,这其实是可以DP的,用的是消失之物这道题的一个做法,设sjs_jsj​为在kk...

2019-02-27 07:40:42 62 0

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