上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页
摘要: 题目链接 题解 对于$b$的3个限制,第1个仅由$\not=a_i$且字典位最高的$b_i$决定,第2个不要紧,第3个比较复杂。可以使用set维护当前全部满足第3个限制的$b$候选,埃氏筛求出$b_i$的全部质因数,并将其及其倍数于set中删除。如果每求出一个质因数均删除一遍时间不够,因此使用$vi 阅读全文
posted @ 2021-03-13 18:28 violet_holmes 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 因为只需关注最大值,所以每次使最大值$/2$,如果已有此值则继续$/2$直至出现不在$x$中的值,如果全部在$x$中则现在的序列$x$即为最优方案。设当前$x$中最大值为$a$,不断进行$a/2$得出的数为$b$,因为$b/2$得出的数$a/2$也可以得出,不存在对非最大值进行操作可 阅读全文
posted @ 2021-03-13 18:27 violet_holmes 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 可以发现,将$a_i$自$A$移动至$B$段($A,B$为前缀、后缀)产生的结果为$sum(B)-sum(A)+=2\cdot a_i$,而最终状态应为$|sum(B)-sum(A)|=0$。因此我们可以枚举$a_i$,及其所在段(\(A/B\))。当$a_i$在$B$中时,使用ma 阅读全文
posted @ 2021-03-11 19:30 violet_holmes 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 $O(nlogn)$的数据范围与求最大值最小的条件,可以想到二分答案。$check$函数只需扫一遍字符串,如果当前行到换行点的长度$>mid$的话,则采用上一个换行点。换言之就是采用每个使该行长度$\le mid$且最大的换行点,如果最后行数$>k$则返回$false$。 Tips: 阅读全文
posted @ 2021-03-11 19:26 violet_holmes 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 设答案序列GCD为$p$,则$n=p\cdot m$。对于每一个$p$划分出的$k$最大时,序列为一个公差为$p$的等差数列,且$p$越大,最多可以划分的个数越小。将$p$由答案序列中提出,如果长度为$k$公差为$1$的等差数列和$>m$,说明无法划分出$k$个元素。因此只需枚举$k 阅读全文
posted @ 2021-03-11 18:57 violet_holmes 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 本题需要求出所有简单环所覆盖的边。可以发现所有简单环均为点双联通分量,因此可以求出所有点双连通分量,判断它们是否为环。求点双连通分量可以用tarjan,而环的边数一定等于点数。但是本题需要输出边,而一般tarjan中所求为点双中的点,因为一个点可以同时属于多个点双,使得找出点后反推边 阅读全文
posted @ 2021-03-09 21:57 violet_holmes 阅读(160) 评论(0) 推荐(1) 编辑
摘要: 题目链接 题解 附加统计方案数与去重的类LIS问题。 状态:$dp_i$表示$[a_1,a_i]$的最长下降子序列长度,另设$sum_i$表示$[a_1,a_i]$最长下降子序列出现次数。 初始值:\(dp_i=1,sum_i=1\quad(1\le i\le n)\) 转移: \[ sum_i=s 阅读全文
posted @ 2021-03-08 22:10 violet_holmes 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 可以发现Ciel所处如下三种情况之一:①无法击灭对方全部攻击卡牌;②可以击灭全部攻击卡牌,但无法击灭防御;③可以击灭对方全部卡牌。 对于第一种情况则尽力使双方卡牌权值差最大,使用田忌赛马策略使用我方最优卡牌攻击敌方最劣卡牌。对于第二种情况则使我方击灭对方全部攻击卡牌即可,以最优攻击最 阅读全文
posted @ 2021-03-08 20:14 violet_holmes 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 dp题呐,需要预处理出$sum,lst,fst$数组,$sum[l][r]\(表示区间\)[l,r]$依题意的异或值,$lst[i]$表示$a$数组中值为$i$的元素最后一次出现的下标,$fst[i]$表示$a$数组中值为$i$的元素第一次出现的下标。 状态:$dp[i]\(表示\) 阅读全文
posted @ 2021-03-08 20:13 violet_holmes 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解 可以发现$a$序列的目标状态一定是从$0$开始的连续的($[0,k]$间每个数均出现过)序列。因此用$pos$数组记录每个$a_i$值出现的次数,从前向后遍历每个员工。如果出现$pos[i]=0$则$ans+1$,并从未统计的员工中选一个填补空缺,直至所有员工均被统计。此外,如果下标 阅读全文
posted @ 2021-03-08 20:12 violet_holmes 阅读(65) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 14 下一页