上一页 1 ··· 17 18 19 20 21
摘要: 题意:n个数m个查询,三种操作。 1:区间的数都+k。2:区间的数都*k。3:求区间和 分析:考虑如何设计区间更新规则。 对于lazy的更新:如果乘进来,那么和跟乘积都乘,然后和加上和。如果和进来直接加。如果同时进来,也是先乘再加。 对于区间sum的更新,按照先乘再加即可。 (突然发现lazy标记的 阅读全文
posted @ 2024-01-11 22:35 _Yxc 阅读(15) 评论(0) 推荐(0)
摘要: 题意:给n个数,m个查询。查询有两种,第一种将[l,r]的数都开方。第二种对[l, r]求和。 分析:不用segmenttree,对于一个数开放次数不会超过10次。所以直接暴力开方,用dsu降时间复杂度,fenwicktree负责求区间和。 但是WA了3个点,不知道为什么,现在唯一能想到的原因就是输 阅读全文
posted @ 2024-01-11 11:39 _Yxc 阅读(14) 评论(0) 推荐(0)
摘要: 题意:n<=40, m <= 1e18,n个数中,组合的和<=m的组合有多少种。 分析:n是40,双向广搜的思路,压缩搜索范围,分成2个 2^20进行搜索。 再二分查找合法的另一半中的元素数量 void solve(){ long long n, m; cin >> n >> m; vector<l 阅读全文
posted @ 2024-01-10 22:01 _Yxc 阅读(18) 评论(0) 推荐(0)
摘要: 题意:给一个n个数字的集合,问集合中有多少个子集满足后面的条件。 其中条件是该集合可以分为两个独立子集,这两个子集的和相等。 分析:第一种思路是枚举所有的集合,然后对每个集合进行暴力枚举,时间复杂度O(1 << 40)得分45。 第二种思路是枚举所有的集合,然后对集合元素求和,转01背包问题,时间复 阅读全文
posted @ 2024-01-10 18:48 _Yxc 阅读(36) 评论(0) 推荐(0)
摘要: 题意:给起始和终止串A和B,以及不超过6个字符串变换规则,求A->B能否在10步以内变换完成。 分析:暴力bfs每次有6条路可以走,时间复杂度是6^10 大概6e8的时间复杂度,会TLE。于是这题是一道经典的双向bfs。 直接开两个队列,两个map,暴力搜1~5步即可。 双向bfs的时间复杂度是2 阅读全文
posted @ 2024-01-10 12:02 _Yxc 阅读(66) 评论(0) 推荐(0)
摘要: 问题描述:密码锁有起始和目标两个状态,状态有4个连续数字,数字范围是1~9。其中特殊情况9 + 1 = 0, 1 - 1 = 9。 每次操作可以交换相邻的两个锁上的数字,或者将该位上数字±1。求最小操作次数 分析:是一道双向广搜的题,但是这个题目的第一个思路就是枚举所有的排列组合状态,然后对每个状态 阅读全文
posted @ 2024-01-10 10:59 _Yxc 阅读(69) 评论(0) 推荐(0)
上一页 1 ··· 17 18 19 20 21