- 博客(49)
- 收藏
- 关注
转载 dp凸优化/带权二分 学习笔记
我是不会说我是想写林克卡特树才来学这个东西的dp凸优化/带权二分这个东西其实挺有用的,dp凸优化是来解决这类问题的你有一些操作,操作\(i\)会对答案有贡献\(w_i\),选的操作越多,\(w_i\)越小/大问恰好进行\(k\)次操作所得到的最大/小答案普通解法额外记一维\(k\)表示进行了\(k\)次操作复杂度\(O(nk)\)\(dp\)凸优化先考虑去掉\(k\)...
2019-10-07 11:31:00
342
转载 【APIO2014】Split the sequence
\(ProblemLink\)题意你正在玩一个关于长度为\(n\)的非负整数序列的游戏。这个游戏中你需要把序列分成 \(k+1\) 个非空的块。为了得到 \(k+1\)块,你需要重复下面的操作\(k\)次:选择一个有超过一个元素的块(初始时你只有一块,即整个序列)选择两个相邻元素把这个块从中间分开,得到两个非空的块。每次操作后你将获得那两个新产生的块的元素和的乘积的分数。你...
2019-10-06 12:12:00
202
转载 ARC086 E Smuggling Marbles
题目大意\(ProblemLink\)\(Sunke\)有一棵N + 1个点的树,其中0为根,每个点上有0或1个石子,\(Sunke\)会不停的进行如下操作直至整棵树没有石子:把0上面的石子从树上拿走放入口袋;把每个点上的石子移到其父亲上;对于每个点,若其石子数\(\gt1\),则移除该点所有石子(不 放入口袋)。求对于所有\(2^{N+1}\)种放置石子的方案,最终\(Su...
2019-10-06 08:22:00
192
转载 AT2567 RGB Sequence
对每个右端点, 记录它向左第一次出现某种颜色的位置设\(f[i][r][g][b]\)表示当前考虑到第i位,最后一个r,g,b颜色的出现的位置。显然有\(i=max(r,g,b)\)然后就直接\(dp\)就可以了。/*@Date : 2019-10-05 11:48:12@Author : Adscn (adscn@qq.com)@Link : https:/...
2019-10-05 12:10:00
206
转载 快速傅里叶变换(FFT)与多项式算法学习笔记
参考资料:menci的博客前言:最近在学习生成函数,无奈的发现如果我不学习\(O(nlogn)\)的多项式算法的话什么题也做不了qwq于是就滚来学习FFT了其实写的很烂,主要是给自己看的好像整个机房就我不会这玩意了定义多项式形如\(F(x)=\sum\limits_{i=0}^na_ix^i\)的柿子就是一个多项式,这个多项式的次数就是它的最高次数\(n\)多项式的表示...
2019-10-04 18:47:00
652
转载 QTREE5 Link-Cut Tree
\(Problem\ Link\)题目大意你被给定一棵n个点的树,点从1到n编号。每个点可能有两种颜色:黑或白。我们定义dist(a,b)为点a至点b路径上的边个数。一开始所有的点都是黑色的。要求作以下操作:0 i 将点i的颜色反转(黑变白,白变黑)1 v 询问dist(u,v)的最小值。u点必须为白色(u与v可以相同),显然如果v是白点,查询得到的值一定是0。特别地,如果...
2019-09-12 11:49:00
101
转载 CF867E Buy Low Sell High
\(ProblemLink\)题目大意你预言了每天的股票价格\(v_i\),从第\(1\)天开始,你每天可以选择卖一支股票,买一支股票,或者什么也不做。问直到第\(n\)天结束你最多可以获得多少收益。\(n\le3*10^5\)思路分析我们可以先把所有元素丢到小根堆里。如果存在\(a_i>a_j(i>j)\)那么\(j\)这一天是显然要买股票的。但是我们不知道...
2019-09-07 08:08:00
112
转载 Huffman-Tree 学习笔记
又是啃课件的一天定义构造一棵含\(n\)个叶子结点的\(k\)叉树, 其中第\(i\)个叶子结点权值\(w_i\), 要求最小化\(\sum w_i*d_i\), \(d_i\)表示\(i\)结点的深度。这样的合法的树被称为(k叉)\(Huffman\)树构造方法增加一些叶子结点为\(0\)的结点, 使得它成为满\(k\)叉树。将\(w\)都丢进小根堆,每次都取前\(k\)...
2019-09-06 22:15:00
95
转载 P4747 [CERC2017]Intrinsic Interval
P4747 [CERC2017]Intrinsic Interval前言这道题有高大上的析合树做法不过我不会,可能退役后会考虑学学吧。这题还有线段树优化建边缩点的好办法。我还是不会,可能以后会学学吧。题目大意\(ProblemLink\)其实题目里面讲的很清楚了。简单的说就是给你一个\(1\) ~\(n\)的排列定义如果一个区间\([l,r]\)是好区间,仅当\(l\...
2019-09-06 19:59:00
155
转载 点分治与动态点分治学习笔记
点分治点分治是处理树上路径的一类有力算法。分治算法我们都经常用到,平时我们在序列上可以直接分治。但是如果在树上怎么办呢?我们可以指定一个根递归下去处理子树。即将原来的数分成许多子树,对每个子树分别处理。如果我们随缘指定一个根,递归层数可能是\(n\)一级别的,复杂度显然会退化。借鉴我们在分治序列时我们每次取\(mid\)的思想。于是我们在分治树时我们每次取树的重心。树的...
2019-08-29 22:12:00
112
转载 洛谷P4859 已经没有什么好害怕的了
题目大意给出 \(n\)个数\(a_i\),以及\(n\)个数 \(b_i\) ,要求两两配对使得\(a>b\)的对数减去\(a<b\)的对数等于 k。\(0\leq k\leq n\leq2000\) ,\(a,b\)无相同元素。题目分析这题目意蕴丰富求方案数考虑\(dp\)先将序列从小到大排序。因为保证了互不相同。所以只需要知道\(a>b\)的对数就...
2019-08-28 22:10:00
102
转载 二项式反演学习笔记
一个非常好的Blog二项式反演二项式反演的形式为\(\large f_n=\sum\limits_{i=0}^n(-1)^i{n\choose i}g_i\leftrightarrow g_n=\sum\limits_{i=0}^n(-1)^i{n\choose i}f_i\)或常用的\(\large f_n=\sum\limits_{i=0}^n{n\choose i}g_i...
2019-08-28 20:41:00
89
转载 【网络流24题】试题库问题
对于每个试题只能属于一个类型的限制,我们从原点向试题连1然后把每个试题向类别连边,类别向汇点连要求量就可以了挺板子的说?/*@Date : 2019-08-28 14:20:04@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<bits/st...
2019-08-28 16:42:00
78
转载 一些常见错误
1.如果下标从1开始 ,回文自动机的字符数组的第0个要设成'$' !2.点分治求重心时外部要hson[Hroot=0]=total=n转载于:https://www.cnblogs.com/LLCSBlog/p/11384149.html...
2019-08-20 17:10:00
83
转载 NOI2009 诗人小G
显然有\(f[i]=min(f[j]+w(i,j)),w(i,j)=|sum[i]-sum[j]-L-1+i-j|^P\)\(sum_i=\sum\limits_{j=1}^ilen_j\)通过打表,我们可以发现\(w\)满足四边形不等式。于是我们用单调队列来维护决策点。二分找出最优位置的分界点就可以了/*@Date : 2019-08-16 20:23:22@Aut...
2019-08-18 13:31:00
95
转载 NOI2007货币兑换
用Splay维护凸包以后还是建议用CDQ吧。Splay比较难调试/*@Date : 2019-08-18 08:04:31@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<bits/stdc++.h>using namespace s...
2019-08-18 13:02:00
95
转载 [BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组+莫队?)
\(O(n^2k)\)比较好想\(dp[i][j]=\min\limits_{k<i}(dp[k][j-1]+w(k+1,i))\)\(w\)就是逆序对个数。打表发现有决策单调性。但是我们发现逆序对个数不能很快的算,所以单调队列用不了了。考虑分治,\(solve(l,r,L,R,k)\)表示要计算的部位为\([l,r]\),可能决策点位于\([L,R]\)内,于是暴力算...
2019-08-16 21:33:00
120
转载 BZOJ2726任务安排 CDQ分治维护凸包
好像不是很难,就是普通的CDQ分治,每次统计左边对右边的贡献/*@Date : 2019-08-15 20:38:48@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<bits/stdc++.h>using namespace std;...
2019-08-16 07:46:00
154
转载 Nauuo and ODT CF1172E
一道LCT练手题,将询问离线,单独考虑每个颜色我们要求的就是至少经过某个颜色一次的路径数。每次计算变化量。考虑容斥,就是用总的路径数减去不经过的次数标记那个颜色的点为白色,其他的为黑色不经过的次数就是黑连通块的大小的平方。我们将所有的黑点向父亲连边,每个黑连通块实际上最上面有一个白点,我们维护子树的平方和,每次到顶上的白点统计答案即可。/*@Date : 201...
2019-08-15 08:25:00
77
转载 bitset解决偏序问题
本质上就是暴力用分块优化而已时间复杂度\(O(kn\sqrt n)\)在高维时候可以把K-D Tree吊起来打cdq分治连影子都没了/*@Date : 2019-08-13 19:48:10@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<...
2019-08-14 13:35:00
358
转载 最值反演学习笔记
最值反演学习笔记我学习的大佬Blog考虑通过用一个集合的\(min\)求\(max\)(或反过来)我们构造一个与集合元素个数有关的函数\(f(|S|)\)\(kthmax(S)=\sum\limits_{T\subseteq S}f(|T|)min(T)\)对于第\(i+1\)大的元素的贡献,仅当它是集合中最小的元素才会有贡献,我们枚举剩下的元素个数\(j\)所以它被计算了\...
2019-08-07 10:54:00
153
转载 杜教筛
杜教筛前置技能树:积性函数就是对于函数\(f(x)\)对于任意两个互质整数\(a,b\),如果有\(f(a)·f(b)=f(ab)\)则\(f\)为积性函数如果对任意\(a,b\)成立,\(f\)为完全积性函数。前置技能树:狄利克雷卷积狄利克雷卷积是一种运算定义。\(f*g=\sum\limits_{d|n}f(d)g(\frac nd)\)其显然满足交换律。前言一...
2019-08-05 22:22:00
126
转载 [ZJOI2007]仓库建设
题意:将序列分成若干段,区间 l,r有代价,求最小代价。显然有二维方程式\(\large f_i=min\lbrace f_j+\sum_{k=j+1}^{i}p_i(x_k-x_i)\rbrace +c_i\)\(\large f_i=min\lbrace f_j+\sum_{k=j+1}^i P_ix_k -\sum_{k=j+1}^i P_ix_i\rbrace+c_i\)...
2019-07-31 20:32:00
108
转载 [AH2017&HNOI2017]大佬
\(ProblemLink\)在题解的滋养下我们观察到你的自信值并不会因为你去执行1,3,4,5操作而被影响。而且1,3,4,5操作也与操作时的天数无关。于是我们可以先做一个简单\(dp\),让你刷水题的次数尽量少。\(f[i][j]\)代表在第\(i\)天还活着,且自信值为\(j\)的最多能空出的执行其他操作的天数。\(dp\)方程如下不刷水题\(f[i][j-a[i]...
2019-07-31 13:10:00
65
转载 【HNOI2008】玩具装箱
\(ProblemLink\)设\(S_i=\sum_{i=1}^n C_i\)易得\(n^2\)方程设\(f[i]\)为处理前\(i\)个玩具的最小费用\(f_i=min(f_j+(i-j+s_i-s_j-L)^2)(j<i)\)\(f_i=f_j+(i-j+s_i-s_j-L-1)^2\)设\(a_i=s_i+i,b_j=-s_j-j-L-1\)\(f_i=f_j...
2019-07-31 12:39:00
129
转载 hdu3507,斜率优化dp
斜率优化\(dp\)入门题。\(ProblemLink\)先从\(n^2\)的\(dp\)开始设\(S_i=\sum_{i=1}^n a_i\)\(f_i\)为输出前\(i\)个的最小代价。显然有\(f_i=min(f_j+(S_i-S_j)^2+M)(j<k)\)考虑对于点i。j比k\((j>k)\)更优当且仅当\(f_j+(S_i-S_j)^2<f_k...
2019-07-31 10:19:00
171
转载 NOI2004 降雨量
\(Problem Link\)自适应辛普森,卡了一页的精度。。。毒瘤。/*@Date : 2019-07-30 07:58:53@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<bits/stdc++.h>using namespa...
2019-07-30 11:57:00
193
转载 【网络流24题】最小路径覆盖问题
套路拆点。路径覆盖实际上就是一开始全部用单个长度为0的路径覆盖。然后尽可能多的地合并。我们拆点成一个二分图,就变成\(最小边覆盖问题\)了输出方案画个图就知道了。上板子/*@Date : 2019-07-29 10:41:00@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCS...
2019-07-29 11:43:00
76
转载 [NOI2009]植物大战僵尸
\(Problem\ Link\)注意到植物之间满足一种依赖关系,即要攻打植物\(i\)必须消灭所有保护\(i\)的植物\(j\),每个植物都有一个权值,于是我们建图,所有被保护植物\(i\)向保护了它的植物\(j\)连边,以表示选了\(i\)就必须要选\(j\)。那么我们的任务就是在图中选出最大权闭合子图。那么你打了一遍板子,发现连样例都过不去。怎么回事呢?你仔细观察发现...
2019-07-29 08:07:00
89
转载 【网络流24题】太空飞行计划问题
\(Problem:\)\(Link\)最大权闭合子图裸题。有时间我可能会写一篇博客总结一下最大权闭合子图问题。(咕最大权闭合子图模型:实验为正权点,仪器为负权点,实验向仪器连边。求最大权闭合子图。一看:啊,板子题。不过这题还要输出方案。这个很简单,最后得到的最大权闭合子图一定是网络流图中不在割集中的点。割集实际上就是\(dinic\)最后一次分层时流量跑满的点,则它的d...
2019-07-28 10:35:00
112
转载 欧拉回路&欧拉通路问题总结
欧拉回路定义经过图中所有边恰好一次,并回到原点的路径。定理无向图\(G\)存在欧拉回路的充要条件是\(G\)中无奇数度数的节点。有向图\(G\)存在欧拉回路的充要条件是\(G\)联通且对于所有点\(P \in G\)有其入度等于其出度。算法时间复杂度\(O(n)\)先指定一个点作为起始点\(S\),进行\(dfs\),边走边删边。并压入栈中如果走到一个点了无路可走了就退...
2019-07-24 08:46:00
641
转载 洛谷P1975【国家集训队】排队
题目大意给出\(n\)个数,每次交换两个数\(l,r\)之后维护逆序对数量。题解初始答案用归并排序求即可。我们考虑交换的影响,显然对于区间\([1,l)\)与\((r,n]\),本次交换并不会对其贡献有什么影响。对于\(l\)向右移之后,在区间\([l,r]\)中比\(l\)小的数的贡献消失了,新增了比\(l\)大的数的个数的贡献\(r\)同理。对于\(l,r\)本身,如...
2019-07-22 16:28:00
123
转载 【网络流24题】魔术球问题
以珠子为点,满足条件就两两连边那么就是让你求n条路径最多能覆盖多少节点。众所周知,最小边覆盖=点总数-最大匹配不会看这里Link于是拆点跑二分图即可大概就是S向x连边满足条件的点k向x'连边x'向T连边有两种方式1.我们轮流加点,每次在残量网络跑最大流就可以了2.我们二分答案,每次重新跑最大流实测前一种更快。QwQ输出答案就看哪条边的流量跑满了。/*@Dat...
2019-07-21 09:25:00
110
转载 二分图性质及算法总结
二分图总结定义二分图是指对于一个图G=(V,E),若能将其点集分为两个互不相交的两个子集X、Y,使得X∩Y=∅,且对于G的边集V,若其所有边的顶点全部一侧属于X,一侧属于Y,则称图G为一个二分图。清晰明了匹配对于一个二分图G的子图M,若M的边集E的的任意两条边都不连接同一个顶点,则称M为G的一个匹配。最大匹配就是最大化M方法1.匈牙利算法时间复杂度\(O(nm)\...
2019-07-20 11:14:00
394
转载 威佐夫博弈[hdu1527]
先看题目Link刚学习了SG函数和博弈论的一些知识,我们来分析一波,整篇文章都是自己yy的,所以极有可能伪证。先倒推(0,0)为必败态显然\((0,x)\),\((x,0)\),\((x,x)\)均为必胜态对于状态\((x,y)\)(不妨设 \(x<y\))其为必胜态当且仅当其能转移到必败态\((x_2,y_2)\)其为必败态当且仅当它没有转移,或仅能转移到必胜态。...
2019-07-19 20:25:00
99
转载 【洛谷P2743】【poj 1743】[USACO5.1]乐曲主题Musical Themes
题目还是板子题因为旋律会同时加减一个数,所以我们在差分数组上做就好了注意因为差分了,跨越的个数要少一个基数排序循环写反了,调了好久qwq/*@Date : 2019-07-19 10:17:22@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include...
2019-07-19 16:31:00
181
转载 洛谷P2852 [USACO06DEC]牛奶模式Milk Patterns (Suffix Array)后缀数组
前面后缀数组的板子相信大家都看得出来出现k次就相当于我们选择k个后缀,求LCP对于后缀i,j(rank[i]<rank[j])其LCP是 height(i+1~j)的最小值所以答案一定在rank连续的k个后缀中维护连续rank上k个后缀的LCP的最大值即可这个用单调队列就可以了= =理论上要离散化一下,虽然数据比较水,不离散也可以/*@Date : 2019...
2019-07-19 09:58:00
112
转载 【网络流24题】[CTSC1999]家园
太菜了,一个地方打错调试3个小时qwq新技巧get分层图网络流/*@Date : 2019-07-18 09:27:30@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<bits/stdc++.h>using namespace st...
2019-07-18 15:47:00
74
转载 【网络流24题】孤岛营救问题
这道题和网络流有什么关系吗?状态压缩BFS/*@Date : 2019-07-16 21:37:18@Author : Adscn (adscn@qq.com)@Link : https://www.cnblogs.com/LLCSBlog*/#include<bits/stdc++.h>using namespace std;#define ...
2019-07-17 10:15:00
125
转载 【网络流24题】飞行员配对方案问题
板子裸题我永远热爱dinic#include<bits/stdc++.h>using namespace std;#define IL inline#define RG register#define gi getint()#define gc getchar()#define File(a) freopen(a".in","r",stdin);freopen...
2019-07-16 15:58:00
87
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人