泥豪!我是2789617221guo!欢迎|

2789617221guo

园龄:1个月粉丝:2关注:2

随笔分类 -  C++题解

洛谷P1843 奶牛晒衣服 题解
摘要:本题做法 二分答案+贪心。 思路 二分一个答案\(x\),每次检测\(x\)是否可行。 遍历每一件衣服,先将原本的湿度值减去\(x\cdot a\),再判断,若已经干了(即湿度值\(\le0\)),则不再处理,否则使用烘干机烘干,记录使用的时间。最后若总时间小于等于\(x\),返回true;否则返回
2
0
0
洛谷P1661 扩散 题解
摘要:本题做法 二分答案+并查集。 思路 二分答案\(x\),使用并查集判断在\(x\)时刻内是否能够形成连通块。 若任意2点的曼哈顿距离(即\(x\)坐标和\(y\)坐标的差值之和)小于等于\(2x\)(因为2个点是同时在扩散的),则这2点在\(x\)时刻内是可以形成连通块的。将2点在并查集内连边在一起
3
0
0
洛谷PP1570 KC 喝咖啡
摘要:本题做法 01分数规划+二分答案。 思路 二分答案\(x\),\(check\)函数内部将每个调料的\(v_i-xc_i\)求出,再从大到小排序,将前\(m\)个的值累加,返回这个和是否大于等于0。 代码 #include <bits/stdc++.h> #define endl '\n' #def
3
0
0
洛谷P10505 Dropping Test 题解
摘要:本题做法 01分数规划(或许?类似贪心?)。 思路 这题是一道01分数规划的模板题(虽然没有写在标题里)。 本文主要讲解01分数规划的介绍与使用方法。 何为01分数规划? 01分数规划用于解决如下这类问题: 每个物品有2个权值\(a_i\)和\(b_i\),给定这些权值,要求选择\(k\)个物品,使
5
0
0
洛谷P1396 营救 题解
摘要:本题做法 二分答案+BFS。 思路 对于输入的数据,使用4个数组\(head,tail,value,next\)记录每个点的第一条边、每条边的结尾、每条边的拥挤值以及每条边的下一条边。 随后使用二分答案法二分所求的答案,使用\(check\)函数检测是否可行。 \(check\)函数:从\(s\)点
2
0
0
洛谷P1281 书的复制 题解
摘要:本题做法 贪心策略+二分答案。 思路 贪心策略:让越往前的同学抄的书尽可能少,后面的尽可能多。 使用二分答案法,详细讲解\(check\)函数的写法。 \(check\)函数 传入一个参数\(x\),代表当前二分出的预定最短复制时间。从第\(m\)本书到第1本书反向遍历,若当前同学再抄第\(i\)本
2
0
0
洛谷P1259 黑白棋子的移动 题解
摘要:题目传送门。 思路 可以使用递归来解此题。 我们发现,当我们把第 \(n\) 和 \(n+1\) 个棋子移动到第 \(2\times n+1\) 和 \(2\times n+2\) 的空位上,再把第 \(2\times n-1\) 和 \(2\times n\) 个棋子移动到第 \(n\) 和 \(
4
0
0
洛谷P1010 [NOIP 1998 普及组] 幂次方 题解
摘要:洛谷P1010 [NOIP 1998 普及组] 幂次方 题解 题目传送门。 思路 使用一个函数 \(dfs\) 作为递归函数,传入一个参数 \(n\) 表示要分解 2 次幂的数。如果 \(n=1\),直接输出 \(2(0)\);如果 \(n=2\),输出 \(2\)。随后输出 \(2\),使用一个变
8
0
0
洛谷P1990 覆盖墙壁 题解
摘要:洛谷P1990 覆盖墙壁 题解 题目传送门。 本题是一道非常好的递推题,请认真阅读,争取不看代码自己写出答案。 思路 我们可以设 \(f_i\) 为覆盖 \(2\times i\) 的所有覆盖方案。显然,边界条件 \(f_0\)(即没有列了,不用覆盖)和 \(f_1\)(只有 1 列,即一个 \(\
7
0
0
洛谷P1786 帮贡排序 题解
摘要:洛谷P1786 帮贡排序 题解 题目传送门。 思路 使用结构体定义类型 person 表示一个人,结构体内成员变量需包含名字、职位、帮贡、等级、输入顺序(即ID),用 2 次 sort 排序将 person 数组排序。 第一次排序:cmp1 cmp1 是第一次排序时的自定义比较函数(用法如:sort
3
0
0
洛谷P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two 题解
摘要:洛谷P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two 题解 题目传送门。 思路 使用简单的模拟思想来模拟Farmer John和2头牛的移动过程,唯一的难点在于如何判断是否永远无法抓到2头牛。 这个难点可以使用一个简单的六维bool型数组来判断,若在某一时间点,2个
5
0
0
洛谷P4924 [1007] 魔法少女小Scarlet 题解
摘要:洛谷P4924 [1007] 魔法少女小Scarlet 题解 题目传送门。 思路 通过模拟几次顺时针和逆时针的转换,不难发现每次顺时针旋转后,第\(i\)行的内容往往就与原来的第\(i\)列内容有关,如下表: 1 2 3 4 5 6 7 8 9 顺时针旋转后: 7 4 1 8 5 2 9 6 3 同
3
0
0
洛谷P1563 [NOIP 2016 提高组] 玩具谜题 题解
摘要:洛谷P1563 [NOIP 2016 提高组] 玩具谜题 题解 题目传送门。 思路 这题就是一道简单的小模拟题,唯一需要注意的是序号-1为顺时针数,+1为逆时针数。 代码 #include <bits/stdc++.h> #define endl '\n' using namespace std;
7
0
0
洛谷P1014[NOIP 1999 普及组] Cantor 表 题解
摘要:P1014[NOIP 1999 普及组] Cantor 表 题解 题目 题目传送门。 题解 思路 这是一道有意思的经典递推题目。 通过肉眼观察和枚举样例理解,不难发现,第\(x\)条“/”斜线上有\(x\)项元素,当\(x\mod2=0\)时,第\(i\)项\(a_i\)/\(b_i\)中的分子\(
14
0
0
洛谷P1387 最大正方形 题解
摘要:P1387 最大正方形 题解 题目 题目传送门。 题解 思路 这题可以使用二维前缀和解。(不懂什么是二维前缀和或者不会基本公式的可以先去网上搜一下,这篇文章不会讲基础的哦) 使用\(s\)存\(a\)的二维前缀和,枚举正方形的左上端点,再在内部枚举一个\(p\)代表正方形长度,从\(mxl\)(即当
8
0
0
洛谷 P2367 语文成绩 题解
摘要:P2367 语文成绩 题解 题目 题目传送门。 题解 思路 这题是一道经典的差分题。 使用一个数组\(c\)表示\(a\)的差分数组,\(c_i=a_i-a_{i-1}\)。当要修改第\(x\)到\(y\)同学的成绩时,只需要在\(c\)中的\(c_{x}+z\)和\(c_{y+1}-z\)就可以了
7
0
0
洛谷 P1719 最大加权矩形 题解
摘要:P1719 最大加权矩形 题解 题目 题目传送门。 题解 思路 这题是一道二维前缀和的经典题目(可以说是模板题了)。 使用数组\(s\)表示数组\(a\)的二维前缀和,\(s_{i,j}\)表示\(a_{1,1}\)到\(a_{i,j}\)的和。需要求\(a_{i,j}\)到\(a_{k,l}\)的
12
0
0
洛谷P8218 【深进1.例1】求区间和 题解
摘要:P8218 【深进1.例1】求区间和 题解 题目 题目传送门。 题解 思路 这题是一道一维前缀和模板题,使用数组\(s\)作为前缀和数组,\(s_i\)表示数值数组\(a\)中\(a_1\)到\(a_i\)的所有数值的和。求数组\(a\)中第\(l\)项到第\(r\)项的区间和就可以用\(s_r-s
20
0
0
洛谷P2280 [HNOI2003] 激光炸弹 题解
摘要:P2280 [HNOI2003] 激光炸弹 题解 题目 题目传送门。 题解 思路 这题是一道标准的二维前缀和模板题。 用\(s_{i,j}\)表示数组\(a\)从\(a_{1,1}\)到\(a_{i,j}\)的矩形内所有数值的和。我们在读入\(x,y,v\)后存起来,随后处理数据到前缀和数组内。 然
7
0
0
洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树 题解
摘要:洛谷P1873 [COCI 2011/2012 #5] EKO / 砍树 题解 题目传送门。 思路 我们可以使用二分答案法。 二分查找砍树的高度\(H\),每次使用\(check(long\ long\ x)\)函数用于检测在\(x\)米高度时是否可以砍到\(m\)米以上的木头。 \(check\)
20
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起