自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 曲神的hu测 T2.Van(左偏树+dp)T3.Gay

版权属于yhzq,想要引用此题(包括题面)的朋友请联系博主T2.Van 分析: 这样把博弈黑出翔真的好吗。。。首先我们要明确怎么计算一个序列的最长Van序列 这就和花匠那道题有异曲同工之妙了 我们只需要找到序列的所有折点即可k=1这种情况下我们只能把序列中的每一个数变成一样的 显然都变成中位数最优 “中位数定理”的玄学证明k=2这种情况下...

2018-03-31 19:42:33 752

原创 曲神的hu测 T1.FaQ(可持久化Trie)

版权属于yhzq,想要引用此题(包括题面)的朋友请联系博主 分析: 原创题,题面真的。。。感觉对不起博弈。。。yy了一种很科学的做法:首先,我们把这些字符串扔到一棵TrieTrieTrie上 那么两个字符串的lcplcplcp就是这两个字符串ededed结点在TrieTrieTrie上的lcalcalca的深度 不明白?参考一下这道题(顺便帮我刷刷访问量)我...

2018-03-31 17:09:45 210

原创 反演&&杜教筛

大力鸣谢曲神的blog反演曾经naive的博主写的反演讲解 反演中常见公式杜教筛从未见过如此厚颜无耻之博主,说好了要讲反演nei,为什么只给两个链接??? 好吧,我承认这篇文主要是想说说自己对杜教筛的崭新认识,所以下面才是正文。。。学杜教筛之前,一定要做一件事:%糖教简介杜教筛是干什么的内?求解积性函数前缀和的有力工具 划重点:积性函数,前缀和...

2018-03-31 15:23:57 340

原创 主席树全纪录

主席树主席树讲解 感觉主席树就是一种功能强大的“前缀和” 裸题当然不多了,不过主席树的题目还是有一些特征的需要支持线段树的操作,同时需要历史版本多半解决第k大(权值主席树,可以查询小于某个值的元素个数) 重要的事情:可以查询小于某个值的元素个数,可以查询小于某个值的元素个数,可以查询小于某个值的元素个数主席树的形式是多种多样啦 比较常见的是建立在序列上:序列下标,时间推移 ...

2018-03-30 20:14:37 524

原创 bzoj3190 [JLOI2013]赛车(半平面交+单调栈)

题目链接分析: 在任一时刻ttt,赛车iii的位置为:gi+vitgi+vitg_i+v_it 我们可以得到若干形如上式的方程,对于每一辆赛车,询问是否存在一ttt使得gi+vitgi+vitg_i+v_it最大一次函数形式,如果我们把这些式子画到二维平面上,就得到若干直线 青色(淡蓝色,水蓝色,管你什么蓝色)的线标出来的就是获奖赛车 显然,我们只需要把这nnn条直线求一个半平...

2018-03-30 17:00:31 237

原创 DP(Nietzsche)的hu测 T1(状压dp)

版权属于DP,想要引用此题(包括题面)的朋友请联系博主 分析: 整套题中唯一正常的题,真的没有什么可说的,甚至不想骂街。。。写了8K的代码,结果WA了,就是这么衰!!! 发现是我对这道题的理解有问题:我们取完R-1个物品之后,如果要向一个方向移动,而这个方向有物品,我们就要取这个物品 也就是说我们不一定取的恰好是R-1个,应该表述为至少R-1个 而这种情况只会出现在R-1=0...

2018-03-30 16:43:46 181

原创 DP(Nietzsche)的hu测 T3(规律?主席树)

版权属于DP,想要引用此题(包括题面)的朋友请联系博主 分析: 这道是结论题 A or B+A and B=A+BA or B+A and B=A+BA~or~B+A~and~B=A+B假设我们找到区间中最大的数AAA 则在ta旁边的任意一个数小于ta,A or B+A&nbsp...

2018-03-30 16:09:30 162

原创 DP(Nietzsche)的hu测 T2(dp)

版权属于DP,想要引用此题(包括题面)的朋友请联系博主 分析: 首先我们要明确一个长度为lll的序列有多少种串法 假设我们从iii位置开始穿入,那么我们只有两种选择:i+1,i−1i+1,i−1i+1,i-1 如果我们把穿过的珠子都删掉,那么每次我们还是只有两种选择:i+1,i−1i+1,i−1i+1,i-1 所以一个长度为lll的序列有2l−12l−12^{l-1}钟穿法之...

