Mslxl's Blog

Integrate Life

Codeforces Round 894 (Div. 3) A-G

A. Gift Carpet 输入一个 $n$ 行 $m$ 列的字符矩阵,判断矩阵中从前往后的列中能不能找到特定的字符组成 vika 暴力 直接旋转矩阵然后暴力判断 :) T = int(input()) def solve(): r, c = list(map(int, input().split())) s = [input() for i in range(r)] s[::] = [[row[i] for row in s[::-1]] for i in range(len(s[0]))] s = ["".join(i) for i in s] v, vi, vik, vika = [False, False, False, False] for line in s: if vik and 'a' in line: vika = T

LeetCode 周赛 359

A. 判别首字母缩略词 给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。 例如,"ab" 可以由 ["apple", "banana"] 形成,但是无法从 ["bear", "aardvark"] 形成。 如果 s 是 words 的首字母缩略词,返回 true ;否则,返回 false 。 模拟 class Solution { public: bool isAcronym(vector<string>& words, string s) { std::string ans; for(auto s: words) ans += s[0];

Educational Codeforces Round 153 A-E (博弈论 DP 拆点)

A. Not a Substring 给一个仅由 ( 和 ) 组成的字符串$a$,它的长度为 $n$。要求构造一个长度为 $2n$ 的新字符串 $b$,且 $a$ 不是 $b$ 的连续子串。输出新字符串 $b$。 构造 很明显一个字符串如果是 (((()))) 的子字符串,那它一定不是 ()()()() 的子字符串。因此只需要构造出两个字符串进行判断即可。 void solve() { std::string s; std::cin >> s; std::string s1, s2; rep(i, s.size()) { s1 += "()"; s2 += "("; } rep(i, s.size()) { s2 += ")"; } if (s1.find(s) == std::string::npos) { std::

Codeforces Round 891 (Div. 3) A-G

A. Array Coloring 给一个长度为 $n$ 的数组,判断数组能否分为两组元素的加和的奇偶性相同的两组 思维 考虑数组中奇数的数量,由于奇数 + 奇数 = 偶数,奇数 + 偶数 = 奇数,如果有偶数个奇数,我们可以将奇数其平分到两个数组中,否则无论如何都无法满足条件 void solve(const std::size_t testcase) { multitest{ std::vector<i32> s(n); reads(all(s)); int odd = 0; for(auto i : s) if(i % 2 != 0) odd++; std::cout << (odd % 2 == 0 ? "YES": "NO"); } } B. Maximum Rounding

2023 SDCPC 赛后回顾

周围的人都写了篇小作文, 那我也跟按照圈子里的惯例写个小流水帐吧,文笔不好,算给日后的自己留个纪念吧 首先恭喜我校2银3铜, 听说是校史上就牌子数量的的最好成绩. 其次恭喜我自己终于拿到了XCPC上的第一块牌子(算是弥补了去年打铁的遗憾, RK55 也算是一个好开始吧). 这次的队伍算是重组后的队伍, 前前后后自行进行了几场训练, 也参加了几场学校里的自行组织的几场训练, 现在回想起来这些确实给我们队伍的合作提供了很大的帮助. 十分感谢学校提供的训练场地(尽管有点难以描述)和 yrh lmy 等人的帮助. 不同于 lmy 的队伍, 我们队其实是到学校统一组织训练的时候才知道出题人是 SUA 并开始专门挑 SUA 的题目训练, 如果不是因为 lmy 的消息和 yrh 及学校老师组织的训练, 我们队伍这次比赛大概并不会这么轻松愉快. day(-9) 突然抗原阳了,在此之前我还没阳过, 在家里烧

2021 Shandong Provincial Collegiate Programming Contest

比赛链接 C - Cat virus 对于一颗树, 它的节点可以被染为黑色或者白色. 如果一个节点是白色,那么她的子节点可以是白色,也可以是黑色. 如果这个节点是黑色, 那么她的子节点一定是黑色. 现在输入一个数字 $2\le K \le 2\times 10^{18}$, 根据上述方式构造一棵数, 使之不同的染色方式有 $K$ 种 思维 构造 刚开始做的时候没带脑子,直接构造了一个 $(1,2), (2,3) \ldots (n-1, n)$,结果狠狠的 TLE 反向思考,当 $x$ 为白色的时候,它的父节点一定也为白色,而当这个节点是黑色的时候,它的父节点可以是白色,也可以是黑色. 设节点 a 及其子树有 $n$ 中染色方式, 增加一节点 b 连接到 a, 有以下情况: 当 a 为黑色时, 所有节点都为黑色, 1 种染色方式 当 a 为白色, b 为黑色时, 有 $n-1$ 中染

2022 International Collegiate Programming Contest Jinan Site

Gym-104076 A - Tower 有 $n$ 个塔, 每个塔的高度为 $a_i$. 首先先移除其中 $m$ 个塔, 然后可以进行以下操作: 将一个塔的高度 $a_i$ 加 1 将一个塔的高度 $a_i$ 减 1 将一个塔的高度 $a_i$ 折半,结果向下取整 操作中,塔的高度不允许取 $0$, 现在要使剩下的 $n-m$ 个塔的高度相同, 问最小的操作次数. 思维 比较暴力的一种做法, 首先大胆猜测最终所有的塔取的结果一定是通过折半获得的,而数越大时,折半时变化越大,因此其他的元素一定是先进行折半,再进行加减操作 在读入数字的时候首先将所有可能取的值存入 std::set div2, 然后对每个数 $i \in div2$,求出数 $a_i$ 到 $i$ 的所需的变化次数.找到最小的即可 #include <bits/stdc++.h> #include &lt

树形 DP 练习

发布于 # Competitive Programming

前几天基本每场都遇到树形DP,趁此熟悉抓紧练练 在网上找了个树形DP专项 P1352: 没有上司的舞会 热个身 $$ \begin{cases} f[i][0] = \sum_{son}{\text{ReLU}(\max{(f[son][0], f[son][1]))}}\\ f[i][1] = \sum_{son}{\text{ReLU}(f[son][0])} \end{cases} $$ 其中 $f[i][j]$ 中的$i$表示当前节点编号,$j$ 表示是否参加舞会 加ReLU是因为怎么有人去了还不高兴啊 54 行后才是代码主体 // clang-format off #include <bits/stdc++.h> #include <limits> using ll = long long; using ul = unsigned long long; u

The 2021 ICPC Asia Shanghai Regional Programming Contest

上海就是神仙打架 <table> <tr> <td> 题目链接 </td> <td> <center> 官方题解 </center> 竟然是ppt,他真的,我哭死 </td> </tr> </table> D - Strange Fractions 给出整数$p$和$q$,找到两个正整数满足$\frac{p}{q} = \frac{a}{b} + \frac{b}{a}$ 数学 使用换元法,令$y=\frac{p}{q}, x=\frac{a}{b}$ 则原式等于$y=x + \frac{1}{x}$ 即 $x^2 - xy + 1 = 0$ 题目中已经给了 $y$,我们只需要找到其中一个 $x$即可。 当 $\Delta=y^2-4\lt 0$时,输出 Imposs

2020-2021 ACM ICPC Asia Nanjing Regional Contest

<table> <tr> <td> 题目链接 </td> <td> 官方题解 </td> </tr> </table> A - Ah, It’s Yesterday Once More 构造一张二维地图,仅有墙壁和空白组成。在每个空白处都有一个人,每个人在接下来的 50000 步中将向一个方向随机移动。 要求构造的地图必须小于 $20\times 20$,至少有两个空白,每个空白之前必须是相互可达的,不能有环,50000步后所有的人$25%$的可能性不在同一个格子。 构造 很奇怪的一道题,练习的时候莫名其妙的就 A 了。 由于题目并没有输入数据,所有的人的行动数据都是随机的。很明显按照题目的意思,答案可以是固定的,没必要在程序中生成。而且路线长什么样子没什么关系(因为人的行动完全随机)。 只

moe-counter

统计自 2024 年 9 月