传送门
题解:
考虑怎么做这道题。
首先发现性质:
改变次数=2×总操作数−答案中′1′的个数" role="presentation">改变次数=2×总操作数−答案中′1′的个数改变次数
题目链接
题解:发现只需要分两段维护就可以了。
上一次排过序的前缀部分用字典树维护,并且对每一位记录nowxor" role="presentation">nowxornowxornow_xor表示按照当前的顺序,第i" role="presentation">iii位是否被翻转。后面的部分用一个前缀和维护。
这样的话,异或的时候维护偏移值,每一次排序我们就把后面的部分全部插入字典树,并且更新now_xor" role="presentation">now_xornow_xornow\_xor。
#include<cstdio&g
题目链接:传送门
题解:不难发现,我们有一个优秀的N2N^2的dpdp做法,记录f(i,j,0/1)f(i,j,0/1)表示ii子树内选jj个,当前根选没选。
我们要知道分治NTTNTT的复杂度:对于kk个总度数∑deg=k\sum deg=k的多项式来说,计算它们乘积的复杂度可以做到:O((∑deg)log(∑deg)logk)O((\sum deg)log(\sum deg)logk)。
因此,我们采用重链剖分,先转移所有轻链。
不难发现,
g(u,0)=∏v∈son(g(v,0)+g(v,1))g(u,0)=\prod_{v\in son} (g(v,0)+g(v,1))
传送魔法:biu~~~~~~~
算是一道较有趣的dp" role="presentation" style="position: relative;">dpdpdp了。
首先有一个简单的做法,状压3" role="presentation" style="position: relative;">333进制。
第i" role="presentation" style="position: relative;">iii位是0" role="presentation" style="position: relative;">000表示ai" role="pres
题目地址:嘤嘤嘤
听说是FMT" role="presentation" style="position: relative;">FMTFMTFMT裸题然而学了FMT" role="presentation" style="position: relative;">FMTFMTFMT还是不会啊QAQ" role="presentation" style="position: relative;">QAQQAQQAQ。
首先有一个比较显然的dp" role="presentation" style="position: relative;">dpdpdp。
题目描述
小 L 最近沉迷于塞尔达传说:荒野之息(The Legend of Zelda: Breath of The Wild)无法自拔,他尤其喜欢游戏中的迷你挑战。
游戏中有一个叫做 “LCT” 的挑战,它的规则是这样子的:现在有一个 NN 个点的树(Tree),每条边有一个整数边权 vi" role="presentation">viviv_i,若 vi≥0" role="presentation">vi≥0vi≥0v_i \ge 0,表示走这条边会获得 vi" role="presentation">viviv_i的收益;若 vi&
原题地址 感觉还是很妙一个题,自己想了一会,看标签后茅塞顿开。发现这个题的操作一直在用数列已经有的部分去覆盖一部分。因为一直在用原来的,有点可持久化的意思。发现其实我只要维护一个数据结构,可以把原来的一段提取出来插入到一个位置,并且可以维护区间加区间和以及可以可持久化即可,这里的可持久化是为了不影响原来已有的部分,对于所有的修改都在新点上操作。这样的数据结构就只有可持久化平衡树了。非旋Treap的可持久化和线段树差不多,只要有修改的地方拉一个新点起来就行了。时间复杂度O(n log n),空间常数很大,注意不要爆空间。#include<cstdio>
#include<alg
题目地址:"噔"
题目给定的条件不太好求。
发现原题死了人之后概率的分母会变,十分不可做。
然后就有一步神转化了,我们将原题改为打死人之后这个人并不出局,而是被打上标记。如果开枪射中打标记的人,那么这一枪无效,重新射击。
这样我们发现,分母一定了,容易了许多。
整理一下,发现我们没有办法确切算出1" role="presentation" style="position: relative;">111在最后一个死的概率,但是我们可以确切算出至少有k" role="presentation" style="position: relative;">kkk个人死在1"
链接:戳轻点 >_<
神仙题啊!
还不自量力的想了半天。
看完题解发现自己更本没资格做这道题……
首先貌似有个没分的高斯消元?
嗯……全部都至少走一遍的期望根本不会算啊。
我们先来看一个很好理解的结论:
最值反演:
考虑任意集合S" role="presentation" style="position: relative;">SSS,元素i" role="presentation" style="position: relative;">iii有点权wi" role="presentation" style="position: r
题目地址:呀,戳轻点qwq
一开始自己就想错了,本来以为只要选择的点集定了,那么覆盖状态也就定了。
但是发现并不对,和点选择的顺序还有关。
……
我们去Orz" role="presentation" style="position: relative;">OrzOrzOrz题解吧。
发现自己仍然是没有完全理解增量的构造方式。
考虑到选择点的顺序其实是和答案有关的,我们考虑对整个操作序列增量的过程进行dp" role="presentation" style="position: relative;">dpdpdp。
设f(i,S)" role="presenta