自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 bzoj 2724: [Violet 6]蒲公英

分块提供几个必须要知道的注意事项。首先暴力统计区间众数的时间复杂度为接近\(O(n^2)\),时间复杂度不够优秀,所以我们 遇事不决先分块考虑分段处理。数据范围比较大,所以我们离散化。所谓离散化就是将数据排好序后用ta的排名来代替ta本身(需要另开一个数组)。\(nlog(n)\)时间内就能完成。void yych()//离散化 { len=sqrt(n); me...

2019-09-22 11:39:00 105

转载 bzoj 4552: [Tjoi2016&Heoi2016]排序

ODT&二分看到没有人写关于ODT的题解,所以我决定来一发ODT题解。首先这道题的的整体思路就是二分,关于二分的正确性可以感性的理解一下:我们每一次二分一个答案,然后将\(<mid\)的值变为1,\(\geq mid\)的变为0,每一次只用对0/1序列进行操作,倘若最后我们询问的位置上为0,说明这个位置上的值\(< mid\),否则就\(\geq mid\),所以...

2019-09-20 21:22:00 126

转载 Luogu P5350 序列

ODT这道题目太毒瘤啦,经过了无数遍的TLE、WA,和RE(TAT),我终于了解了珂朵莉树的强(R)大(E),我会详细的介绍关于TLE,WA和RE的原因。首先我们看到区间赋值操作和保证数据随机,我们的第一直觉肯定是幸福的珂朵莉树啦,虽然在刻意构造的数据下她的时间复杂度是错误的,但是在随机数据下她的表现十分优秀,甚至可以碾压其他数据结构。1.首先是split操作,这是ODT的基本操作...

2019-09-20 07:45:00 135

转载 UVA12663 【High bridge, low bridge】