2018-03-30 15:31:33 188

原创 扫描线+可并堆全纪录

两个看似没什么关联的数据结构,因为两者做的题都不多所以放到一起总结一下扫描线感觉扫面线的经典题目就是面积和周长,不过有时候题目的转化也是挺巧妙的 例如:给出若干有权点和一个矩阵,求矩阵能框住的最大权值 我们把每个点看做是一个矩阵,求这些矩阵∩的最大值,扫描线求最大值即可经典例题:扫描线求矩形面积并 经典例题:扫描线求矩形周长并 经典例题:扫描线+主席树由于扫描线多在平面...

2018-03-29 19:59:22 290

原创 hdu1828 Picture(扫描线求矩形周长并)

题目链接分析: 从左往右在每一次插入一条边后,周长并的累加值=新增的竖边+新增的横边原题重做 代码重构了一下,这样就和求矩阵面积并的代码统一起来了(好记)随意看一下代码:我们是在y坐标上建立线段树: 在处理矩形信息的时候,我们拆成两个操作 对于x坐标相同的操作,我们先插入再删除(处理重边)int cmp(const point &a,const poin...

2018-03-29 17:46:47 568

原创 计算几何全纪录

计算几何,分为二维和三维二维计算几何二维计算几何基础入门二维计算几何中,应用比较广泛的就是凸包和半平面交凸包几何意义上的凸包比较好理解 但是很多dp,分治题目中状态转移的最优点满足某种单调性,也就是说优秀转移点在凸包上 这种性质可能不好判断,不过斜率优化dp就是凸包和dp的完美结合经典例题:凸包 经典例题:线段树分治+凸包 经典例题:分块+凸包+三分注意...

2018-03-29 15:13:29 287

原创 bzoj4031 [HEOI2015]小Z的房间(矩阵树定理)

题目链接分析: 从题目限制我们可以得到这种图中有哪些边可以存在 因为任意两个房间之间都只有一条通路,那么得到的一定是一棵树 因此题目转化成:图的生成树个数 矩阵树定理即可tip注意柱子是不能算结点的 注意取模,矩阵中不要有负数 一开始我把矩阵消成了对角线形,结果WA了,消成上三角性就A了 看来保险起见,求解行列式的时候还是消成上三角#include<cstdi...

2018-03-29 09:14:21 219

原创 SPOJ - DETER3 Find The Determinant III(行列式求值+gauss)

题目链接题目描述:求行列式的值(模一正数)分析: 我们要用gauss消元将行列式消成上三角,计算对角线乘积 因为模数不一定是质数,所以gauss消元时不能用费马小定理求逆元了 我们就要用辗转相除法的gauss 每次消元(第jj行)时,默认a[j][i]>a[now][i]a[j][i]>a[now][i](被消元的主元小) 记x=a[j][i]/a[now][i]x=...

2018-03-29 08:03:59 213

原创 UVa 10766 Organising the Organisation(矩阵树定理)

题目链接题意: 给出n,m,k,n,m,k,代表一家公司有nn个部门,有mm组关系,表示ii和jj不能直接联通,kk代表主管部门,询问有多少种分层方案题解: 首先题面看不大懂,直接找到前辈的题目描述Ctrl+C一下 其次,这道题的k可以忽略掉,所以ta的范围完全是吓唬人的那么这道题就是求nn个点的有编号无根树数量 有编号无根树的一种有力的解决方法就是Prufer编码 但是...

2018-03-29 06:57:17 267

原创 Matrix-Tree定理(sx之前填坑还来得及吗)

从入门到入土:矩阵树Matrix-Tree定理 参考blog在正式介绍Matrix_Tree定理之前,我们需要一些前置知识一些定义与定理对于一个无向图GGG,ta的生成树个数等于其基尔霍夫Kirchhhoff矩阵任何一个N−1N−1N-1阶主子式的行列式的绝对值所谓N−1N−1N-1阶主子式就是对于任意的一个r,将矩阵的第rrr行和第rrr列同时删去得到的新矩阵基尔霍夫Ki...

2018-03-28 20:53:39 742

原创 块状链表全纪录

块状链表的简单介绍块状链表,可以说是一种很犯规的数据结构 支持动态的序列加入删除,询问区间和之类的操作同时拥有数组和链表的优点: 数组: 所有数据在内存中是紧凑储存的,优点是定位快:O(1) 链表: 通过指针将不同位置的元素链接起来:修改快 O(1)总的来说重要操作只有几个: 定位,分裂,插入,合并块状链表基础操作虽然说是链表,但是在实现的时候,我们还是用数组模拟 ...

2018-03-28 17:43:20 550

原创 loli的毒瘤hu测 T2&&T3

T2.tree(矩阵树定理+gauss) 分析: 这道题的爆搜真的恶心。。。 可以放出来吓吓人:const ll p=1e9+7;const int N=100005;struct node{ int x,y;};node t[N][31];int n,m,Q[N],deep[N],tot=0;ll ans=0;map<ll,int> mp;...

2018-03-28 15:23:26 287

原创 loli的毒瘤hu测 T1.game(博弈+bfs)

分析: 一眼博弈 博弈有两个很重要的原则: 必胜态至少有一个后继是必败态 必败态的所有后继都是必胜态于是考场上我就dfs瞎搞得了点分实际上这道题的博弈树结点数量最多只有2n2n2n个 即先手为Alice或Bob且棋子在1−n1−n1-n位置上 首先我们知道棋子位于位置1的两个结点都是必败态 如果某个结点的后继都是必胜态,那么ta就是必败态 如果后继中...

2018-03-28 14:31:03 199

原创 字符串全纪录

字符串可以说是我比较薄弱的一块(想当初c++入门的时候就没有系统的学过字符串的读入。。。)KMPKMP算法是一种改进的字符串匹配算法 用于解决询问串中出现了多少次模式串 可以说是字符串中最简单的一种算法了匹配串的时候,如果匹配成功,模式串指针也要跳到失配上,便于下一步的匹配//字符串下标从0开始int t[N];void KMP() { t[0]=-1;...

2018-03-27 21:47:15 298

原创 COGS 2294 [HZOI 2015] 释迦(NTT mod any prime)

题目描述: 找不到传送门。。。 给两个次数界为n的多项式,求这两个多项式的乘积,输出x的0次项到n-1次项的系数 mod 23333333分析: %真正的dalaoNTT只能求在特定模数下 的值 对于任意模数,我们可以选择三个FFT模数分别做NTT,最后用CRT合并一次卷积后每个数可以达到1023(n∗mod2)1023(n∗mod2)10^{23}(n*mod^2)左右,所以...

2018-03-27 16:47:40 215

原创 FFT/NTT全纪录

FFT快速傅里叶变换,那么FFT到底有什么作用呢? 简单来说就是计算∑ni=0aibn−i∑i=0naibn−i\sum_{i=0}^{n}a_ib_n-i浅谈生成函数+卷积+FFT最常见的就是生成函数和FFT的结合(FFT只是计算的一种工具) 经典例题:生成函数+FFT 然而更进一步,生成函数是组合数学的一部分啊,可以解决从若干个集合中取元素得到贡献X的方案数 所以如果我...

2018-03-27 13:49:55 731

原创 线性规划+01分数规划全纪录

可能是因为名字里都有“规划”,所以才放在一起总结线性规划线性规划讲解一:引入 线性规划讲解二:单纯性算法线性规划问题有一些经典特征:若干变量之间满足等式或不等式的关系 目标函数可以抽象成若干变量的线性形式 求解最优解(最小或最大)常见的解决方法:单纯形算法: 只针对松弛型线性规划(等式) 一般情况下,约束条件和目标函数是若干变量之和的形式差分约束:...

2018-03-27 10:38:16 1977

原创 CH Round#17 舞动的夜晚(网络流+tarjan)

舞动的夜晚 CH Round #17描述 L公司和H公司举办了一次联谊晚会。晚会上,L公司的N位员工和H公司的M位员工打算进行一场交际舞。在这些领导中,一些L公司的员工和H公司的员工之间是互相认识的,这样的认识关系一共有T对。舞会上,每位员工会尝试选择一名Ta认识的对方公司的员工作为舞伴,并且每位员工至多跳一支舞。完成的交际舞的数量越多,晚会的气氛就越热烈。顾及到晚会的气氛,员工们希望知道,哪...

2018-03-27 09:01:01 419

原创 高斯消元+线性积全纪录

高斯消元高斯消元,方程组求解高斯消元的题目一般有以下特点:可以列出方程一般没有阶段性和次序性(不同于dp或搜索)由若干个状态确定一个已知状态最基础的,我们用double类型进行gauss 但是这种gauss有一个小缺陷:精度损失(毕竟gauss里面会有大量的除法) 以前有一道题就被卡精度,所以需要把系数化为一放在外面做法总结如下: 首先我们枚举未知量ii,同时记录一个n...

2018-03-26 21:55:23 622

原创 hdu5755 Gambler Bo(gauss解同余方程)

题目链接题目描述: 一个n∗mn∗mn*m由0,1,2组成的矩阵,每次操作可以选取一个方格,使得ta加上2之后对3取模,周围的四个方格加上1后对3取模,在n∗mn∗mn*m操作次数内让整个矩阵变成0。输出一种方案。分析: 模数好啊,原数=逆元状压dp枚举每一行肯定不行了 然而想到了开灯问题,这道题可以用高斯消元!设直接操作(i,j)(i,j)(i,j)的次数为xi,jxi,j...

2018-03-26 21:35:10 204

原创 2-SAT全纪录

blog里没有特别详细的讲解,所以献上dalao的讲解 不过2_SAT的模型还是很典型的:形式有点想网络流给出若干集合,集合大小一般为2一般每个集合中必选一个元素,非此即彼元素之间有一些奇怪的限制我们通过这些限制条件建图,永远记住:沿着图上的边前进代表must choose一个限制条件可能需要多条边去表示,所以记录端点和边的空间一定要计算清楚2_SAT的精髓还是在于如何建图...

2018-03-26 17:43:35 371

原创 loli终于又来hu测了 T3.回文串(dp+矩阵加速【difficult)

分析: 神题 心里默念着不能放弃,于是10分到手30%题意相当于问有多少回文串包含sss这个子序列 考虑如果判断一个回文串中是否包含子序列sss 我们可以从小到大枚举iii,分别用aiaia_i和an−i+1an−i+1a_{n-i+1}去匹配当前sss两端的字母,并将sss中被成功匹配的字符删去, 我们可以据此进行dp,设f[i][l][r]f[i][l][r]...

2018-03-26 16:33:44 230

原创 loli终于又来hu测了 T2.青蛙(差分+置换)

分析: 看到k的范围真的大,所以以为要用矩阵乘法,但是1000*1000不是矩阵乘法的数据范围 所以打了个20分就跑了40%实际上,由期望的线性性我们可以得到每个跳跃点的期望计算公式: x′i=(2xi−1−xi)+(2xi+1−xi)2=xi−1+xi+1−xixi′=(2xi−1−xi)+(2xi+1−xi)2=xi−1+xi+1−xix_i'={(2x_{i-1}-...

2018-03-26 14:51:16 356

原创 loli终于又来hu测了 T1.运动会(贪心)

分析: 显然最坏情况就是我们每个项目都选择,就可以得到一个答案上限 贪心的,如果我们想让答案减少,就找到当前被选择次数最多的体育项目刨除 至于那些选择了这个项目的运动员,顺延一下就好了 (可以证明这个贪心的正确性) 时间复杂度:O(nm)O(nm)O(nm)tiphu测的时候没有立刻想到正解, 先想到了二分,然而在考虑如何二分判定的时候发现了正解 所以还是那个原则:相...

2018-03-26 14:06:11 174

原创 网络流全纪录

网络流最明显的特征就是:既像dp,又像贪心 一些匹配向问题都可以往网络流方向想(棋盘交换,攻击伤害,工作安排,消除矛盾)最大流正难则反,大变小,流化割黑白染色,可以解决相邻结点不形容的问题一定要有限流(人+菜+房间,人放中间限制流量)【经典例题】行列成点(缩点)时间的推移可以枚举,每次新建一层点,上一层的点连向下一层的后继点表示时间的推移二分图两部分的点一般不是一模一样的...

2018-03-26 07:29:50 254

原创 KDtree全纪录

KDtree是一种很优秀的暴力(实质上也是线段树) 可以解决:n维k远点对问题 有些需要CDQ分治的难题,用KDtree就可以解决了(思维难度较小)经典例题:天使玩偶 KDtree CDQ分治 实测KDtree较快,然而dalao好像都不喜欢用这种暴力做法,都是推荐CDQ 然而蒟蒻就有蒟蒻的方法,暴力什么的先稳住再说找到了KDtree的复杂度分析: 构建:O(log2n...

2018-03-25 21:31:39 1129

原创 线段树+树链剖分全纪录

线段树最基础线段树,就是支持区间加乘,查询区间最值 总的来说,就是可以在区间上进行操作(给出的可能不是完整代码,不过都是精华) 代码中有几个细节需要注意:默认先乘后加,在计算值的时候统一表达式: t[bh].sum=( t[bh].sum*t[bh].mul%p + (t[bh].y-t[bh].x+1)*t[bh].ad%p )%p;永远记住:先维护值,再下传标记 标记下...

2018-03-25 20:16:03 436

原创 树状数组全纪录

为了让自己在AFO之前活的精彩一点,接下来的将近两周时间会陆续更新一些模板以及算法的注意事项 敬请期待全纪录系列最简单的树状数组就是一维 支持两套操作(不可混用)单点修改,区间查询区间修改,单点查询(配合查分)int n,c[N];void build() { for (int i=1;i<=n;i++) { c[i]=0; ...

2018-03-25 16:23:24 188

原创 cv2303 [Sdoi2008 ] Sandy的卡片(后缀数组+二分)

DescriptionSandy和Sue的热衷于收集干脆面中的卡片。然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型。每一张卡片都由一些数字进行标记,第i张卡片的序列长度为Mi,要想兑换人物模型,首先必须要集够N张卡片,对于这N张卡片,如果他们都有一个相同的子串长度为k,则可以兑换一个等级为k的人物模型。相同的定义为:两个子串长度相同且一个串的全部...

2018-03-25 14:50:54 191

原创 线性筛d&&sd(约数个数&&约数和)

ddd函数d(n)d(n)d(n)表示n的约数个数和百度一下,我们就可以得到一个计算d函数的暴力做法设n=pa11pa22...pakkn=p1a1p2a2...pkakn=p_1^{a_1}p_2^{a_2}...p_k^{a_k} d(n)=(a1+1)(a2+1)...(ak+1)d(n)=(a1+1)(a2+1)...(ak+1)d(n)=(a_1+1)(a_2+1)...(...

2018-03-25 11:14:13 1514 1

原创 Enzymii的hu测 T3.violetevergarden(反演【约数个数)

版权属于Enzymii,想要引用此题(包括题面)的朋友请联系博主 分析:题目来源首先要好好读题,题目有一点问题 不过不要在意这么多细节,实际上题目要求: ∑i=1nd(i2)∑i=1nd(i2)\sum_{i=1}^{n}d(i^2) d的暴力计算公式 n=∏pkiin=∏pikin=\prod p_i^{k_i} d(n)=∑(ki+1)d(n)...

2018-03-25 10:09:24 308

原创 Enzymii的hu测 T1.eromanga(hash)

版权属于Enzymii,想要引用此题(包括题面)的朋友请联系博主 分析: 一眼点分治,但是不是点分治于是打了个暴力+第6个点点分治+状压=40题目来源 官方正解RTY(Enzymii)这套题的特点就是部分分的划分比较多,个人觉得比较符合省选的特点,所以重点分析一下各种部分分做法(也是对于以后解题的一种启发吧)算法一连个模数都不给,显然不能把边权都乘...

2018-03-24 21:43:25 432

原创 Enzymii的hu测

Enzymii大佬真的是美如画主要就是欣赏页面 Enzymii:舒老师讲一下60分做法 舒老师:就是原题啊 众:舒老师粘代码了吗 舒老师:没有 Enzymii:舒老师毕竟五分钟12K,这都无所谓...

2018-03-24 19:38:17 170

原创 bzoj2555 SubString(LCT+SAM)

题目链接分析: 翻了一下这道题的提交记录,发现yhzq和Mario_sz两个月前就做过了(希望现在填坑还不算晚) 第一次看这道题,感觉就是一道SAM 支持动态添加?SAM可以啊 匹配?SAM也可以啊然而上网,得到都是LCT+SAMLCT+SAMLCT+SAM,直接把我吓傻了 朴素的后缀自动机,每个节点维护一个sizesizesize,添加一个字符时将它parentparentpa...

2018-03-24 10:52:20 330

原创 poj2891 Strange Way to Express Integers(不要求互质CRT)

题目链接分析: CRT简单讲解#include<cstdio>#include<cstring>#include<iostream>#define ll long longusing namespace std;ll x,y,d;void exgcd(ll a,ll b) { if (!b) { d=a;x=1;...

2018-03-23 18:52:40 131

空空如也

空空如也

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

TA关注的人

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