Competition Set - AtCoder II
这里记录的是这个账号的比赛情况。
ABC310
2023-7-15
Solved:6/8
1973->2053
七场ABC,两场打得蛮烂的,都因为AT炸掉Unrated了;另外五场全部满Perf(2400)。
后面没有Rated的ABC了。这个小号本来就是拿来干这个的,结果一下就没了。考虑一下强行下分?
E(Easy,1261)
定义运算 \(*\) 为: \(0*0=1,0*1=1,1*0=1,1*1=0\)。给定一个01序列,求它的所有子序列从左到右 \(*\) 的结果之和。
Solution:考虑递推,如果第 \(i\) 位是 \(0\),那么以它结尾的所有序列结果和为 \(i-1\);如果是 \(1\),则是 \(i\) 减去前一位的结果。
F(Easy+,1938)
已知 \(x_1,...,x_n\) 分别在 \([1,a_1],...,[1,a_n]\) 中等概率取整数值,求集合 \(\{ x_1,...,x_n\}\) 有一个子集和为 \(10\) 的概率。
Solution:状压DP。设当前考虑到第 \(i\) 位,记录当前是否可以得到 \(0,1,...,10\)。选择大于 \(10\) 的转移统一考虑。
G(Medium,2696)
\(n\) 个人,第 \(i\) 个人每回合把手上所有的球给第 \(a_i\) 个人。\(x\) 在 \(1,...,k\) 中等概率取,问 \(x\) 回合后每个人手上球数的期望。
Solution:显然构成内向树森林。找到环,对每个点,考虑 \(k\) 回合后能不能到环上。如果不能,那么在树上打差分标记;如果能,在环上打差分标记。求和即可。代码不好写,没调出来。
ABC305
2023-6-10
Solved:7/8
1855->1973
G(Easy+,1989)
给定若干长度不超过6的ab串,求有多少个长为n的ab串不以其中任何一个为子串。
Solution:矩阵乘法。没了。
ABC304
2023-6-3
Solved:6/8
Unrated
ABC303
2023-5-27
Solved:6/8
1655->1855
F(Medium,2381)
有一个血量为\(h\)的boss,有若干种攻击,一种攻击会持续若干回合,每回合造成相同的定量伤害。问至少要多少回合才能干掉boss。
Solution:二分答案,口算何时最优。记得用__int128。没了。
ABC302
2023-5-20
Solved:8/8
1200->1655
G(Medium,1891)
给定一个长度为\(n\),只包含\(1,2,3,4\)的数列。每次可以交换任意两个数。求将数列从小到大排序的最小交换次数。
Solution:贪心。将每个位置的初始值与其目标值构成的数对记录下来,总共12种(相同的不用记)。先处理\(cnt_{i,j}\)和\(cnt_{j,i}\),即取它们的\(\min\),加入答案,然后两个值都减去\(\min\)。再类似的处理三元和四元的情况,分别用\(\min\)的两倍和三倍更新答案。
H(Medium,2407)
给定一棵树,每个点上有一个数对。对每个\(v \le 2\),考虑从点\(1\)到点\(v\)的路径,在路径上每个数对中选出一个数,求能够选出不同数字个数的最大值。
Solution:先考虑确定的\(v\)如何求解。一个方法是建图,在每个数对的两个数之间连边。对每个连通块,如果是树,则贡献为点数\(-1\),否则贡献为点数。
因为只用考虑连通块,所以可以用并查集维护。记录下每个并查集内部是否有边即可。
对于原题,以\(1\)为根遍历这棵树,每进入一个点时在它的数对间连边,然后更新答案。回溯时撤销操作,这只需要用一个按秩合并的并查集实现即可。
ABC300
2023-4-29
Solved:7/8
0->1200
F(Medium-,1846)
给定由o和x组成的字符串\(S\)。将\(S\)复制\(m\)遍,然后将其中\(k\)个x改成o,求改完之后连续的o最多可能有多少个。
Solution:贪心。设最多能改完\(t\)个完整的\(S\),考虑三类情况:
最长连续o段包含了\(t\)个完整的\(S\)
最长连续o段包含了\(t-1\)个完整的\(S\)
最长连续o段不包含完整的\(S\)
三种情况都可以预处理前缀和,后缀和,然后用双指针处理。注意判断\(m\)能否使上述情况出现。
G(Medium-,2343)
求不超过\(n\)的数中所有质因子都不超过\(k\)的数的个数。\(k \le 100\)。
Solution:双向搜索。将小于\(k\)的(不超过25个)素数分成两组。先dfs第一组素数能拼出的所有数,记录在一个vector里。然后dfs第二组素数能拼出的所有数,在第一个vector中二分查找即可。
ABC299
2023-4-22
Solved:6/8
Unrated
F(Hard-,2366)
给定字符串 \(S\),求字符串 \(T\) 的数目,使字符串 \(TT\) 是 \(S\) 的字串。
Solution:首先可以想到要尽可能向左边取,才可以使 \(T\) 不重复。
枚举中间的分界点,然后 \(DP\):\(dp_{i,j}\) 表示两个 \(T\) 的结尾分别是 \(i,j\)。转移方程很好写。
这道题的难点在于状态定义。
G(Medium,2088)
给定一个数组,值域为 \(\{1,2,...,m\}\),求它的一个子序列,其是 \(1,2,...,m\) 的一个排列,且字典序最小。
Solution:重复两个步骤:
找到尽可能短的一段后缀,包含需要的所有数。
在上一个选的数到这段后缀的开头之间找到最小数,加入答案序列。
第二步可以直接暴力,能过但能卡。
Competition Set - AtCoder II的更多相关文章
- 【赛时总结】 ◇赛时·II◇ AtCoder ABC-100
◆赛时·II◆ ABC-100 ■唠叨■ ABC终于超过百场比赛啦(毫不犹豫地参加).然后莫名其妙的好像是人很多,评测慢得不可理喻.然后我就--交了一大发--错误程序--然后B题就没了.最后的D题居然 ...
- AtCoder Beginner Contest 104
A - Rated for Me Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100 points Problem Statement A ...
- HDU2639Bone Collector II[01背包第k优值]
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 3639 Bone Collector II(01背包第K优解)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Bone Collector II
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- hdu 2639 Bone Collector II
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Bone Collector II(HDU 2639 DP)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- HDU 2639 Bone Collector II(01背包变形【第K大最优解】)
Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- AtCoder Beginner Contest 073
D - joisino's travel Time Limit: 2 sec / Memory Limit: 256 MB Score : 400400 points Problem Statemen ...
- AtCoder Beginner Contest 122 D - We Like AGC (DP)
D - We Like AGC Time Limit: 2 sec / Memory Limit: 1024 MB Score : 400400 points Problem Statement Yo ...
随机推荐
- Java中一个逐渐被遗忘的强大功能,强到你难以置信!!
大家好,我是冰河~~ 说起Java,简单好用,但是Java中很多牛逼的技术却逐渐被遗忘了~~ 在Java语言出现之前,很多系统都是使用C和C++开发的.Java出现之后,由于其面向对象的思想更加符合人 ...
- 为什么医疗保健需要MFT来帮助保护EHR文件传输
毫无疑问,医疗保健行业需要EHR技术来处理患者,设施,提供者等之间的敏感患者信息.但是,如果没有安全的MFT解决方案,您将无法安全地传输患者文件,从而使您的运营面临遭受数据泄露,尴尬,声誉损失以及随之 ...
- KingbaseES错误分析 -- “requested character too large”
一.适用于: 本文档使用于KingbaseES所有版本. 二.问题现象: 使用从其他数据库迁移到KingbaseES数据库的自定义函数.存储过程.Package包..出现以下错误信息: 错误:所请求的 ...
- KingbaseES 函数与存储过程内容加密
说明: 数据库系统使用过程中,有些业务功能在特殊的安全级别情况下,需要对数据库中的函数和存储过程进行加密存储,以保证数据库函数和过程的代码安全性.KingbaseES 数据库,提供了DBMS_DDL扩 ...
- sklearn数据集使用(鸢尾花)
1 2 from sklearn.datasets import load_iris 3 4 """ 5 sklearn数据集使用 6 :return: 7 " ...
- #线性基#LOJ 114 k大异或和
题目 分析 建出线性基后,但是要求最小所以要重建线性基让大的尽量小, 然后第k小就是拼凑 代码 #include <cstdio> #include <cctype> #inc ...
- #trie#A 区间异或
题目 给定一个长度为\(n\)的序列,询问有多少个\((l,r),1\leq l\leq r\leq n\)满足 \[xor_{l\leq j\leq r}a_j\geq k \] 分析 显然跑一次前 ...
- 鸿蒙HarmonyOS实战-ArkUI组件(TextInput/TextArea)
一.TextInput/TextArea TextInput和TextArea组件通常用于收集用户输入的文本数据. TextInput组件通常用于单行文本的输入,它允许用户通过一个光标来输入文字,并支 ...
- 前端使用 Konva 实现可视化设计器(4)
给上一章做一个补充,就是实现通过上下左右按键移动所选节点. 继续求 Star ,希望大家多多一键三连,十分感谢大家的支持~ 创作不易,Star 50 个,创作加速! github源码 gitee源码 ...
- 【直播合集】HDC.Together 2023 精彩回顾!收藏勿错过~
HDC.Together 2023 主题演讲 万象复兴,热潮澎湃,HarmonyOS 全面进化,迈入新纪元.以创新改变世界,以生态驱动未来.扬帆起航,就在此刻.新版本.新体验.新流量.新商业.新机遇. ...