摘要:
【BZOJ2138】stone(线段树,Hall定理) 题面 "BZOJ" 题解 考虑一个暴力。 我们对于每堆石子和每个询问,显然是匹配的操作。 所以可以把石子拆成$a_i$个,询问点拆成$K_i$个,这样就是每次进行一次二分图的匹配。 当然可以用网络流+线段树优化连边来做,但是这样复杂度太高。 还 阅读全文
摘要:
【BZOJ4651】【NOI2016】网格(Tarjan,哈希) 题面 "BZOJ" "洛谷" 题解 首先把题目稍微变得好说一些,给定一个网格,已经删去了若干个格子 问最少删去多少个格子使得图不连通。 这题的关键是要看出答案一定只有$ 1,0,1,2$ 证明一下一定存在答案不超过二。 在不是无解的情 阅读全文
该文被密码保护。 阅读全文
摘要:
【Loj 535】花火(线段树,扫描线) 题面 "Loj" 题解 首先如果不考虑交换任意两个数这个操作,答案就是逆序对的个数。 那么暴力就是枚举交换哪个两个数,然后用数据结构之类的东西动态维护逆序对。 但是这样还不够。 仔细观察哪些点交换了才有意义。 假设交换的位置是$l,r$ 首先必须有$h[l] 阅读全文
该文被密码保护。 阅读全文
摘要:
【BZOJ4200】【NOI2015】小园丁与老司机(动态规划,网络流) 题面 "BZOJ权限题,洛谷链接" 题解 一道二合一的题目 考虑第一问。 先考虑如何计算六个方向上的第一个点。 左右上很好考虑,只需要按照$x$或者$y$轴排序就行了。 对于$45$度的斜角,两点一定在同一条直线上。 这条直线 阅读全文
摘要:
有上下界网络流 有上下界的网络流即是在普通的网络流的基础上,额外添加每条边流量的限制。 普通的网络流可以认为是特殊情况的上下界网络流,即流量限制为$f_i\in [0,maxflow]$ 而现在,我们要求的每条边的容量限制为$f_i\in [B_i,C_i]$ 这类问题我们大致可以分成三类。 无源汇 阅读全文
摘要:
【Loj117】有源汇上下界最小流(网络流) 题面 "Loj" 题解 还是模板题。 阅读全文
摘要:
【Loj116】有源汇有上下界最大流(网络流) 题面 "Loj" 题解 模板题。 阅读全文
摘要:
【BZOJ4197】【NOI2015】寿司晚宴(动态规划) 题面 "BZOJ" 从$[2,n]$中选择两个集合(可以为空集),使得两个集合中各选一个数出来,都互质。 求方案数。 题解 对于$500$以内的所有数,它的最大质因子如果大于$\sqrt n$,那么便只有一个。 利用这一点,我们把所有数全部 阅读全文
摘要:
【BZOJ2671】Calc 题面 "BZOJ" 给出N,统计满足下面条件的数对(a,b)的个数: 1.$1\le a\lt b\le N$ 2.$a+b$整除$a b$ ~~我竟然粘了题面!!!~~ 题解 还是今天菊开讲的。 设出$d=gcd(a,b)$ 那么,设$a=xd,b=yd,gcd(x, 阅读全文
摘要:
【BZOJ3244】【NOI2013】树的计数(神仙题) 题面 "BZOJ" 这题有点假,$bzoj$上如果要交的话请输出$ans 0.001,ans,ans+0.001$ 题解 数的形态和编号没有关系,因此对于$bfs$序重标号,同时修改一下$dfs$序方便做题。 因为$bfs$的层数等于树高,所 阅读全文
摘要:
【BZOJ4889】不勤劳的图书管理员(树套树) 题面 又是权限题,烦死了 "洛谷真好" 题解 分开考虑每一次交换产生的贡献。 假设交换$(x,y)$ 检查$x$与$y$对于区间$[x+1,y 1]$产生的贡献 再考虑一下$x,y$之间的贡献就好啦。 区间的贡献显然是区间内比他小的数的个数乘上当前位 阅读全文
摘要:
【BZOJ3166】ALO(主席树) 题面 权限题qwq "资磁洛谷" 题解 用一个$set$求出左右侧比这个数大的第$2$个数, 然后用可持久化$Trie$算一下就好啦 cpp include include include include include include include usin 阅读全文
摘要:
【UOJ 188】Sanrd(min_25筛) 题面 "UOJ" 题解 今天菊开讲的题目。(千古神犇陈菊开,扑通扑通跪下来) 题目要求的就是所有数的次大质因子的和。 这个部分和$min\_25$筛中枚举最小值因子有异曲同工之妙。 "min_25筛什么的戳这里" 并且这题并没有积性函数。 所以我们先筛 阅读全文
摘要:
伯努利数 $B_0=1,B_1= \frac{1}{2},B_2=\frac{1}{6},B_3=0,B_4=\frac{1}{30}$ 可以利用下面的式子计算。 $$B_0=1,\sum_{i=0}^nB_iC_{n+1}^i=0$$ 转化: $$ \begin{aligned} \sum_{i= 阅读全文
摘要:
【51Nod1258】序列求和V4(FFT) 题面 "51Nod" 多组数据,求: $$Ans=\sum_{i=1}^ni^k,n\le 10^{18},k\le50000$$ 题解 预处理伯努利数,时间复杂度$O(nlogn)$ 然后利用伯努利数求和即可。 $$\sum_{i=1}^n i^k=\ 阅读全文
摘要:
【BZOJ5306】染色(NTT) 题面 "BZOJ" "洛谷" 题解 我们只需要考虑每一个$W[i]$的贡献就好了 令$lim=min(M,\frac{N}{S})$ 那么,开始考虑每一个$W[i]$的贡献 $$\sum_{k=0}^{lim}W[k]C_M^kC_N^{kS}\frac{(kS) 阅读全文
摘要:
【BZOJ4943】【NOI2017】蚯蚓排队(哈希) 题面 "BZOJ" "洛谷" "UOJ" 题解 记得去年看网络同步赛的时候是一脸懵逼的。 昨天看到$zsy$做了,今天就看了看。。 这不是$Hash$的傻逼题吗。。。 呜。。。 开链表存一下前驱后继,因为询问长度不超过$50$ 那么,总的串的个 阅读全文
摘要:
【BZOJ4912】天才黑客(最短路,虚树) 题面 "BZOJ" "洛谷" 题解 $Anson$爷讲过的题目,然而我还是不会做 只有照着$zsy$的程序打我才会做。。。。果然太弱了。 这道题目显然是把边看成点,然后把原图中的每一个点的入边和出边之间相互连边, 边权是$lcp$的长度,也就是在$Tri 阅读全文
摘要:
【BZOJ5333】荣誉称号(动态规划) 题面 "BZOJ" "洛谷" 题解 今天早上贱狗老师讲的。然而我还是不会。 只好照着$zsy$代码大力理解一波。 首先观察等式,如果比较熟悉线段树,会发现就是线段树的前$k$个祖先 而线段树是完全二叉树,也就所有东西形成了一个完全二叉树。 并且任意节点和它的 阅读全文
摘要:
【BZOJ1088】扫雷(递推) 题面 "BZOJ" 题解 忽然发现这就是一道逗逼题。 只需要枚举一下第一个是什么,后面都能够推出来了。。 cpp include using namespace std; define MAX 11111 int f[MAX],ans,a[MAX],n; bool 阅读全文
摘要:
【CF625E】Frog Fights(模拟) 题面 "CF" "洛谷" 翻译: 有$n$只青蛙在一个被分为了$m$等分的圆上,对于每份顺时针依次标号。 初始时每只青蛙所在的位置是$p_i$,速度是$a_i$。 然后从$1$号青蛙开始,顺次移动,每只青蛙顺时针移动$a_i$个格子。 途中碰到的所有青 阅读全文
摘要:
【BZOJ4767】两双手(动态规划,容斥) 题面 "BZOJ" 题解 发现走法只有两种,并且两维坐标都要走到对应的位置去。 显然对于每个确定的点,最多只有一种固定的跳跃次数能够到达这个点。 首先对于每个点都计算出两种跳跃方法的次数。 然后按照跳跃次数排序。 显然只可能从跳跃次数少的跳跃到跳跃次数多 阅读全文
摘要:
【BZOJ2339】卡农(递推,容斥) 题面 "BZOJ" 题解 先简化一下题意: 在$[1,2^n 1]$中选择不重复的$m$个数,使得他们异或和为$0$的方案数。 我们设$f[i]$表示选择$i$个数异或和为$0$的方案数。 直接算是很麻烦的,所以我们反过来,总数减去不合法的。 因为确定了前$i 阅读全文