随笔分类 - 算法
记录自己的acwing算法学习之路
摘要:题目链接 简单描述一下题意: 给定n个点,m条带权无向边,每个点i有一辆速度系数为Si的自行车。每经过一个点即可拥有该点的自行车,在任意两点之间路过的消耗为:已经拥有的某辆自行车的速度Si * 边权Wi,求从1号点到n号点的最小消耗。 思路: 因为需要求的是最小的总消耗,所以在某个点出发时,我们所选
阅读全文
摘要:题目链接🔗 题意解读:给定一串数组a,每次操作将所有的 a[i] != i 的数循环右移一位,直到所有的数都在自己的位置上。求对于1到n之间的每个i,需要移动多少次。 首先,先考虑移动次数的问题: 为了简化循环问题,考虑将数组长度手动扩充至 2 * n,对于所有的位置 i 上的一个 a[i] ,分
阅读全文
摘要:题目链接🔗 分析一下题意:给定一个初始数组A,以及m次操作,每一次操作会改变一个A中的数字,一共得到m+1个数组。 现在,要求出任意两个数组两两组合的情况中:所有的不重复数字出现次数的总和。 这道题想了很久,乍一看以为是模拟,手画递归找规律一直没想出来。看了题解思路,发现出发点就错了:因为每个数组
阅读全文
摘要:原题链接 解读一下题意:给一个长度n-1的数组,让你找到一个长度为n的数组b,并且是0到n-1的全排列,使得bi异或bi+1对于ai。 这道题乍一看没什么思路,但是仔细一想会发现其实考察的就是异或的性质。我们可以发现:如果a异或b等于c,那么abc任意两个异或都能得到另外一个,所以只要初始的b0确定
阅读全文
摘要:(https://codeforces.com/contest/1800/problem/G) 题目如下: 大意是:给定一颗以1为根节点的树,然后判断这棵树是不是对称的。这里使用AHU算法进行树哈希,在递归的时候对每一个子节点为根的子树求出一个编号,然后在map里面记录。通过判断子树的编号是否一样来
阅读全文
摘要:题目描述: 给定一个n,把n给打倒,然后递归的求出包含n在内的上面所有的会倒下的瓶子值的平方和。 这里使用二分先求出目前给定的n的行号i和列号j。观察可以发现,对于所有的列号j,j=1或者j=i时,是需要考虑往上单边的总和,其他情况都有两个分支。 再观察可以发现,两个分支在再上一行的重合部分,会被d
阅读全文
摘要:题目描述话说大诗人李白,一生好饮。幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗。他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上,他一共遇到店 N 次,遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。 请你计算李白这一路遇到店和花的顺序,有
阅读全文
摘要:201503-3 节日 #include <iostream> using namespace std; const int N = 1e6 + 10; int a, b, c, y1, y2; int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31,
阅读全文
摘要:20220302-2 CCF CSP 出行计划 这道题的核心是求出当前出行时间时符合条件的所有计划和; 因此可以考虑通过预处理差分数组提前得到各个时间点所有情况的交集. #include <iostream> #include <vector> using namespace std; typede
阅读全文
摘要:202203-1 未初始化警告 #include <iostream> using namespace std; const int N = 100010; int n, k, res; int l[N], r[N], map[N]; int main() { cin >> n >> k; for
阅读全文
摘要:第23次CCF CSP考试第一题 数组推导 题目描述 A1,A2,⋯,An 是一个由 n 个自然数(即非负整数)组成的数组。在此基础上,我们用数组 B1⋯Bn 表示 A 的前缀最大值。Bi=max{A1,A2,⋯,Ai} 如上所示,Bi 定义为数组 A 中前 i 个数的最大值。根据该定义易知 A1=
阅读全文
摘要:第24次CCF CSP考试第一题 序列查询 题目背景 西西艾弗岛的购物中心里店铺林立,商品琳琅满目。为了帮助游客根据自己的预算快速选择心仪的商品,IT 部门决定研发一套商品检索系统,支持对任意给定的预算 x,查询在该预算范围内(≤x)价格最高的商品。如果没有商品符合该预算要求,便向游客推荐可以免费领
阅读全文
摘要:第25次CCF CSP考试第一题 未初始化警告 题目背景 一个未经初始化的变量,里面存储的值可能是任意的。因此直接使用未初始化的变量,比如将其赋值给另一个变量,并不符合一般的编程逻辑。代码中出现这种情况,往往是因为遗漏了初始化语句、或是打错了变量名。对代码中使用了未初始化变量的语句进行检查,可以方便
阅读全文
摘要:acwing上一道题 这道题的数轴虽然无限长,但是x的范围是正负 1e9 ;审题发现,实际需要用到的坐标会小于等于 x + l + r,也就是数据范围在 3e5 以内。 因此为了防止数据量过大,我们可以考虑区间映射的方式将需要使用的坐标映射到一个新的数组a中。 再看题目是想求区间和,那么我们就应该首
阅读全文

浙公网安备 33010602011771号