remainder reminder 090d abc
Atcoder abc301 复盘(更新中)
跳转比赛链接 A - Overall Winner 简述: 高桥和青木下了 \(N\) 盘棋。给你一个长度为 \(N\) 的字符串 \(S\),表示这两盘棋的结果。如果 \(S\) 的 \(i\) 个字符是 t,那么高桥赢得了 \(i\) 局;如果 \(S\) 的 \(i\) 个字符是 A,那么青木 ......
ABC312 复盘
ABC312 复盘 At 链接 LG 链接 A Chord 思路解析:水题,一个 if 即可 #include<bits/stdc++.h> using namespace std; string s; int main() { cin >> s; if(s == "ACE" || s == "BD ......
ABC301 复盘
ABC301 复盘 At 链接 LG 链接 [ABC301A] Overall Winner 思路解析:从头开始遍历字符串,遇到一个字符就给对应的一方加分,输出第一个胜场大于 \(\lceil n / 2\rceil\) 的一方。 #include<bits/stdc++.h> using name ......
[ABC241Ex] Card Deck Score 题解
题目链接 点击打开链接 题目解法 个人认为推式子很妙的生成函数题 暴力套上生成函数,\(ans=[x^m]\prod\limits_{i=1}^{n}(\sum\limits_{j=1}^{b_i}(a_ix)^j)\) \(\sum\limits_{j=1}^{b_i}(a_ix)^j=\frac ......
AT_abc312复盘
AT_abc312 复盘 A 一眼过去直接 \(if\) 秒了 AC code: #include <bits/stdc++.h> using namespace std; string s; int main(){ cin >> s; if (s == "ACE" || s == "BDF" || ......
[ABC254Ex] Multiply or Divide by 2
[ABC254Ex] Multiply or Divide by 2 题意: 给定大小为 $ n $ 的集合 $ A $ 和 $ B $,你可以对集合 $ A $ 中的元素 $ a_i $ 进行两种操作,分别为 $ a_i \leftarrow \lfloor \dfrac{a_i}{2} \rfl ......
Atcoder-ABC317G-Rearranging
ABC317G - Rearranging 题意 给出一个 \(n\) 行 \(m\) 列的矩阵,可以将每一行的 \(m\) 个数重新排列,问能不能得到 \(m\) 列都是 \(n\) 的排列的矩阵,能得到则输出任意一个方案。 给出的矩阵满足对于 \(i \in [1,n]\) ,都恰好出现了 \( ......
ABC256H
不懂其他题解在干什么,明明一个线段树就可以做的题偏要各种数据结构一起上,有难写复杂度也不优。介绍一种优质算法。 区间推平区间求和是简单的。现在只需要解决区间向下取整的除法。 对于这种不好直接在线段树上搞得操作,性质又很妙妙的,考虑势能分析。 若区间最大值和最小值除以 \(x\) 的值一样就一起打推平 ......
ABC325G offence 题解
给出一个长为 \(n\) 的字符串和非负整数 \(k\)。你可以进行以下操作若干次,使得最终字符串长度最小。 选择一个字串 of。然后删掉 of 以及这之后的 \(i\) 个字符。\(i\) 由你决定,但要满足 \(0\leq i\leq k\)。 输出这个最小长度。\(1\leq n,k\leq ......
[ABC254E] Small d and k 题解
题目传送门 一道暴力题。 度数和 \(k\) 那么小?直接暴力 \(n\) 遍 bfs,注意 bfs 的队列只能 push 距离不超过 \(3\) 的点。但有个问题,每次 bfs 都需要清空一次距离数组,这样子的时间复杂度是 \(O(n^2)\) 的。但也不难想到,距离数组中被赋值的地方不会很多,记 ......
ABC331G 题解
盒子里有 \(n\) 张 \(m\) 种卡片,第 \(i\) 种卡片有 \(c_i\) 张。\(\sum c_i=n\)。 每次均匀随机选一张,再放回去。求拿出过的卡片包含全部种类所需要的取出次数的期望。 对 \(998244353\) 取模。 \(1\leq n,m\leq 2e5,c_i\gt0 ......
ABC331G题解
ABC331G 日常被bot吊打罢了。 首先注意到一件事是你 需要求一堆max的期望 对吧。所以其实上来就应该试试上 min-max容斥 的。但是鉴于我没有脑子,所以其实没想到也可以理解。 先来复习一下式子: \[Emax(S) = \sum_{T \subset S} Emin(T)(-1)^{\ ......
ABC 331 F - Palindrome Query(字符串哈希,树状数组)
字符串哈希 [OI-Wiki](字符串哈希 - OI Wiki (oi-wiki.org)) 分为两种哈希方式:以左为高位 和 以右为高位 如果只是快速查询每个字串的哈希值,用以左为高位比较简单,即 \[Hash[l...r]=Hash[1...r]-Hash[1...(l-1)]\times ba ......
AtCoder_abc328
A - Not Too Hard 题目链接 题目大意 给出$N$个数($S_1$ $S_2$...$S_n$)和一个$X$,输出所有小于等于$X$的$S_i$之和 解题思路 循环遍历每一个$S_i$并判断是否大于$X$ 代码 // Problem: A - Not Too Hard // Conte ......
AtCoder_abc327
T1 ab 循环从s[0] 到s[n-2] 判断有无ab相邻 T2 A^A 两层循环枚举就可以了 由于aa会增长的很快,所以当a=16时aa就已经大于$10^{18}$了,一定不会T 就这么点数打表也能过 T3 Number Place 就是数独的判断规则,h,l,g三个数组存储已有的数就好 宫的判 ......
AtCoder_abc329
AtCoder_abc329 比赛链接 A - Spread A题链接 题目大意 输入一个字符串由大写字母组成的$S$,输出$S$并在每一个字符之间加上空格 解题思路 随便打打就能过.jpg 代码 // Problem: A - Spread // Contest: AtCoder - Sky In ......
AtCoder_abc330
AtCoder_abc330 比赛链接 A - Counting Passes A题链接 题目大意 给出$N$个数$a_1,a_2,a_3\cdots,a_N$,和一个正整数$L$。输出有几个$a_i \le L$. 解题思路 O(n)遍历一遍就好了 代码 // Problem: A - Count ......
AtCoder_abc331
AtCoder_abc331 (这次题真的真的真的好难) 比赛链接 A - Tomorrow 题目链接 题目大意 有一个$M$个月,$D$天的日历,请输出$y年m月z日$的下一天。 解题思路 先让天数加一,如果超过了$D$就让月份加一,天数减$D$,然后月份同理 代码 // Problem: A - ......
AtCoder_abc326
T1 2UP3DOWN 简单的if判断,做题一分钟,翻译十分钟。。。 代码: #include<bits/stdc++.h> using namespace std; int main(){ int x,y;cin>>x>>y; if((x<=y&&y-x<=2)||(x>y&&x-y<=3)) c ......
[ABC017D] サプリメント 题解
题目传送门~ 一道 DP 前缀和优化好题。 题目分析 首先,朴素 DP 非常好想。可以从后向前考虑,设 \(f_i\) 表示从第 \(i\) 个补品开始的摄取方法数。 摄取一个补品:\(f_i = f_{i+1}\) 摄取两个补品:\(f_i = f_{i+2}\) 以此类推。 则转移方程为: \[ ......
Atcoder ABC235 D - Multiply and Rotate
[ABC235D] Multiply and Rotate 题面翻译 给定两个整数\(a\),\(x\)和\(N\),你可以对这两个数进行以下操作。 把\(x\)乘以\(a\) 将\(x\)末尾的数字移动到\(x\)的开头(该操作只能在\(x≥10\)且\(x\)不能被\(10\)整除时进行) 例如 ......
ABC270F 题解
和博客园一样好的体验 思路 首先看到花最小代价使得所有点连通,果断转换成最小生成树问题。 接下来就要考虑怎么建图,首先陆地就正常连不用说,建机场和港口的代价貌似都是点权,考虑转成边权。因为一个点飞或者划船到另一个点要两重代价,所以若我们想让 \(u\) 和 \(v\) 建能飞过去的边,我们可以先从 ......
[ABC277G] Random Walk to Millionaire 题解
题目链接 点击打开链接 题目解法 首先 \(O(n^3)\) 的 \(dp\) 是显然的,令 \(f_{i,j,k}\) 为第 \(i\) 步在 \(j\),当前等级为 \(k\) 的 \([i,n]\) 步获得钱数的期望,转移枚举出边即可 一个很妙的优化是:贡献都是 \(k^2\) 的形式,所以我 ......
AtCoder Beginner Contest(abc) 330
B - Minimize Abs 1 难度: ⭐⭐ 题目大意 给定n个数Ai和一个范围l, r; 问是否存在一个长度为n的序列Xi, Xi的范围是l ~ r; 对于1 ~ n中的每个i, 都要求满足|Xi - Ai| <= |Y - Ai|, Y是l ~ r中的任意一个数; 解题思路 题目有点难理解 ......
ABC330 C Minimize Abs 2 题解
Link ABC330 C Minimize Abs 2 Question 给定一个整数 D 求 \(|x^2+y^2-D|\) 的最小值,\(x,y\) 为非负整数 Solution 同时枚举 \(x,y\) 显然是不切实际的,考虑折半枚举 枚举 \(x^2\) 然后寻找接近 \(D-x^2\) ......
ABC330 E Mex and Update 题解
Link ABC330 E Mex and Update Question 给一个数组 \(a\),有 \(Q\) 次修改 每次把 \(a_i\) 改成 \(x\) 问每次修改后,不在 \(a\) 数组中的最小非负数时多少 Solution 记录每个 \(a_i\) 出现的次数 \(num\) 每个 ......
[ABC321E] Complete Binary Tree
思路:第一次先把往后距离为 $k$ 的点算出来,然后再每次往前走一个,考虑 $k-i$ 的情况。(具体见代码注释)。 代码: ```cpp#include <bits/stdc++.h>using namespace std;// headint sum[100],head=0;int n,x,k; ......
[ABC315Ex] Typical Convolution Problem
题目链接 首先观察到这个形式,容易发现它和常规的卷积不同点就在于:题目给出的求和定义中,\(\sum\) 符号下面的式子是 \(i+j<N\) 求和而不是 \(i+j=N\)。 为了方便计算,我们引入: \[G_n=\sum_{i+j<N}F_iF_j \]我们发现,假设所有 \(F_{1\sim{ ......
ABC330 A-E 题解
ABC330题解 AtCoder Beginner Contest 330 A - Counting Passes 思路: 枚举一遍,当前数大于\(L\)使\(ans+1\)即可. 代码: #include<iostream> #define int long long using namespac ......