题解1328e cf

CSP-J 2023 题解

CSP-J 2023 题解 T1 小苹果 这个题直接遍历枚举必定 TLE,这是 CCF 的出题风格,每题 T1 巨水无比,但是往往又需要一些思维。 这道题我们可以发现每一轮操作都会拿走 \(1 + (n - 1) / 3\) 个苹果,所以每次让 \(n\) 减去 \(1 + (n - 1) / 3\ ......
题解 CSP-J 2023 CSP

「联合省选 2020 A」组合数问题 题解

非常显然的,我们展开 \(f(k)\),于是有: \[\begin{align} &\sum\limits_{k=0}^{n}\sum\limits_{i=0}^{m}a_{i}k^{i}x^{k}\binom{n}{k}\\ =&\sum\limits_{k=0}^{n}\sum\limits_{ ......
题解 问题 2020

CF1612

A Distance 直接枚举C点x坐标暴力判断 #include<bits/stdc++.h> using namespace std; int xa,ya,xb,yb; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.t ......
1612 CF

CF762F Tree nesting

来一点更清楚的、实现方面的东西。 做法同 这篇,他的实现很优美但略微繁琐了些。 枚举 \(T\) 的形态,发现这个匹配不过是把每个 \(T\) 中当前点的儿子塞进一个 \(S\) 中当前点的儿子内。于是 \(f_{u, v}\) 表示 \(S\) 中 \(u\) 匹配 \(T\) 中 \(v\) 且 ......
nesting 762F Tree 762 CF

CF777E题解

分析 看到这个题就想到了二维偏序。 你们很自然地,以 \(b\) 为第一关键字降序排序,当有若干个片 \(b\) 相等时,我们发现由于 \(a < b\),所以排到最后的片一定能把这些 \(b\) 相等的片都统计上,而前面的片能否统计是依赖于 \(b\),所以考虑如何让后面的片更好统计,显然 \(a ......
题解 777E 777 CF

[CF521D] Shop

CF512D 聪明的想法。 首先对于同一个 i 必定保留最大的赋值操作,并且顺序为赋值-加-乘。 并且我们最终答案是所有元素的乘,那么乘操作对答案作贡献很好写就是乘的值。 那么我们想办法把余下两种操作用乘操作表示。 把大于 \(va_i\) 的赋值操作变成加操作,因为乘之前对于某个 i 一定加的越多 ......
521D Shop 521 CF

CF1746F Kazaee

考虑出现次数都是 \(k\) 的倍数存在必要条件:区间总和为 \(k\) 的倍数。 如果给每个正整数 \(i\) 都赋随机数 \(a_i\) 并对每次查询求区间和,错误的概率大概为 \(\frac{1}{k}\)。 跑 \(30\sim 40\) 次即可,时间复杂度为 \(O(Tn\log n)\) ......
Kazaee 1746F 1746 CF

CF375E Red and Black Tree

看错题看成只能交换相邻节点颜色了/fn 每次操作交换两个节点颜色,可以转化为统计最终合法颜色序列相比开始,最少有多少个红点变成黑点。 可以考虑一个类似树形 dp 的过程,对于每个节点我们钦定下它会被哪个节点“笼罩”,同时由于黑点数量有限,我们还需要记录下子树内已经用了多少个黑点。 设“笼罩”节点 \ ......
Black 375E Tree 375 Red

NOIP2023模拟5联测26 题解

NOIP2023模拟5联测26 题解 感觉我这场的官方题解写的是真的挺好的,所以我只能作少量补充。你可以直接去看官方题解,如果你想的话。 T1 x 题解 \(n = 2\) 没啥可说的。\(\color{white}{这档分你要是没拿到那你还是蛮强的。}\) \(n = 3\) 的时候,我们需要比较 ......
题解 NOIP 2023

CF1553I

传送门 description 对于一个 \(1\) 到 \(n\) 的排列 \(p\),第 \(i\) 个位置的权值是 \(p\) 中数字 \(i\),所在的连续自然数段的长度(可以递增,也可以递减)。现在给定一个数组 \(a\),求第 \(i\) 个位置权值为 \(a_i\) 的排列 \(p\) ......
1553I 1553 CF

PTA数组及排序查找题解与解题思路

PTA数组及排序查找题解与解题思路 函数题目 函数题目为平台提供的裁判程序调用所完成的函数进行判题,题目规定语言为C语言 6-1 求出二维数组的最大元素及其所在的坐标 本题较为简单,考察的是如何遍历一个二维数组,只需要两个循环依次遍历其每个维度和元素即可 如何寻找最大值?只需要在遍历每个元素的过程中 ......
题解 数组 思路 PTA

#ST表#CF1879F Last Man Standing

洛谷题面 CF1879F 分析 当 \(x\) 大于最大值时一定可以被约化为等于的情况,考虑枚举 \(x\), 通过枚举倍数的方式可以知道存在若干段区间消耗同一精神状态的次数是相同的,那么区别就是其精神状态的差值。 那么可以用ST表维护精神状态次数的最大值和次大值,然后枚举倍数求出对于单个 \(x\ ......
Standing 1879 Last Man ST

[TopCoder 13001] BigO 题解

[TopCoder 13001] BigO 题解 题目描述 给定一张有向图,当 \(L\) 趋近于无穷大时,长度为 \(L\) 的路径条数有 \(S\) 条,此时若 \(S = O(L^k)\),输出 \(k\),否则如果没有多项式的大 O 表示法,输出 \(-1\)。 指数情况 首先如果一张图中存 ......
题解 TopCoder 13001 BigO

CF1883E Look Back

思路 首先,对于 \(a_i\) 他必须得不小于最后的 \(a_{i-1}\),所以每个数乘的次数都是固定的。 如果暴力去乘 \(2\) 直到不小于为止,将会超时,所以考虑使用其他的方法进行优化。 因为前后两个数可以同时乘以 \(2\),相对比值不会变化,所以我们可以考虑对于最开始的 \(a_{i- ......
1883E 1883 Back Look CF

题解 P4285 [SHOI2008] 汉诺塔

具体思路 设 \(f_{i,x}\) 表示 \(i\) 个盘子从 \(x\) 柱子出发的步数。 设 \(g_{i,x}\) 表示 \(i\) 个盘子从 \(x\) 柱子出发到哪个柱子。 记 \(y=g_{i-1,x}\),\(z=6-x-y\)。 其中,\(y\) 代表将前 \(i-1\) 个盘子从 ......
题解 P4285 4285 2008 SHOI

P7650 题解

非常好题目,第一步都想不出来。 可以观察出来最优方案必定是从大往小将 \(x\) 放到 \(x+1\) 前,有可能不动,中间的比他小的一定要放到前面去。考虑用 dp 计算最小值。 这里是这道题最重要的一步:相对位置的变化非常不好描述,考虑将所有数固定。一次操作改为:不影响其他其他数的位置,将一个数放 ......
题解 P7650 7650

P2230 Tinux系统 题解

传送门 提供一种基于贪心的解法。 首先是将 \(p\) 从小到大排序 考虑到该系统是一棵树,所以对于系统中的每个点,我们记: \(tr_{son}\) 表示该点(目录)的儿子的位置 \(tr_{fa}\) 表示该点(目录)的父亲的位置 \(tr_{siz}\) 表示该点(目录)包含的点的个数 \(t ......
题解 系统 P2230 Tinux 2230

洛谷 P3287 [SCOI2014] 方伯伯的玉米田 题解

题目传送门 题目大意 给定一个长度为 \(N\) 的序列 \(a\),可以进行最多 \(K\) 次操作,每次操作可以选择一个区间加 \(1\)。 求操作之后最长的最长不降升子序列长度。 \(1\le N\le 10^4\),\(1\le K \le 500\),\(1\le a_i\le 5000\ ......
题解 伯伯 玉米 P3287 3287

CF练习题16 (毒瘤数据结构)

Lomsat gelral 把树拍成一条链,询问子树等于询问区间。 这样一看这道题就非常莫队。 但是有要求个数最多的颜色的编号,我们可以用线段树动态维护颜色的最大值。 这样,一个无脑莫队线段树的暴力就做出来了。 int n,a[N]; int dfn[N],nfd[N],cnt; int b[N], ......
毒瘤 数据结构 练习题 结构 数据

YACS 2023年10月月赛 甲组 题解

目前只有 T2,其他题目我在看。 题目链接1 题目链接2 题目链接3 T2 很简单的一道题,将图分为若干个连通块,然后分别求最小生成树。 从货车运输中得到的结论,最小生成树等价于最小边权上限生成树,也就是它也能够保证选出边中最大的边权最小。 而题目中明确说了这个最小生成树的权值是其中边权的最大值。 ......
甲组 题解 月月 YACS 2023

CF1073G Yet Another LCP Problem

一道 *2600 调了一年,代码细节是有点粪了,但自己菜也是挺菜的。/oh/oh 考虑容斥,令 \(f(A)=\sum\limits_{i,j\in A}\operatorname{lcp}(i,j)\),那么答案就是 \(f(A\cup B)-f(A)-f(B)\)(这里的并表示可重集合并)。 令 ......
Another Problem 1073G 1073 Yet

CF364D Ghd

做法大同小异,但不知道为啥我跑这么慢而且还容易被卡。/kk 由于这题看上去和概率一点关系都没有并且 CF 标签中有 probabilities,不难想到随机。 由于答案子集大小至少为 \(n\) 的一半,我们每次随机一个数 \(a_i\),它在最终答案集合里的概率为 \(\frac{1}{2}\)。 ......
364D 364 Ghd CF

CF248E Piglet's Birthday

提前了一个月,就做掉了这题,不过还是庆祝一下吧。( 考虑 dp。令 \(f_{u,i}\) 表示货架 \(u\) 还剩 \(i\) 罐未被吃的蜂蜜的概率。答案就是 \(\sum f_{u,0}\)。 考虑一次修改 \(u\to v\),由于被移动的蜜罐都被吃了,所以 \(v\) 的 \(f\) 数组 ......
Birthday Piglet 248E 248 CF

[NOI2010] 超级钢琴 题解

[NOI2010] 超级钢琴 题解 说点闲话 原本不想写这个题解的 但是看到我的代码居然长度为2048B->刚好2KiB,然后还跟题号相同QAQ 题目翻译 给你一段序列,求出其中从第\(1\)大到第\(k\)大的子区间的和。 思路解析 首先可以想到一个简单的暴力,对于每一个区间开头\(i\),和区间 ......
题解 钢琴 2010 NOI

2023 CSP-J2 T1,2,3题解

今年的 \(CSP−J\) 对本蒟蒻来说有点难度。。。 A [CSP-J 2023] 小苹果 题目描述 小 Y 的桌子上放着 \(n\) 个苹果从左到右排成一列,编号为从 \(1\) 到 \(n\)。 小苞是小 Y 的好朋友,每天她都会从中拿走一些苹果。 每天在拿的时候,小苞都是从左侧第 \(1\) ......
题解 CSP-J 2023 CSP T1

[TJOI2013] 松鼠聚会 题解

[TJOI2013] 松鼠聚会 题解 切比雪夫距离 切比雪夫距离指的是在平面上的两个点\((x_1,y_1)\),\((x_2,y_2)\)之间横纵坐标之差绝对值中的大者。用公式表示则是\(f(a,b)=max(|x_a-x_b|,|y_a-y_b|)\)。 切比雪夫距离与曼哈顿距离之间可以相互转换 ......
题解 松鼠 TJOI 2013

[NOIP 2013提高组]货车运输 题解

[NOIP 2013提高组]货车运输题解 前置知识 Kruskal 重构树(内含讲解)+任意一种LCA 题目翻译 \(n\)座城市,\(m\)条道路,\(q\)次询问,每次求两个点\(x,y\)之间所有路径的最小值的最大值。 题目分析 其实学了Kruskal重构树差不多看到这个题目就知道怎么写了。 ......
题解 货车 NOIP 2013

#dp,二项式反演,容斥#CF285E Positions in Permutations

题目 问有多少个长度为 \(n\) 的排列 \(P\) 满足 \(|P_i-i|=1\) 的 \(i\) 的个数恰好为 \(k\) 个 分析 设 \(dp_{i,j,k}\) 表示前 \(i\) 个数钦定 \(j\) 个数满足上述条件且现在 \(i\) 和 \(i+1\) 因此被占用的方案数。 那么 ......
二项式 Permutations Positions 285 dp

CF777D题解

分析 发现每个字符串只会被它的后缀规定,那么就从后往前计算,使得计算每个字符串的时候其后缀已经合法。 因为每一次计算我们都只想删最少的字符,而且删得越少这个字符串的字典序就越大,所以它的前缀的最小字典序就越大,需要删的字符就越少,所以对于每一次计算都只删最少的字符的贪心策略符合全局最优,所以这个贪心 ......
题解 777D 777 CF

CF1520

CF1520 \(div3\) 信心场! Do Not Be Distracted! 开一个 \(vis\) 数组即可 只要连续两个字符不相同 就将前一个打上标记 那么我们访问任意一个具有标记的节点就判断无解即可 #include <bits/stdc++.h> using namespace st ......
1520 CF