基础算法 刷题记录
文章平均质量分 73
本专题包含构造、枚举、贪心、递归、前缀和与差分等基础算法题目的题解
HeartFireY
可能是ACMer、JXNU计算机科学协会前会长
展开
-
集美大学第九届程序设计竞赛 L.序列 逆序对
链接:https://ac.nowcoder.com/acm/contest/42400/L。原创 2022-11-09 12:40:00 · 386 阅读 · 0 评论 -
[线段树套单调栈] 2019-2020 ICPC Asia Hong Kong Regional Contest H.[Hold the Line]
你已经建造了一条由编号从到的战壕组成的防线,每条战壕最初都是空的。士兵们正在等待你的命令,每个士兵都有一个喜欢的射击高度。考虑如何检查合法性:由于在权值线段树上丢失了区间信息,因此二分时要检查合法性:我们对每个节点记录两个值:位置。注意此时查询的是最近的操作,而不再是具体的节点。,那么第一个节点就可以被后者覆盖。因此对每个节点维护一个随。分别将修改操作和询问操作离线,然后分别按照右端点排序。随着战斗的进行,以下两个事件可能会发生。那么对于任意两个节点状态,当时间戳。,然后取差值最小值即可。原创 2022-10-04 10:08:09 · 469 阅读 · 0 评论 -
The 2021 ICPC Asia Nanjing Regional Contest E.Paimon Segment Tree 区间合并线段树/维护矩阵乘法
给定长度为n的序列a1,a2,…,an,要求支持区间加操作,同时对操作记录历史版本,查询问区间[l,r]操作[s,t]中的每个数的平方之和。原创 2022-10-03 17:06:38 · 936 阅读 · 4 评论 -
HDU5869 Different GCD Subarray Query 离线查询/区间贡献
那么用维护区间内不同数字的数目的思路解决。原创 2022-09-23 18:44:11 · 178 阅读 · 0 评论 -
牛客多校4.H.Holding Two 构造
牛客多校4.H.Holding Two 构造构造一个矩阵,使得在同一方向(横向、竖向、斜向)连续的三个元素不全部相同。直接构造两两连续相同的矩阵即可,例如:00110011...11001100...00110011......没找到不合法的情况。。。#include <bits/stdc++.h>using namespace std;int ma[1010][1010];signed main(){ int n, m; cin >> n >原创 2021-07-31 18:21:37 · 176 阅读 · 0 评论 -
搜索-迭代加深搜索、IDA*算法
文章目录一、迭代加深搜索1.迭代加深搜索 简介2.迭代加深搜索的基本步骤3. 伪代码描述4.适用场景二、IDA*搜索1.IDA*搜索 简介2.伪代码3.优点/缺点1).优点2).缺点三、例题1.DNA Sequence一、迭代加深搜索1.迭代加深搜索 简介迭代加深是一种 每次限制搜索深度的 深度优先搜索(DFS)。它的本质还是深度优先搜索,只不过在搜原创 2021-05-26 23:57:09 · 1484 阅读 · 0 评论 -
Trie 字典树 详解
一、字典树1.字典树简介字典树,英文名Trie,如其名:就是一棵像字典一样的树。我们首先通过一张图来理解字典树的结构:我们假定结点的顺序按照图中给定的顺序进行编号,容易发现,在一个给定的树上,从每个根节点出发到达子节点的路径边代表一个字母。实际上,每个节点出发的几条边所代表的字母是从左到右的顺序按照字典序排列的。那么我们可以知道:从根节点出发,到达某个指定的结点的路径可以构成一个字...原创 2021-05-24 21:23:00 · 5866 阅读 · 6 评论 -
牛客小白月赛32 C.消减整数 思维规律
链接:https://ac.nowcoder.com/acm/contest/11163/CProblem Analysis给出一个正整数H,从1开始减,第一次必须减1,每次减的数字都必须和上一次相同或者是上一次的两倍,请问最少需要几次能把H恰好减到0。数据范围不小,到1e91e91e9了。因此考虑十进制下的减法和倍乘运算意义不大。①.第一次必须减一,这里我们不妨联想到二进制单个数位的规律:我们规定减数为1要使111变成000,那么需要做减法111次;要使000变成000,那么需要先借位111次原创 2021-03-21 08:58:39 · 382 阅读 · 1 评论 -
牛客IOI周赛23-提高组C.星星-环形纸牌问题
链接:https://ac.nowcoder.com/acm/contest/11165/C题目描述牛牛带着他的小伙伴跑去天上摘星星了。每一只牛都摘了一堆星星,由于他们去的区域不同,所以所摘的星星数量也不同,但是他们是相亲相爱的一家人,所以他们围成一个圈(按顺序编号1到n,第i只牛牛有ai颗星星),他们想办法将星星数量均分,但是牛牛们的手很短,每次只能跟相邻的一个人进行交易, 在问最少需要交易多少次,每个人才能获得相等的星星,题目保证有解。输入描述:第一行一个正整数n,表示有多少只牛牛第二行n个原创 2021-03-07 11:10:48 · 360 阅读 · 4 评论 -
Good Subarrays 前缀和+map优化 题解
题目描述Problem DescriptionYou are given an array a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an consisting of integers from 000 to 999. A subarray$ a_l,a_{l+1},a_{l+2},…,a_{r−1},ar$ is good if the sum of elements of this subarray is equal to the length of this subarr原创 2021-02-13 11:51:47 · 227 阅读 · 1 评论 -
Minimum’s Revenge
题目描述Problem DescriptionThere is a graph of n vertices which are indexed from 1 to n. For any pair of different vertices, the weight of the edge between them is the least common multiple of their indexes.Mr. Frog is wondering about the total weight of th原创 2021-02-13 11:50:52 · 157 阅读 · 0 评论 -
HDU-1556 Color the ball 前缀和与差分的应用 分析与题解
题目描述Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3…N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球a开始到气球b依次给每个气球涂一次颜色。但是N次以后lele已经忘记了第I个气球已经涂过几次颜色了,你能帮他算出每个气球被涂过几次颜色吗?Input每个测试实例第一行为一个整数N,(N <= 100000).接下来的N行,每行包括2个整数a b(1 <= a <= b <= N)。当N =原创 2021-02-09 22:10:18 · 575 阅读 · 0 评论
分享