![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
文章平均质量分 90
hans774882968
这个作者很懒,什么都没留下…
展开
-
SCUACM2023集训前训练-基础算法
## B-单调栈+贪心,好题这题我不会……看的题解:https://blog.csdn.net/weixin_33863087/article/details/85941548。现有题解一个比一个抽象,因此我写了一篇极为通俗易懂的题解~### 单调栈首先考虑区间`[l, r]`是“障碍段”的充要条件:`f[r] = r && r-a[r] == l-a[l]`。这里`f[r]`表示`a[r]`为最大值的最左侧端点,`g[l]`表示`a[l]`为最小值的最右侧端点。这两原创 2023-04-20 01:22:49 · 478 阅读 · 0 评论 -
AtCoder abc256全题解(区间合并模板、矩阵快速幂优化dp、线段树……)
作者:hans774882968以及hans774882968水,略。模拟即可。C-枚举题意:有一个九宫格,每格填一个正整数,输入分别表示期望的每行和每列的数字的和。求方案数。只需要枚举4个格子就能确定所有的数了,计算量完全可行。我选择的是这4个格子。D-区间合并模板区间合并模板,参考:https://blog.nowcoder.net/n/834a656e47df44e58e830fdd87d3e253。E-图论建模,函数图的性质题意个人排队拿糖果。输入长为的两个数组,表示如果号人排在号人后原创 2022-06-22 02:57:34 · 695 阅读 · 0 评论 -
第45届ICPC沈阳站部分题解(D、F、G、H、I、J、K)
本文CSDN本文juejin作者:hans774882968以及hans774882968题意:直接看题干,易懂。去年比赛的时候觉得这是个规律题,发现可以用小的答案生成大的答案,写了2小时以上,200多行代码,却wa了。因此不想再尝试这种令人伤悲的做法。dfs做法:首先,统计区间内1的个数,很容易联想到前缀和。因为只要求和奇偶性不同,所以前缀和可以改成前缀异或,。设前缀异或数组有个0(则有个1),试求下标对个数表达式。只考虑枚举左或右端点很难得到式子,因此考虑一个点既可以当左也可以当右。对于,只能作....原创 2022-06-16 18:23:19 · 2067 阅读 · 0 评论 -
Educational Codeforces Round 107 (Rated for Div. 2,CF1511)A~E题解
CSDN传送门juejin传送门作者:hans774882968以及hans774882968题意:有三种类型的客人,他们依次到来,一种反对者,一种支持者,还有一种观望者,即根据当前情况,如果反对数 > 支持数,就投反对,反之投支持的人。现在你有两台服务器,你可以选择给当前来到的客人展示其中一台服务器,问你最多可以获得多少票支持。有两台服务器,所以把所有dislike都集中到一台服务器即可(提纯是吧🤬)。B题意:给三个数,让你找到两个数和,使得,,这三个数的位数分别是,,。最简单的方法是,令和都有个0.原创 2022-06-13 02:34:46 · 177 阅读 · 0 评论 -
Codeforces Round 797 (Div. 3,CF1690)全题解
传送门作者:hans774882968以及hans774882968本文CSDN链接本文juejin链接估计最大值的下界,直接枚举最大值就能过:不过输入可以发现最大值是可以直接写出来的式子,所以可以进一步优化:B分等于和不等于0讨论。用set实现最方便。C只需要求实际的开始时间,其表达式看样例就很容易写出来。D直接枚举一个长为的区间,看里面有多少个即可。用前缀和统计个数。E,这就把定值和提取出来了,后续只需要考虑是否成立。这是一个很经典的贪心问题,好像是以过河为背景来着?贪心策略:先排序原创 2022-06-09 17:54:58 · 263 阅读 · 0 评论 -
【简单算法】2021SCUACM集训队冬季选拔2全题解
传送门本来在预习课程期末的,结果还是没能忍住来写了一套题。20230416更新:终于把之前没写的题都补上了~作者:hans774882968以及hans774882968以及hans774882968签到。数有多少个个位为9的。B-多重背包看到就猜到大约是的算法,所以显然要先取模+开桶计数。把模m的和看成重量,于是转化为多重背包求是否存在方案的问题。但麻烦的是,不能直接用,因为它受到的影响,必然为true;并且也无法直接算方案数。那么我们就在dp转移的过程中监听即可。不难的一个背包居然tag是1900原创 2021-12-26 18:31:21 · 860 阅读 · 0 评论 -
牛客2021年七夕节比赛大部分题解(因数枚举模板、线段树、dp……)
传送门偶然刷到了,就做了一下。F是防AK,不会,ACDE水,略。比较有参考价值的是I题,dp。B一开始想的是状压枚举素数集合,但是各素因子的幂不一定要统一。于是改成了直接dfs枚举所有素数的所有幂次,并逐一判定。写完了一发AC了以后才发现,枚举所有素数的所有幂次也就是枚举所有因数,23333我是sb。不过这个枚举方法肯定比根号枚举要快一点。#include <bits/stdc++.h>using namespace std;typedef long long LL;#defi原创 2021-12-12 23:40:47 · 579 阅读 · 0 评论 -
Atcoder_abc226G-贪心好题
传送门官方题解首先看那些“不能放2个”的,即重量为3~5的。从贪心角度感性地看,倒序决策是合理的。因为我们希望空间利用率为100%,所以对于重量为4和5的物品,都是按照升序依次处理即可。但对于重量为3的物品,则不能按照升序依次处理,因为会wa。那么应该按照什么顺序呢?我们先分析只剩重量为1和2的物品的情况,再回答以上问题。显然,重量为1的物品的空间利用率总是100%,因此关键是计算当前能容纳的重量为2的物品数:LL num = 0;rep(i,2,5) num += (i/2)*b[i];如原创 2021-11-08 02:26:38 · 533 阅读 · 0 评论