题解atcoder agc 004

[ARC166D] Interval Counts 题解

Description 给定正整数 \(n\) 和长度为 \(n\) 的序列 \(x_i,y_i\),保证 \(x_i\) 单调递增。你要构造 \(m\) 个区间 \([L_i,R_i]\)(\(m\) 由你指定),使每个 \(x_i\) 恰好被 \(y_i\) 个区间包含。 最大化 \(\min_ ......
题解 Interval Counts 166D ARC

P2514 [HAOI2010] 工厂选址 题解

## _Description_ 有 $m$ 座煤矿,每一座煤矿有 $a_i$ 吨煤,第 $i$ 座煤矿到第 $j$ 号发电厂的运费为 $c_{i,j}$ 每吨。 有一座发电厂(标号为 ```0```),需要恰好 $b$ 吨煤矿发电,初始运行费用为 $h$。还有 $n$ 座待运行的发电厂(标号为 ... ......
题解 工厂 P2514 2514 2010

ctf_show Web的Web8题解

好久没写博客,上次写还是在上次(三年前)。 如题,写一次CTF的题解 根据题目提示得知这应该是一个注入,什么注入还不知道,进入靶场。 仅有三个地方可点,都点进去看看。 从URL处可以看到前端是传了一个参数id给后端(另外两个类似,就不贴图了)。 那很明显了是SQL注入。 首先在参数后面打个'(单引号 ......
题解 Web ctf_show Web8 show

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

CF777E题解

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

AtCoder Beginner Contest(abc) 310

B - Strictly Superior 难度: ⭐ 题目大意 给定n个商品的价格, 每个商品还有若干个属性, 请问是否存在一个商品是另外一个商品的上位品; 上位品的定义分两种, 一是价格相同, 但是商品A的属性不仅包括了商品B的属性, 还比商品B多了至少一个属性; 二是如果两商品的属性相同, 但 ......
Beginner AtCoder Contest 310 abc

NOIP2023模拟5联测26 题解

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

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

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

[TopCoder 13001] BigO 题解

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

AtCoder Beginner Contest 325

感觉错失了上分机会 A - Takahashi san (abc325 A) 题目大意 给定姓和名,输出尊称,即姓+san。 解题思路 按照题意模拟即可。 神奇的代码 #include <bits/stdc++.h> using namespace std; using LL = long long ......
Beginner AtCoder Contest 325

题解 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

YACS 2023年10月月赛 甲组 题解

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

[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

CF777D题解

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

CF777题解

分析 先对每一列都做 DP 寻找极长单调不降区间,能够得到若干极长单调不降区间,只要询问的区间是这些区间的子区间,那么说明在这个区间内必有一列的这个区间是单调不降的。 思考如何快速判断子区间。 用 \(f_{x}\) 表示以 \(x\) 为所有左端点为 \(x\) 的区间的右端点最大值,那么对于询问 ......
题解 777 CF

CF777B题解

分析 思考对于 \(M\) 的每个数而言,贡献是一定的,它最多只能换掉一个数。 那么贪心地能换就换,但是如果换小的可能会导致更小的数换不掉,那么就换能换的最大的,这样不会干扰只能换小数的其他数,能换这个数的可以去换其他数,如果连其他数都换不掉说明这两个数等效,换谁都一样,所以这样换一定是最优的。 如 ......
题解 777B 777 CF

CF777A题解

分析 发现操作 \(6\) 次后就会回到初状态,于是将状态打表,将 \(n\bmod6\) 即可。 代码 #include <iostream> using namespace std; constexpr int MAXN(1000007); int a[6][3] = { {0, 1, 2}, ......
题解 777A 777 CF

AtCoder Beginner Contest 216 H Random Robots

洛谷传送门 AtCoder 传送门 下文令 \(n\) 为原题中的 \(K\),\(m\) 为原题中的 \(N\)。 首先概率转方案数,最后除 \(2^{nm}\) 即可。 考虑一个指数级暴力:枚举每个 bot 的终点 \(y_i\)(因为存在不能相交的限制,需要满足 \(y_1 < y_2 < \ ......
Beginner AtCoder Contest Random Robots

CF888G题解

分析 看到异或不难想到 01Trie。 不难想到,当两个数的值相等的时候,我们可以当这两个点是一个点,因为连边的费用为 \(0\)。 那么对于一个序列 \(n\),若存在 \(m\) 种不同的权值,那么在 Trie 树上子节点数为 \(2\) 的节点就有 \(m-1\) 个(因为如果一个数新加进来与 ......
题解 888G 888 CF

P3400 仓鼠窝 题解-单调栈典题

20231026 P3400 仓鼠窝 题解-单调栈典题 Statement 传送门 输出 01 矩阵中不含 0 的子矩阵的个数。\(n,m \le 3000\) Solution 很妙的做法,典题,于是写了题解。 做法也很简单,就是你枚举每一个节点作为右上角的点的方案数, 发现其实有很多无用的点,比 ......
仓鼠 题解 P3400 3400

P8865 [NOIP2022] 种花 题解

前言 去年多测不清空导致即便 CCF 放过了我的 \(O(n^2 m)\) 的代码但依然挂成了 \(0pts\)。 当时看清空数组后能过 CCF 数据就没再管。 时隔 \(1\) 年,重做这道题写了 \(O(nm)\) 的正解,终于完成了当年的心愿。 \(O(n^2 m)\) 思路 想到计算方案的话 ......
题解 P8865 8865 2022 NOIP

SP4082 MBLAST - BLAST 题解

几万年前做的 dp 题了,有亿点点水 题意简述 求一个字符串添加多少个空格距离最小 解法 求距离最小,可以考虑动规,其实这题的写法和最长公共子序列的写法类似。 我们设 \(f(i,j)\) 表示 \(a[1] \sim a[i]\) 和 \(b[1] \sim b[j]\) 的距离 不加空格的时候为 ......
题解 MBLAST BLAST 4082 SP

CF596B Wilbur and Array题解

同步发布与洛谷(太懒了不想写东西直接搬过来了(((逃 ) 原题链接 简单贪心。 题意 求一个起始全为 \(0\) 的数列 \(a_1,a_2 \cdots a_n\) 每次可以选择一个数 \(i\) 使 \(a_i \cdots a_n\) 都加上或减去 \(1\),求修改成给定的序列 \(b_1, ......
题解 Wilbur Array 596B 596