subsequence unique 125d arc
File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
热烈欢迎,请直接点击!!! 进入博主App Store主页,下载使用各个作品!!! 注:博主将坚持每月上线一个新app!!! 在Podfile尾部添加或修改: post_install do |installer| installer.generated_projects.each do |proj ......
ARC158(A~D)
Tasks - AtCoder Regular Contest 158 实际上是114514年前做的来着,非常好的数学题集($A$~$D$) A - +3 +5 +7 (atcoder.jp) 因为我们并不在意$x_1$,$x_2$,$x_3$真正的数值,只在意它们的相对值,所以原本的操作实际上就是 ......
ARC149(A~E)
Tasks - AtCoder Regular Contest 149 又是114514年前做的题,现在来写 屯了好多,清一下库存 A - Repdigit Number (atcoder.jp) 直接暴力枚举所有每一位都为$x$的数,然后数位从$1$到$n$,若当前枚举到了$i$,设$i-1%M$ ......
[ARC128D] Neq Neq 题解
不难考虑设 $f_i$ 表示现在处理了前 $i$ 个数,第 $i$ 个数必选得到的方案数。由于 $a_n$ 不可能被删掉(需要一个 $a_{n+1}$),所以答案即为 $f_n$。 对 $f_i$,我们考虑前一个被保留的数 $j$,问题转化成被 $i,j$ 夹住的一段连续的数可不可以全部删掉,分类讨 ......
c++ 多线程编程std::thread, std::shared_mutex, std::unique_lock
在C++11新标准中,可以简单通过使用thread库,来管理多线程,使用时需要#include <thread>头文件。 简单用例如下: 1 std::thread(Simple_func); 2 std::thread t(Simple_func); 3 t.detach(); 第一行是直接启动一 ......
「解题报告」ARC122E Increasing LCMs
紫题不会了,感觉要退役了 前缀 $\mathrm{lcm}$ 的限制很强,考虑每次消去一个数。 发现最后一个数没有依赖,考虑最后一个数的条件,其实就是最后一个数不是前 $n-1$ 个数的 $\mathrm{lcm}$ 的倍数,即 $\displaystyle \gcd(\mathop{\mathrm ......
[ARC129D] -1+2-1 题解
不是很懂为啥这题有 2300.jpg 首先显然在经过一次操作后 $\displaystyle\sum_{i=1}^na_i$ 不变,所以有解的充分条件为 $\displaystyle\sum_{i=1}^na_i=0$。 我们设 $x_i$ 表示我们对下标 $i$ 进行了 $x_i$ 次这样的操作, ......
[Algorithm] Dynamic programming - 02 - Longest Common Subsequence - Drawing 2d matrix + back tracing
Write a function that takes in two strings and returns their longest common subsequence. A subsequence of a string is a set of characters that aren't ......
【杂题乱写】ARC109
AtCoder Reguler Contest 109 A Hands 判断下是横向走两次更优还是纵向走更优,也可以建图。 B log 由于长度超过 $n$ 的只有 $n+1$,考虑把 $n+1$ 尽可能多的拆成其他长度的木材,二分即可。 正确性的证明可以考虑如果把 $n+1$ 拆成 $k$ 再把 ......
「解题报告」ARC123F Insert Addition
我啥都不会啊唔。 我们考虑不使用数来刻画这个东西,而是使用一个系数对来刻画这个东西,即 $(x, y)$ 表示 $ax+by$。那么我们相当于是初始有 $(1, 0), (0, 1)$,每次相邻的两个二元组对应位置相加,即 $(a, b), (a+c, b+d), (c, d)$。 发现这个过程与 ......
「题解」ARC156D Xor Sum 5
异或有很好的性质,相同直接抵消。那考虑按照将 $X$ 看成多重集来划分等价类,仅大小为奇数的等价类贡献答案。考虑这个多重集的形态,假设下标 $i$ 出现了 $c_i$ 次,那么总的出现次数就是:$\binom{K}{c_1,c_2,\cdots,c_n}$(多重集的排列数) 欲求其出现次数奇偶性,考 ......
[ARC131D] AtArcher 题解
题意 数轴上有一个箭靶以 $0$ 为轴心左右对称,给定每个得分区域的范围和分值,要求射 $N$ 支箭在靶上,且任意两支箭的距离不少于 $D$,求最大得分。保证从中心向两侧分数不增。特别的,如果有一只箭射在了分界点上,以较大得分为准。 思路 由于分数的单调性,我们肯定会让两只相邻的箭之间的距离恰好为 ......
「解题报告」ARC123E Training
挺有趣的题,为数不多的自己能切的题。 题意无非就是要你求 $i \in [1, n]$,有多少满足 $a + \lfloor\frac{i}{b} \rfloor = c + \lfloor\frac{i}{d}\rfloor$。 首先移项,得 $a - c = \lfloor\frac{i}{d} ......
「解题报告」ARC124F Chance Meeting
?这你评 3246?好弱智。 首先容易发现,两个人的路径只会相交在一条直线上,那么若干个交点就都在这一条直线上。 考虑容斥求这个问题,拿至少出现 $1$ 个交点的方案数减去至少出现 $2$ 个交点的方案数就是答案。 如何统计至少出现 $1$ 个交点的方案数?一条直线上的若干交点能够让我们联想到一套链 ......
「解题报告」ARC125F Tree Degree Subset Sum
很神奇的题。 首先容易发现这个树是没什么用的,直接转成度数数组。然后这个度数数组可以是满足 $\sum d_i = 2n - 2, d_i \ge 1$ 中的任意一个数组。 $d_i \ge 1$ 这个限制很奇怪,我们考虑将所有的 $d_i$ 减掉 $1$,得到新的数组。此时有 $\sum d_i ......
「解题报告」ARC124E Pass to Next
我果然还是无脑型选手。 首先还是考虑设 ${x_i}$ 表示第 $i$ 个位置的人往后传了几个球,那么考虑如何将操作序列与最终局面一一对应。发现如果 ${x_i}$ 中的所有数都 $\ge 1$,那么我们可以直接全部减去一个 $1$,最终局面不变。所以,我们只需要统计所有 $\min x_i = 0 ......
ARC141D Non-divisible Set
ARC141D Non-divisible Set 这题还是比较有启发性的。 经典的偏序关系下最长反链,第一反应是转化为最小链覆盖,但是在很多以整数的整除关系为背景的题目中这个做法不是最好的。 洛谷的题意翻译中少给了一个信息:值域为 $[1,2M]$。这个条件看上去就应该和选 $M$ 个数的限制结合 ......
【杂题乱写】ARC108
AtCoder Regular Contest 108 A Sum and Product $O(\sqrt{n})$ 枚举约数判断即可。 B Abbreviate Fox 用栈维护,每次判断栈顶是不是 fox,是则弹出。 C Keep Graph Connected 猜想一定有解。 猜想任何一个生 ......
【学习总结】智能指针shared_ptr和unique_ptr使用汇总
1.shared_ptr 1.1 shared_ptr介绍 shared_ptr主要用于托管动态分配的内存。 在程序中动态分配了一块内存,这块内存可以是变量可以是对象,为了避免内存泄露,我们必须在整个程序的所有可能跑到的分支,保证这块内存不用了之后可以得到正确的释放。 普通指针使用起来麻烦,而且使用 ......
unique_ptr
在头文件<memory>中定义。 std::unique_ptr 是通过指针占有并管理另一对象,并在 unique_ptr 离开作用域时释放该对象的智能指针。 在下列两者之一发生时用关联的删除器释放对象: (1)销毁了管理的 unique_ptr 对象 struct B { virtual ~B() ......
[ARC139D] Priority Queue 2 题解
上个世纪做过这题,然后今天比赛(abc295)出了道弱化没做出来,被 pty 喷了一遍后爬来写个题解/kk 首先这种期望/总和题都有个套路,就是通过另外一种角度来计算每个元素的贡献。对于此题,我们有: $$ ans=\sum_{i=1}^mi\cdot c(=i)=\sum_{i=1}^mc(\ge ......
「解题报告」ARC126F Affine Sort
目前为止在 ARC 做到过的最震撼的数学题。 我们先把 $f(K)$ 改写一下,设 $g(K)$ 表示当 $c=K$ 时合法的 $(a, b)$ 二元组数,那么就有: $$ f(K) = \sum_{i=0}^K g(i) $$ 那么根据 O'Stolz 定理 我们要求的式子为: $$ \lim_{ ......
ARC125D 题解
ARC125D 题意 给定长度为 $n$ 的序列中,求其中只出现过一次的非空子序列的个数,对 $998244353$ 取模。 题解 不难发现,一个只出现过一次的子序列合法的充分必要条件是: 头部元素 $a_i$ 是原序列中下标最小的(即最左边的)值为 $a_i$ 的元素 由对称性,该子序列最后一个元 ......
.NET Core Swagger Actions require a unique method/path combination for Swagger/OpenAPI 3.0. Use ConflictingActionsResolver as a workaround
遇到的问题 因为新增了一个控制器方法,从而导致在运行Swagger的时候直接报错,异常如下: SwaggerGeneratorException: Conflicting method/path combination "POST api/UserOperationExample" for acti ......
「解题报告」ARC126E Infinite Operations
暴力做法:直接瞎写个东西暴力跑一下,找规律容易得到答案式子。( 操作很难刻画,考虑设一个势能函数来刻画这个东西。 设 $\Phi(x) = \sum_{i=1}^n\sum_{j=i+1}^n |x_i - x_j|$。容易发现,当我们将两个数进行操作时,$\Phi(x)$ 的值至少会减少 $2x$ ......
ARC070F 题解
前言 题目传送门! 更好的阅读体验? 牛逼构造题。 思路 代码 #include <iostream> #include <cstdio> #include <stack> using namespace std; bool query(int x, int y) { cout << "? " << ......
「解题报告」ARC127F ±AB
首先容易想到 $m$ 较大时答案为 $m+1$。具体的,当 $m \ge a+b-1$ 时,从任意一个位置出发都可以进行操作,所以答案为 $m+1$。 当 $m \le a + b - 2$ 时,我们发现,对于每一个位置,我们最多只可以进行两种操作。那么也就是说,如果第一步操作确定后,剩下的操作也确 ......
[ARC147E] Examination
[ARC147E] Examination 发现题解区和我做法都不一样,那就写一下吧。 首先判合法很显然把 $A$ 和 $B$ 都排序后依次比较即可。 首先转化成求最小的可以交换的集合。不难发现所有 $B_i > A_i$ 的人都必须在这个集合内。接下来剩下的怎么取。 感觉很贪心,那么就按 $B$ ......
[dp 记录] agc020F arcs on a circle
神题。yhx 的讲解 非常好、非常自然。 题意: 给定 $c$ 和 $n$ 段长度为 $a_i$ 的弧,每条弧的起点在圆周上均匀随机一个位置,求所有弧的并集覆盖圆周的概率。 $c \leq 50, n \leq 6$ 环上的问题并不好处理,因此寻求链是自然的。钦定一段弧的起点是一段弧的起点看着不错, ......