- 2024-11-14P8863 「KDOI-03」构造数组
P8863「KDOI-03」构造数组cplusoj:SS241113D.构造数组(array)题意给你一个长度为\(n\le5000\)的数组\(\{b\}\),满足\(\sumb\le30000\)。每次操作你可以选择两个下标\(i,j,i\neqj\),将\(b_i,b_j\)减\(1\),问有多少种操作方式使得\(b\)变成全部是\(0\)。思路看
- 2024-10-17P11189 「KDOI-10」水杯降温
P11189「KDOI-10」水杯降温-洛谷|计算机科学教育新生态(luogu.com.cn)庆贺吧,第一个真正意义上的自己干出来的紫题。总用时4h。时间复杂度\(O(n\logn)\),对于每个点我们去找它可以吹气的最大次数和最小次数。如果一个点的最小次数大于它的最大次数,或者在计算父节点u最
- 2024-10-14题解:P9743 「KDOI-06-J」旅行
ProblemLink「KDOI-06-J」旅行题意题目讲的很清楚,不再过多赘述。Solution不难想到\(O(n^2\timesm^2\timesk)\)的做法:定义\(f_{i,j,val,x,y}\)为当前在\((x,y)\)的位置,花费\(val\)元,手上有\(x\)张\(L\)公司的票,\(y\)张\(Z\)公司的票的方案数,至于空间问题
- 2024-10-1310.13
S组1题水平。「KDOI-10」商店砍价容易发现\([1,6\times10^6]\)之间的数才会用第二种操作,枚举就好。「KDOI-10」水杯降温会补的「KDOI-10」反回文串会补的「KDOI-10」超级演出会补的arc185_a只有最后那一步有用,判断\(n(n+1)\bmodm\)的值。arc185_b。arc185_c
- 2024-09-27「KDOI-06-S」消除序列 题解
分享一个应该很少人想到的做法。首先贪心地想,第一种操作肯定最多选择一次。比如如果选择了下标\(i\)和\(j\)进行第一种操作,那么就等价于在\(\max\{i,j\}\)进行了一次操作。由于代价是非负数,则我们最多只用执行一次。当然也可以不使用这种操作。有了这个思路,我们先考虑不使
- 2024-09-15「KDOI-06-S」题解
T2树上异或题面分析树形DP题考虑一颗子树内部的某种割边方式,假设其被分为\(n\)个连通块,每个连通块的权值分别为\(a_1,a_2,\dots,a_n\),那么该子树在这种割边方式下对答案的贡献就为\(\prod_{i=1}^{n}a_i\)。因此就可以从叶子向根不断合并,求出每种割边状态的值,时
- 2024-08-22题解:P10881「KDOI-07」能量场
\(\text{Link}\)题意给你一个长为\(n\)的序列\(a_{1\dotsn}\),定义一条边\((u,v)\)的权值为\(a_u+a_v\)。对于一张图,定义其权值为包含的所有边的权值乘积。求所有\(n\)个点的有标号基环树的权值之和。对\(998244353\)取模。\(n\le10^3\)。思路非常厉害的题,zky倾
- 2024-07-30P9746 「KDOI-06-S」合并序列
mx练习赛搬的,虽然数据不咋样,但是一步步的优化思路确实值得一记。P9746合并序列题目大意:给你\(n(1\len\le500)\)个数\(a_1,a_2,\ldotsa_n\)(\(a_i<512\))。每次可以选一个3元组\((i,j,k)\),满足\(i<j<k\),并且\(a_i\oplusa_j\oplusa_k=0\),则你可以将$a_i\dotsa_k$
- 2024-04-20P8595 「KDOI-02」一个网的路
P8595「KDOI-02」一个网的路树形dp显然我们贪心的先执行第一种操作,最后再连边。森林中不同棵树互不影响,所以考虑最小化每棵树的操作次数。考虑dp。我们要把一棵树分成若干条链,那么考虑每个子树\(u\)中,节点\(u\)的情况有三种:执行了第一种操作,成为单独一个点。\(u\)
- 2024-03-23P9746 「KDOI-06-S」合并序列
P9746「KDOI-06-S」合并序列经典区间dp+预处理不难设计状态\(f_{l,r}\)表示\([l,r]\)能否变为一个数,转移也简单,枚举三个区间,满足\(f_{i,a}=f_{b,c}=f_{d,r}=1\)且异或和为\(0\)。复杂度为\(O(n^6)\)。设异或和为\(s_{l,r}\)。考虑优化,瓶颈在于转移需要枚举三个区间
- 2024-02-03「KDOI-03」构造数组
「KDOI-03」构造数组题目描述你现在有一个长度为\(n\)的数组\(a\)。一开始,所有\(a_i\)均为\(0\)。给出一个同样长度为\(n\)的目标数组\(b\)。求有多少种方案,使得通过若干次以下操作,可以让\(a\)数组变成\(b\)。选出两个不同的下标\(1\leqi<j\leqn\),并将\(a_i\)
- 2023-10-20KDOI-06-S 模拟题解
目录P9744「KDOI-06-S」消除序列P9745「KDOI-06-S」树上异或P9744「KDOI-06-S」消除序列发现这是一道贪心题,第一种操作只会使用一次,也就是在最开始的时候进行清零操作,从而使得整个前缀都变成0。考虑两种情况,一种是前缀全部为1,另一种为0,分别考虑转移即可。代码P9745「KDOI-0
- 2023-10-16P9744 「KDOI-06-S」消除序列
题目传送门这道题在比赛时先花了一个小时理解好题意才打了一个\(70\)分的\(O(n^2)\)暴力。下午刚起床,有点困,还没进入状态,打得挺慢。具体地,会发现操作实际上是在这个长度为\(n\)的序列找一个点\(i\),将\([0,i]\)通过操作\(1\)全变\(0\),设\(x=\displaystyle\sum_{k\in
- 2023-10-16【题解】「KDOI-06-S」补题
「KDOI-06-S」A.「KDOI-06-S」消除序列赛时写了一个\(O(nq)\)的线性DP,喜提60分。注意到如果操作1被使用,则一定只会使用一次,而且在最优策略中一定是第一次使用操作1。则我们可以通过以下方式进行操作,使序列满足条件:首先执行\(a_i\)和\(\sum^{j\lei,i\inP}_{j=
- 2023-10-15「KDOI-03」构造数组
Saintex1分钟就切啦,有什么好说哒!首先可能想到设\(c_{i,j}\)表示(i,j)被操作的次数,那么答案很好求。但是这个数量并不好记录。如果仅仅钦定(i,j)从小到大之类的东西也不好搞。所以考虑钦定其他的东西。设\(dp_{i,j,k}\)表示前i位,有j个操作(x,y)满足\(x<y\leqi\)