illumination plans many abc

AT_abc301 复盘

AT_abc301 复盘 A 一眼水,只需要遍历一遍数组,记录哪一个胜利场数先打到 \((n + 1) / 2\) 就好了。 AC code: // LUOGU_RID: 139221441 #include <bits/stdc++.h> using namespace std; int n, c ......
AT_abc 301 abc AT

abc 330E mex

题意: 对单个固定序列多次操作,输出每次操作后的mex函数值。 E - Mex and Update (atcoder.jp) 不能用博弈论求sg函数那种直接枚举(TLE),因为最差可能达到O(n2),就算每次基于上一次的mex来剪枝也会被卡到这个复杂度,因为每次都只能线性枚举,所以这个方法不合适。 ......
330E abc 330 mex

[ABC304Ex] Constrained Topological Sort 题解

题意 给定一张有向图 \(G\),有 \(n\) 个点和 \(m\) 条边,问是否存在一种拓扑序的排列 \(P\) 使得 \(l_{i} \le p_{i} \le r_{i}\)。 思路 首先对于一条边 \(u \to v\),如果限制满足 \(r_{v}\le r_{u}\) 或者 \(l_{v ......
题解 Constrained Topological Sort ABC

【题解】AtCoder abc322_f Random Update Query

传送门:https://atcoder.jp/contests/abc332/tasks/abc332_f 容易发现,对于一个位置 $i$,$A_i$ 的最终值是由对 $i$ 的最后一次赋值操作决定的;因此,将所有操作按时间顺序倒过来考虑,则由第 $j$ 次操作决定 $A_i$ 最终值的概率为"在第 ......
题解 AtCoder Random Update Query

【题解】AtCoder abc332_g Not Too Many Balls

传送门:https://atcoder.jp/contests/abc332/tasks/abc332_g 看完题,第一眼反应为最大流。 建模方式为:以颜色为左部点,盒子为右部点,源点 $S$ 向颜色 $i$ 连一条容量为 $A_i$ 的边,盒子 $j$ 向汇点 $T$ 连一条容量为 $B_j$ 的 ......
题解 AtCoder Balls Many 332

AtCoder_abc332

AtCoder_abc332 比赛链接 A - Online Shopping A题链接 题目大意 这里有\(N\)件商品,第\(i\)件商品价格为\(P_i\),你要购买\(Q_i\)件,除了购买的费用外,他还要支付运费。 如果购买的总价大于\(S\),运费为0元,否则他需要支付\(K\)元的运费 ......
AtCoder_abc AtCoder 332 abc

ABC332

D 我们可以把矩阵 \(\text{A}\) 看成 \({p,q}\)。 \(p\) 指现在一行最开始在哪里,\(q\) 指现在这一列最开始在哪里。 于是我们枚举 \(p\) 和 \(q\) 所有可能的情况,如果修改后的 \(\text{A}\) 和 \(\text{B}\) 一样,那么就可以直接统 ......
ABC 332

Atcoder abc301 复盘(更新中)

跳转比赛链接 A - Overall Winner 简述: 高桥和青木下了 \(N\) 盘棋。给你一个长度为 \(N\) 的字符串 \(S\),表示这两盘棋的结果。如果 \(S\) 的 \(i\) 个字符是 t,那么高桥赢得了 \(i\) 局;如果 \(S\) 的 \(i\) 个字符是 A,那么青木 ......
Atcoder 301 abc

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 ......
ABC 312

ABC301 复盘

ABC301 复盘 At 链接 LG 链接 [ABC301A] Overall Winner 思路解析:从头开始遍历字符串,遇到一个字符就给对应的一方加分,输出第一个胜场大于 \(\lceil n / 2\rceil\) 的一方。 #include<bits/stdc++.h> using name ......
ABC 301

14.Do you have a tentative plan for you reading and/or research writing project for this semester? Create a timetable with specific goals, objectives, ways to realize them and timelines.

Round 1: Discussing the Importance of a Tentative Plan Speaker 1 (Graduate Student A): Greetings, everyone. Today, our topic revolves around having a ......
objectives you for and tentative

[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 ......
题解 Score Card Deck ABC

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" || ......
AT_abc 312 abc AT

[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 ......
Multiply Divide ABC 254 Ex

Atcoder-ABC317G-Rearranging

ABC317G - Rearranging 题意 给出一个 \(n\) 行 \(m\) 列的矩阵,可以将每一行的 \(m\) 个数重新排列,问能不能得到 \(m\) 列都是 \(n\) 的排列的矩阵,能得到则输出任意一个方案。 给出的矩阵满足对于 \(i \in [1,n]\) ,都恰好出现了 \( ......

ABC256H

不懂其他题解在干什么,明明一个线段树就可以做的题偏要各种数据结构一起上,有难写复杂度也不优。介绍一种优质算法。 区间推平区间求和是简单的。现在只需要解决区间向下取整的除法。 对于这种不好直接在线段树上搞得操作,性质又很妙妙的,考虑势能分析。 若区间最大值和最小值除以 \(x\) 的值一样就一起打推平 ......
256H ABC 256

09-序列化器的 many=True 实现原理

入门知识 上面说明了,解释器会先执行 new 方法,再执行 init方法 下面说明了,如果new返回的空对象不是当前init对应的类型,就不会执行init。 序列化器 many=True 的简化版 可以看到 many_init 方法返回的是 Alist的空对象,而不是 A 的空对象,因此,没有 A ......
序列 原理 many True 09

ABC325G offence 题解

给出一个长为 \(n\) 的字符串和非负整数 \(k\)。你可以进行以下操作若干次,使得最终字符串长度最小。 选择一个字串 of。然后删掉 of 以及这之后的 \(i\) 个字符。\(i\) 由你决定,但要满足 \(0\leq i\leq k\)。 输出这个最小长度。\(1\leq n,k\leq ......
题解 offence 325G ABC 325

[ABC254E] Small d and k 题解

题目传送门 一道暴力题。 度数和 \(k\) 那么小?直接暴力 \(n\) 遍 bfs,注意 bfs 的队列只能 push 距离不超过 \(3\) 的点。但有个问题,每次 bfs 都需要清空一次距离数组,这样子的时间复杂度是 \(O(n^2)\) 的。但也不难想到,距离数组中被赋值的地方不会很多,记 ......
题解 Small 254E ABC 254

ABC331G 题解

盒子里有 \(n\) 张 \(m\) 种卡片,第 \(i\) 种卡片有 \(c_i\) 张。\(\sum c_i=n\)。 每次均匀随机选一张,再放回去。求拿出过的卡片包含全部种类所需要的取出次数的期望。 对 \(998244353\) 取模。 \(1\leq n,m\leq 2e5,c_i\gt0 ......
题解 331G ABC 331

ABC331G题解

ABC331G 日常被bot吊打罢了。 首先注意到一件事是你 需要求一堆max的期望 对吧。所以其实上来就应该试试上 min-max容斥 的。但是鉴于我没有脑子,所以其实没想到也可以理解。 先来复习一下式子: \[Emax(S) = \sum_{T \subset S} Emin(T)(-1)^{\ ......
题解 331G ABC 331

ABC 331 F - Palindrome Query(字符串哈希,树状数组)

字符串哈希 [OI-Wiki](字符串哈希 - OI Wiki (oi-wiki.org)) 分为两种哈希方式:以左为高位 和 以右为高位 如果只是快速查询每个字串的哈希值,用以左为高位比较简单,即 \[Hash[l...r]=Hash[1...r]-Hash[1...(l-1)]\times ba ......
数组 字符串 Palindrome 字符 Query

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_abc AtCoder 328 abc

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_abc AtCoder 327 abc

AtCoder_abc329

AtCoder_abc329 比赛链接 A - Spread A题链接 题目大意 输入一个字符串由大写字母组成的$S$,输出$S$并在每一个字符之间加上空格 解题思路 随便打打就能过.jpg 代码 // Problem: A - Spread // Contest: AtCoder - Sky In ......
AtCoder_abc AtCoder 329 abc

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_abc AtCoder 330 abc

AtCoder_abc331

AtCoder_abc331 (这次题真的真的真的好难) 比赛链接 A - Tomorrow 题目链接 题目大意 有一个$M$个月,$D$天的日历,请输出$y年m月z日$的下一天。 解题思路 先让天数加一,如果超过了$D$就让月份加一,天数减$D$,然后月份同理 代码 // Problem: A - ......
AtCoder_abc AtCoder 331 abc

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 ......
AtCoder_abc AtCoder 326 abc

[ABC017D] サプリメント 题解

题目传送门~ 一道 DP 前缀和优化好题。 题目分析 首先,朴素 DP 非常好想。可以从后向前考虑,设 \(f_i\) 表示从第 \(i\) 个补品开始的摄取方法数。 摄取一个补品:\(f_i = f_{i+1}\) 摄取两个补品:\(f_i = f_{i+2}\) 以此类推。 则转移方程为: \[ ......
题解 017D ABC 017

Atcoder ABC235 D - Multiply and Rotate

[ABC235D] Multiply and Rotate 题面翻译 给定两个整数\(a\),\(x\)和\(N\),你可以对这两个数进行以下操作。 把\(x\)乘以\(a\) 将\(x\)末尾的数字移动到\(x\)的开头(该操作只能在\(x≥10\)且\(x\)不能被\(10\)整除时进行) 例如 ......
Multiply Atcoder Rotate ABC 235