分类: 洛谷

62 篇文章

洛谷P1281 书的复制
url: https://www.luogu.com.cn/problem/P1281tag:二分,贪心思路:求可以满足条件的最小值,所以可以想到用二分来做。二分的是复制时间,所以范围是在0到全部的页数。二分的思路是利用这个复制时间来求出一个需要的人数,将这个人数和题目所给的认识做一个比较,因为要满足条件,所以人数需要小于等于题目给的人数。可以知道…
洛谷P1827 美国血统
url: https://www.luogu.com.cn/problem/P1827tag:递归, 二叉树代码:#include <iostream> #include <string> using namespace std; string inorder, preorder; void buildPostorder(i…
洛谷P2004 领地选择
url: https://www.luogu.com.cn/problem/P2004tag:前缀和思路:先求前缀和,然后遍历右下端点,求出每个对应的子矩阵的总和,判断是否大于res,如果大的话就更新res和坐标x,y。最后输出x和y即可。ps:这道题很简单,本来不应该传博客的,但是觉得自己写的好优美,忍不住传一下,以后偶尔可以翻出来看看。真的好优…
洛谷P4343 自动刷题机
url: https://www.luogu.com.cn/problem/P4343tag:二分,模拟思路:思路比较简单,根据题目可以知道当n越小时切出来的题目数量越多,根据这个来二分。分别二分出一个最小值和一个最大值。这道题是细节比较 恶心(bushi 多,需要注意的点比较多。第一个是二分的范围,题目只有一个xi的范围是1e-9到1e9,经测试…
洛谷P1115 最大子段和
url: https://www.luogu.com.cn/problem/P1115tag:最大子数列,Kadane 算法,动态规划思路:使用动态规划得方法来求解,用两个变量currentSum,和maxSum,分别来维护以当前位置结尾的最大子段和以及全局的最大子段和。状态转移分别是currentSum = max(a, currentSum +…
洛谷P1090 合并果子
url: https://www.luogu.com.cn/problem/P1090tag: 哈夫曼(Huffman)树 , 优先队列思路:因为每次合并果子需要的体力值是两堆果子的重量之和,所以为了让总的体力值最小,可以使用贪心的策略,每次都只合并所有堆中重量最小的两堆。因此可以使用优先队列,每次取出两个头节点,res += 两个节点值的和,再将…
洛谷P1795 无穷的序列
url: https://www.luogu.com.cn/problem/P1795tag:二分思路:将每一个以1开头的片段当作一个整体ki,同时用ki表示当前片段数字的个数,那么若干个ki组合起来的片段的最后一个位置的坐标就是对ki求和Si。所以可以先用二分找到一个大于A的最小值,则A就在那个ki当中,然后求一下A距离上一个ki的偏移量,用A减…
洛谷P2280 激光炸弹
url: https://www.luogu.com.cn/problem/P2280tag:前缀和思路:这是一道二维前缀和。根据题意可以知道边长为m的爆破正方形最多可以破坏 m m 个目标,所以题目就变成了找到地图范围内,大小为m m的子矩阵中总价值最大的值。地图的范围可以直接定义成边界5000 5000,也可以像代码中的一样,一开始为m m表示…
洛谷B3738素数方阵
url: https://www.luogu.com.cn/problem/B3738tag:模拟,数学思路:数据范围比较小,可以用模拟的方式来通过这道题。比较难的部分应该是蛇形填充。这里可以先用一个数组来存放四个前进的方向。之后每次都判断一下前进之后的位置符不符合要求(不越界且当前位置没有被填充过),如果符合要求则前进,然后将数字放进矩阵,否则就…