07 2024 档案

摘要:链接 https://www.luogu.com.cn/problem/P3128 题目 分析 LCA+树上差分。思路就是先定义1为根节点,然后进行dfs1的预处理,配置好LCA的环境。然后条件思路就是端点++,lca--,lca的父亲(fa[lca][0])--。最后再做树上前缀和。就是从根节点开 阅读全文
posted @ 2024-07-21 20:39 WHUStar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1941/E 题目 思路 比较容易想到的一道题(但是之前想了好久hhh)。首先题意是对一连串的桥的代价求和,不难想到是前缀和求区间最小。那么就可以拆分这题为每行处理。容易想到dp,而且dp的过程也比较简单:设d 阅读全文
posted @ 2024-07-21 18:13 WHUStar 阅读(6) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1779/C 题目 思路 1-m的前缀和最小。那么显然知道[1,m-1]的前缀和更大,所以a[m] 代码 #define _CRT_SECURE_NO_WARNINGS #include<iostream> # 阅读全文
posted @ 2024-07-21 15:51 WHUStar 阅读(3) 评论(0) 推荐(0) 编辑
摘要:链接 https://www.luogu.com.cn/problem/P1637 题目 思路 事实上和求逆序对的题目有点像,但是求的是同序对(?。 先回顾下树状数组求逆序对的题目。 https://www.cnblogs.com/zzzsacmblog/p/18314521 这个总的思路其实就是前 阅读全文
posted @ 2024-07-21 15:29 WHUStar 阅读(4) 评论(0) 推荐(0) 编辑
摘要:节选自算法竞赛 注意观察逆序和顺序的差异性 添加的离散化操作可以通过定义全局变量cnt和映射(map)来实现离散化。 阅读全文
posted @ 2024-07-21 15:25 WHUStar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1677/A 题目 思路 这题感觉还是挺有难度的(为啥题解都说不难Orz),给我启发最大的是这句话: 具体怎么处理呢?把i按照n->1的顺序遍历,然后j从反方向遍历:i+1->n。求S[i][j]时用S[i+1 阅读全文
posted @ 2024-07-21 12:33 WHUStar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1956/C 题目 思路 可以想到最终的答案一定是形如 就是外到内包裹的答案。 考虑如何构造这种。我们可以发现从外面一层一层“剥开” 可以看到蓝色部分是最早不变的,所以考虑如下的构造过程。 直到目标。所以由上述 阅读全文
posted @ 2024-07-21 10:11 WHUStar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1856/C 题目 思路 卡了好久的题目,昨晚突然就做出来了。 整体思路就是dp+二分。我们知道这个序列长度的最大值是对任意i∈[1,n],取a[i]+i-1的最大值;最小值就是max(a[i])(i∈[1,n 阅读全文
posted @ 2024-07-21 09:37 WHUStar 阅读(7) 评论(0) 推荐(0) 编辑
摘要:倍增法求LCA 编码比较容易 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<vector> #include<algorithm> #include<math.h> #include<sstream> #include<str 阅读全文
posted @ 2024-07-20 19:51 WHUStar 阅读(10) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1714/D 题目 思路 思路1(未实现):首先判断可行性:每个子串都去匹配,然后添加差分数组,对原字符串的每个位置校验,如果每个位置都被覆盖至少一次说明可行;然后再删去最多的线段。 思路2(代码中):利用动态 阅读全文
posted @ 2024-07-20 16:14 WHUStar 阅读(10) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1968/F 题目 思路 感觉这是一道非常好的区间异或结论题!思路参考大佬题解 值得总结的:1.区间异或的可加性:^[la,ra] == ^[ra+1,rb]--> ^[1,ra] == ^[1,rb]2.aa 阅读全文
posted @ 2024-07-20 13:37 WHUStar 阅读(8) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1511/D 题目 思路 显然原题的意思就是长度为2的子串出现次数取C(2,x),那么我们只要保证每个字串出现的最平均就行。如果有k个字母,那么最多不同的子串有k*k个。所以我们就直接找到一个最小的母串,然后重 阅读全文
posted @ 2024-07-19 11:25 WHUStar 阅读(2) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1513/C 题目 思路 简单的dp:我使用的dp思路就是一个9经过n步最后有多少个数。很显然,如果只有1步那么就是两个。然后就是dp[n] = dfs(n-9)+dfs(n-10)因为从9到9是10步和9步, 阅读全文
posted @ 2024-07-19 10:25 WHUStar 阅读(3) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1519/D 题目 分析 总的来说不算难的一道题,主要是敢写就行,控制在O(n^2),枚举中心点,分成两类:一类是奇数,一类是偶数对称就行。 代码 #define _CRT_SECURE_NO_WARNINGS 阅读全文
posted @ 2024-07-19 09:52 WHUStar 阅读(8) 评论(0) 推荐(0) 编辑
摘要:链接 https://codeforces.com/problemset/problem/1843/E 题面 思路 二分加树状数组。关键点在于看出来单点修改和区间查询,然后离线+二分:令l=1(1次操作),r=q(最多q次操作)。二分判断能不能行。 以及树状数组的板子要记得。 代码 #define 阅读全文
posted @ 2024-07-13 10:28 WHUStar 阅读(7) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/problemset/problem/1665/C 题目 解析 很显然,树的节点感染只会在兄弟节点之间,每层独立的兄弟节点都得感染至少一个,然后让他自由扩展(时间差),那么很显然第一遍就是每层都得感染。感染的次序就是按照兄弟节点的数量降序,并且要加上1的 阅读全文
posted @ 2024-07-12 17:03 WHUStar 阅读(7) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/problemset/problem/1829/G dp:设求的值:n。设置数组val[n]为第n个的答案。那么有递推:val[n] = val[n-id[n]] + val[n-id[n]+1] - val[n-2*(id[n]-1)]且以上均存在的情 阅读全文
posted @ 2024-07-11 16:17 WHUStar 阅读(3) 评论(0) 推荐(0) 编辑
摘要:https://codeforces.com/problemset/problem/1862/E 这题怎么说呢,有思路但是不够简洁 这些我是想到了,但是考虑的因素太多,事实上只需要考虑加入/减去就可,然后记录sum 如代码: #define _CRT_SECURE_NO_WARNINGS #incl 阅读全文
posted @ 2024-07-07 10:03 WHUStar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目: 链接:https://codeforces.com/problemset/problem/1875/D 思路: 这题刚开始没啥想法,后面推演了一下发现是个动态规划: 从左到右先找出首先为0的点,那么我要求的值就是这个区间内的值。然后假设先把ax清为0,那么所加的值就是ax*ptr,对比发现就 阅读全文
posted @ 2024-07-03 19:42 WHUStar 阅读(3) 评论(0) 推荐(0) 编辑
摘要:树状数组板子 #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<vector> #include<algorithm> #include<math.h> #include<sstream> #include<string> #in 阅读全文
posted @ 2024-07-02 21:36 WHUStar 阅读(4) 评论(0) 推荐(0) 编辑
摘要:链接:https://codeforces.com/problemset/problem/1630/A 题目: 思路: 1.首先k=0时很显然所有的pair为:{i,n-i} 2.k<n-1时所有的pair为{0,n-k-1},{k,n-1},{i,n-i}可以结合位运算的性质来看 3.k=n-1的 阅读全文
posted @ 2024-07-01 22:39 WHUStar 阅读(5) 评论(0) 推荐(0) 编辑
摘要:连接:https://codeforces.com/problemset/problem/1976/C 题目: 思路: 我们可以想象这个是两个队列,采用两个前缀和数组:suma和sumb记录前几个完全按照大小分配成程序员/测试员的个数(指不考虑每个种类人数限制的情况),然后二分查找到最小满足的种类。 阅读全文
posted @ 2024-07-01 20:35 WHUStar 阅读(67) 评论(3) 推荐(0) 编辑
摘要:链接:https://www.luogu.com.cn/problem/CF1968E 题目: 有点像八皇后问题的条件 有一个重要的点就是明确上限:2*(N-1)所以应该是0~2n-2 思路就是选(1,1)和(1,2)然后剩下的点从(n,n)开始沿对角线往(1,1)放就行 代码: #define _ 阅读全文
posted @ 2024-07-01 09:56 WHUStar 阅读(4) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示