差分题目大意:一共有n座桥,每个桥都有一个高度,海水每次都会涨落,问被淹次数大于等于k的桥一共有多少座。对于海水的涨落,可以看成是区间加法(被淹的桥次数加一),暴力搞的话肯定会TLE,所以我们珂以用差分来实现区间加法,从l到r加上x就相当于差分数组里的l处+x,r+1处-x,因为这个题还需要记录上一次海水所在的位置,所以我们珂以这样写:for(int i=1;i<=m;++i...

2019-09-19 10:28:00 74

转载 Luogu P2618 数字工程

DP根据题目下面的提示&说明,我们就能知道做这个题的大体思路:先求出来每一个数的素数因子,然后就开始DP。求素数因子的方法就是用类似于欧拉筛的操作,倘若一个数一直都没有被筛到过,那么ta就是一个素数,然后我们就可以用ta来继续筛其它的数,并且我们只用筛ta的倍数,因为只有ta的倍数才含有这个素因子,被筛到的数一定要及时打上标记 不要问我为什么那么我们需要开多大的数组来记录素因...

2019-09-17 20:43:00 76

转载 Luogu P1462 通往奥格瑞玛的道路

搜索提供一种不一样的做法。我在写这个题的时候刚刚学了二分和搜索 还不会最短路,就把这个题当做二分题写了。可能是数据比较水吧。首先看到最小值最大或者最大值最小,我们的第一直觉就是二分答案。我们二分最大值,我们只走那些小于等于二分的答案的路,如果我们能够走到终点,就说明我们设置的条件比较弱,我们就可以减小二分的答案,当我们走不到终点的时候,就说明我们二分的条件比较严,我们就应该调大我们...

2019-09-17 19:22:00 84

转载 高精度模板

众所周知,高精度一直都是非常不友好滴~,所以wljss在这里为大家提供一下重载后的结构体高精度(可处理负数),还是非常实用滴^_^.本模板不定期更新,若有错误之处还望不吝赐教,目前重载的符号有:1.*:高精度乘法 2.+:高精度加法 3.-:高精度减法 4./:高精除低精 5.>>:高精度cin读入 6.<<:高精度cout输出。 #include<i...

2019-09-16 20:59:00 122

转载 Luogu P1797 克鲁斯的加减法_NOI导刊2010提高(05)

高精&模拟提供一种不一样的高精度写法。我们可以使用结构体来模拟高精度,顺便重载一下\(+\) \(-\) \(\times\)就可以啦。但是我们很快就会发现一些问题,如果正数减负数怎么办?用Pascal当然是大力讨论啦。我们可以先不管数的正负,在进行加减的时候只处理 正数加正数 和 大的整数减小的正数,如果有负数就变号再进行加减法。乘法的话遵循同号为正数异号为负就可以啦。另...

2019-09-16 08:04:00 100

转载 UVA11825 Hackers' Crackdown

状压DP首先感谢lrj的透彻讲解.我们要使一项服务瘫痪,就必须选择一些计算机,使它们与他们所相连的计算机是所有的计算机,即:我们将每一个计算机本身及其相连的计算机看成一个集合\(P_i\),我们要分成尽量多的集合,使每一个集合里\(Pi∪...∪Pj\)为全集。我们又发现n的值比较小,因此我们可以考虑一下状压,\(P_i\)的每一位表示\(i\)号计算机的联通情况,\(C_i\)(...

2019-09-11 21:08:00 85

转载 bzoj 3155: Preprefix sum

树状数组我们需要求的是\(\sum_{i=1}^{k}S_i\) ,即\(\sum_{i=1}^{k}\sum_{j=1}^{i}a_i\).暴力求解肯定是不行的,化简式子是OIer的优良传统,所以我们可以考虑化简一下式子。我们可以考虑一下每一个元素对前前缀合的贡献,第\(i\)个数被\(i\)~\(k\)之间的每一个\(S_j\)都计算了一遍,所以它的贡献就是\((k-i+1)\...

2019-09-11 11:44:00 86

转载 bzoj 1854: [Scoi2010]游戏

二分图匹配我们都能够想到让每个装备和它的属性去连边.首先提供一种初步想法:如果我们闭着眼去跑二分图匹配的最大匹配,那么我们得到的答案很显然是错误的.因为我们在得到最大匹配的时候没有考虑从\(1\)到\(n\)的连续性。那我们该怎么办呢?睁开眼再去跑二分图匹配的最大匹配我们可以二分一个答案,我们只对小于等于\(mid\)的属性去跑最大匹配,最后看看匹配的点的个数是否等于mid,如...

2019-09-10 20:14:00 61

转载 UVA1608 不无聊的序列 Non-boring sequences

分治首先感谢lrj的透彻讲解。开始的时候我们可以用map来求出一个数的上一次出现的位置和下一次出现的位置,然后能判断一个数在\(l\)到\(r\)中这个数是否只出现了一次。既然任意连续子序列都至少有一个元素唯一,那么我们可以找到这个序列中一个唯一存在的数,我们姑且认为ta的下标是k,进而我们发现任何包含这个数的区间都不是无聊的区间。所以我们可以接着判断\(l\)到\(k-1\)的...

2019-09-10 18:04:00 212

转载 UVA1747 【Swap Space】

贪心对于每一项的交换,设交换前内存为a,交换后内存为b,那么就有a>b或\(a \le b\)。我们分开处理,将a>b的分为一类,a \le≤ b分为另一类,显然,我们将第一类按照a从小到大排序更优,这样我们就可以用较少的空间换取更大的空间。将第二类按b从大到小排序,这样我们能花费较少的空间来换取空间。记录下剩余的空间的同时记录一下需要的最大空间即可。献上我又臭又长...

2019-09-10 12:01:00 102

转载 Luogu P5550 Chino的数列

矩阵加速递推n的范围比较小,k的范围很大,我们可以考虑从n入手。1.首先我们知道任何矩阵*单位矩阵都不会改变.所以对于交换操作,我们可以造出一个这样的矩阵:除了第s、m行,其他每一行都是f[i][i]=1;第s行:f[s][m]=1;第m行:f[m][s]=1;这样我们就完成了交换操作。2.对于左移操作,我们也可以造出一个这样的矩阵:除了第n行,其他每一行都是f[i][...

2019-09-10 11:56:00 77

转载 bzoj 1799: [Ahoi2009]self 同类分布

数位DP|记忆化搜索听隔壁巨佬说DP和记搜可以互相转换显然这个题是可以用记忆化搜索过的,那我们应传哪几个参数?首先就是记搜最基本的位置标记。然后就是枚举的数字各位之和,以及取模之后的余数(判断能否整除某个数)。最后就是判边界的参数。当我们搜到最后一位时如果余数为0,并且各位之和=mod,那就直接返回1,否则返回零。显然我们把这几个数装进数组里,是开不下的。long lon...

2019-09-10 11:44:00 66

转载 bzoj 1054: [HAOI2008]移动玩具

状压bfs一共有16个位置,最多会有 \(2^{16}=65536\) 种情况,用数组完全开的下。用二进制中的1表示该位置有玩具,0表示该位置没有玩具。由于广搜最先搜到的是最优解,直接用数组记录是否到达过该状态,顺便记录ans.移动前的状态ans为0.然后大力讨论12种情况即可时间复杂度O( \(2^{16}\) )O(能过)献上我又臭又长的代码#include<...

2019-09-07 19:43:00 144

空空如也

空空如也

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

TA关注的人

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