随笔分类 -  题解

P9912 [COCI 2023/2024 #2] Zatopljenje 题解
摘要:解法 一组询问 先考虑一个简化版的情况,如果只有一组询问怎么处理。 那不直接打暴力 可以考虑一个常见的技巧:每个位置赋一个颜色 ci,满足: ci={1hi>x0hix这样我们就把原来的序列变成了
16
0
0
P10223 [COCI 2023/2024 #3] Eurokod 题解
摘要:解法 模拟题意即可。 先按组长评出的顺序赋上得分。 然后将其他成员给出的评分进行排序,然后赋上相应的得分。 这一步可以使用 pair<int, int> 进行存储。 最后再按总得分为第一关键字,成员评分为第二关键字排序。 这里可以用自定义结构体存储。 按题意输出即可。 Code #include<b
22
0
0
P3191 [HNOI2007] 紧急疏散EVACUATE 题解
摘要:题目描述 P3191 HNOI2007 紧急疏散EVACUATE 题目解法 看到数据范围:网络流 看到求时间:二分或分层 再看到给出的数据:BFS 所以我选择网络流+分层+BFS 建图 首先每个空地 (i,j) 都有一个人,所以从源点 s 连一条流量为 1 的边到 \((i,
6
0
0
题解:CF37E Trial for Chief
摘要:题目分析 题意 给一张全白的图,每次可以将一个四联通块染黑或染白,求转化到目标最少染色次数。 分析 考虑倒着想,由目标染回原图。 易得倒着染回去和正着染的最少染色次数相同。 所以我们考虑从最后的图入手。 考虑从某一个点 (i,j) 开始染色。 尝试进行建图。 在同样的颜色间转移的代价是 \(
4
0
0
题解:CF173B Chamber of Secrets
摘要:题目分析 题意 题干很丑陋 于是自己转换了一下问题: 可以考虑成倒着跑,从 (1,1) 出发,方向向右,抵达 (n,m+1)。 每次遇到 # 可以以 1 的代价更换方向。其余情况均只能以原方向前进。 求最小代价。 分析 考虑分层图最短路。 每一层只能沿一个方向移动,边权为
6
0
0
P6743 [BalticOI 2014 Day2] Senior Postmen 题解
摘要:题目描述 P6743 BalticOI 2014 Day2 Senior Postmen 题目解法 看到题目想到直接爆搜。 根据题意,只要找出所有互不相交的简单环即可。题目保证了合法性。 跑 dfs,每次到达一个点 u 就将其放入栈 stk 中。如果栈 stk 中已经有点 \
8
0
0
CF1746F Kazaee 题解
摘要:CF1746F Kazaee 题解 题目描述 CF1746F Kazaee 题目解法 看到题目能想到一个相当劣的树状数组做法:先离散化,然后对每个数开个树状数组,每次查询区间内每个数的个数。 这个做法相当劣,修改 O(logn),查询 O(nlogn),总的复杂度为 \(O
7
0
0
P8575 「DTOI-2」星之河 题解
摘要:P8575 「DTOI-2」星之河 题解 题目描述 P8575 「DTOI-2」星之河 题目解法 看题目就能感觉到是一道求偏序的题。所以我们先找偏序关系。 RediBluei 的关系题面已经给出,现在考虑子树关系。 自然而然地联想到 dfs 序。 先求出每个点的 dfs 序
8
0
0
CF1494B Berland Crossword 题解
摘要:CF1494B Berland Crossword 题解 题目描述 CF1494B Berland Crossword 题目解法 思路 不难发现,会导致行和列互相干扰的格子只有矩阵角上的四个格子。 共有 4 个格子,有 24=16 种情况。 可以暴力枚举所有情况。 每次只需要判断该
5
0
0
CF58D Calendar 题解
摘要:CF58D Calendar 题解 题目描述 CF58D Calendar 题目解法 暴力题。 我们发现输出的字符串中除了每一行最后一个串没有分割字符,其余的都有。 并且每一行只会有两个字符串。 我们可以在每个输入的字符串后面加上分割字符后再进行排序,这样可以保证字典序最小。 每次枚举一个字符串,找
4
0
0
CF237B Young Table 题解
摘要:CF237B Young Table 题解 题目描述 CF237B Young Table 题目解法 题目中要求满足以下条件: 对所有的 i,j(1<in,1jci),满足 ai,j>ai1,j 对所有的 \(i,j (1\leq i
2
0
0
CF895B XK Segments 题解
摘要:CF895B XK Segments 题解 题目描述 CF895B XK Segments 题目解法 朴素想法 最简单的想法就是枚举二元组 (i,j) 的第一项 i,然后再枚举 j,找到一个满足条件的 aj,然后更新答案。 很明显,该做法的时间复杂度为 \(O(n^
8
0
0
[AGC048A] atcoder < S 题解
摘要:题目 [AGC048A] atcoder < S 分析 观察目标字符串,发现对于 atcoder 这个字符串,第一位 a 是最小的字符,而第二位 t 是最大的字符。容易得到一个贪心思路。 找到第一个大于 a 的,然后和第一位交换。 找到第一个大于 t 的,然后和第二位交换。 考虑两种特殊情况。 本身
9
0
0
P9837 题解
摘要:奇怪的构造方法居然过了... 本构造方法暂无证明,只是提供一种乱搞做法。 对于奇数的情况 首先我们从样例入手(为 5 的情况): 1 2 3 4 2 5 3 5 1 4 5 4 3 1 2 然后我们对样例进行一点改造: 1 2 3 4 1 5 3 5 2 4 5 4 3 1 2 我们将这个数
4
0
0
[ARC023D] GCD区間 题解
摘要:[ARC023D] GCD区間 upd on 2024.1.26:修正了 ST 表的时间复杂度分析。 一道数据结构维护 gcd 的好题。 首先,大家应该都能想到一种大暴力:枚举左右端点 l,r, 暴力计算 gcd 然后开个哈希表记录每个 gcd 出现了几次。
6
0
0
题解:P5680 [GZOI2017] 共享单车
摘要:题目分析 出题人是擅长隐藏题意的 建树 首先给你一张无向图,然后指定一个根节点 k,从根节点开始沿最短路到每一个节点。如果到某个节点有多条最短路径,选择上一个节点编号最短的。 考虑记录前驱的 Dijkstra。 namespace DJ { int dis[maxn], pre[maxn],
10
0
0
AT_geocon2013_b 玉座の間 题解
摘要:前置知识:费用流 题目分析 题意 平面上有 n 个点,你要给每个点移动位置,使得最终的图形沿 y 轴对称。求移动的欧几里得距离之和的最小值。 其实从题干想到费用流确实很神奇。 但是想到之后后继步骤还是很简单的。 解法 首先易得以下几条结论: 把一个点移到 y 轴的另一面并不优
5
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起