题解codeforces round 879

CSP-S 2023 题解

CSP-S 2023 题解 T1 密码锁 观察到锁的状态数量很少,可以考虑暴力搜索每一个状态判断合法性。令 \(k=10\),时间复杂度 \(O(10^k\times k)\)。 code #include <iostream> #include <cstdio> #include <cstring ......
题解 CSP-S 2023 CSP

CF1874F Jellyfish and OEIS 题解

题目链接 不明白出题人的脑回路是不是被宇宙射线改变过 /jy。 题目给出了若干个区间,要我们计算满足每个区间都不是对应下标的排列的数量,正着计算不满足要求的数量是困难的,我们将其容斥,转化为钦定一些区间要求其必须满足它是对应下标的排列,在下文中,我们称这样的区间为一个约束。 我们设约束的集合为 \( ......
题解 Jellyfish 1874F 1874 OEIS

题解 P6560 [SBCOI2020] 时光的流逝

题解 P6560 [SBCOI2020] 时光的流逝 首先考虑图上的点为 \(y\) 终点时,或者这个点无法继续向下走,即 \(du_i = 0\) 时,从这个点为起点先手必败,而对于每一个有一条指向先手必败的点的边的点,显然从这个点出发都是先手必胜的,以此类推。 可以考虑建反图,进行拓扑排序,转移 ......
题解 时光 P6560 SBCOI 6560

题解 [ARC149B] Two LIS Sum

题解 [ARC149B] Two LIS Sum 大胆猜结论,按照 \(a\) 数组为关键字进行排序,求更改后 \(b\) 的 \(LIS\) 。 证明:每次移动,都有 \(a\) 中增加一个长度, \(b\) 中贡献可能为 \(\{-1,0,1\}\) , 总体贡献为 \(\{0,1,2\}\) ......
题解 149B ARC 149 Two

CF1870D Prefix Purchase 题解

Problem - 1870D - Codeforces Prefix Purchase - 洛谷 先说一个我想的错误的贪心:先用单调栈把原序列构造成单增序列,选出 \(\lfloor \frac{K}{c_i} \rfloor = \lfloor \frac{K}{c_1} \rfloor\) 的 ......
题解 Purchase Prefix 1870D 1870

Codeforces Round 906 (Div. 2)

Codeforces Round 906 (Div. 2) A. Doremy's Paint 3 解题思路: \(a_1 + a_2 = a_2 + a_3\),所以\(a_1 = a_3\)。以此类推。所以整个序列最多出现两种不同的数字。 \(n = 2\)时,必然存在。 \(n = 3\)时, ......
Codeforces Round 906 Div

Educational Codeforces Round 129 (Rated for Div. 2)

Educational Codeforces Round 129 (Rated for Div. 2) B可以看作一个无限长的序列由a进行重复拼接,我们直接计算一下是哪个即可。 C判断无解之后直接模拟即可 D IDA*就行每次从大到小搜,实际非常快。 #include<cstdio> #includ ......
Educational Codeforces Round Rated 129

CF1872E Data Structures Fan 题解

CF1872E 翻译 请把数据加强到 \(\sum n \leq 10^8\) 后重新思考。 我们维护全局中被标记的所有点的异或和。发现对于一次 \(1\) 操作,相当于让答案异或上区间的 \(a_i\) 异或和,因为这会让被标记的点变成没被标记的,而没被标记的点会产生贡献。 查询的话直接查询即可 ......
题解 Structures 1872E 1872 Data

P2391 白雪皑皑 题解

一种很新的区间染色 题目传送门 题目大意 有 \(n\) 个数初始都为 \(0\) ,有 \(m\) 次操作,第 \(i\) 次将 \((i \times p + q) \bmod n + 1\) 与 \((i \times q + p) \bmod n + 1\) 之间数都改为 \(i\) ,问 ......
白雪皑皑 题解 白雪 P2391 2391

P4397聪明的燕姿 题解 & Miller~Rabin 质数判定

涉及质数的时间复杂度都是玄学的。 ——题记 传送门 由整数唯一分解定理:\(\coprod\limits_{i=1}^{k}p_i^{c_i}\) 有该正整数的正约数为:\(\coprod\limits_{i=1}^k(\sum\limits_{j=0}^{c_i}p_i^j)\) 即我们要求有多少 ......
质数 题解 Miller P4397 Rabin

Codeforces Round 906 Div. 1 (CF1889)

貌似现在发周六的 CF 题解已经失去了时效性,不过问题不大。 A. Qingshan Loves Strings 2 Description 定义一个长度为 \(k\) 的 \(01\) 串 \(s\) 是好的,当且仅当 \(\forall i\in [1,k],s_i\neq s_{k-i+1}\ ......
Codeforces Round 1889 906 Div

CF1707 题解

CF1707 题解 A 考场上 1h 才出思路...弱智了。 我们将参加大于当前智商的行为叫做 “摆烂”。我们考虑如果现在摆一次,将来某一次不摆,那么现在不摆,将来那次开摆,中间过程的智商会加1。更优。所以一定一摆就摆到底。而且一定会摆到最后一个。 所以我们二分从什么时候开摆,看是否能摆到最后,中间 ......
题解 1707 CF

题解:洛谷P3745 期末考试(整数三分)

题解:洛谷P3745 期末考试(整数三分) 题目传送门 题目大意:给出 \(n\) 个同学期望出成绩的时间限制 \(a_i\) 和 \(m\) 个学科公布成绩的初始时间 \(t_i\) ,1个同学每多等一天就产生 A 的不愉快度。问通过一番操作后最小的不愉快度之和是多少? 操作有两种: 1.让学科 ......
题解 整数 P3745 3745

Codeforces Round 907 (Div. 2)

Codeforces Round 907 (Div. 2) B题注意到每次都会至少下降1,所以不会超过30次,直接O(30n)即可 C题感觉可能比D和F还要思维一些。 肯定是尽量多积累combo一些然后一次清空,那么我们能清空的最大值就是当前的最大值,所以每次用小的来累计combo,然后消除当前的最 ......
Codeforces Round 907 Div

Codeforces Round#907 解题报告

只更新 DEF 看了一眼standings榜一居然十二分钟写了一个剖分,感觉有点猛,仔细把代码都看了一遍发现是开黑的。逆天。 比上一场 div2 质量不知道低到哪里去了。 D 对于不同的 \(f(x)\) 一段一段求,\(f(x)\) 一共 \(\log\) 种,指数也是 \(\log\) 种。全都 ......
Codeforces 报告 Round 907

[题解][ARC167C]一道申必的数数题

这道题目千岩万转,需要用到多次转化,其中有一些转化较为常见,有一些则需要思考。 首先观察原问题:给定数列 \(a\),对于所有 \(1\sim n\) 的排列 \(p\),构建一张只有 \(j-i\le k\) 的 \((i,j)\) 之间有权值为 \(\max\{a_{p_i}, a_{p_j}\ ......
题解 一道 167C ARC 167

题解 ABC326E【Revenge of "The Salary of AtCoder Inc."】

根据期望的线性性,总工资的期望等于在每一个 \(i\) 处获得的工资的期望之和,而在 \(i\) 处获得的工资的期望 \(E(i)=A_i\times p(i)\),其中 \(p(i)\) 表示掷骰子掷到 \(i\) 且有效的概率。 初始 \(p(0)=1\),则只有从 \(0\sim i-1\) ......
题解 quot Revenge AtCoder Salary

Codeforces Round 906 (Div. 2)A-E1

A. Doremy's Paint 3 记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\);当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\(yes\);其他情况答案为\(no\)。 时间复杂度:\(O(nlogn)\) 1 void sol ......
Codeforces Round 906 A-E Div

P5404 [CTS2019] 重复 题解

题目链接 观察题目,我们发现直接计算是困难的,先构造单个合法的 \(T\) 分析其性质。 为了构造出 \(T\),先考虑构造时 \(T\) 时什么时候会出现不合法的情况,此时 \(T\) 会有一段和 \(S\) 相同的前缀,且这段前缀后面跟着的字符比 \(S\) 所跟的小。 为了避免这种情况出现,我 ......
题解 P5404 5404 2019 CTS

CSPRO 历届题目与题解

官方题目链接:http://118.190.20.162/ \(\Huge目录\) 201609 201612 201709 202104 202109 202112 202203 202206 202209 202303 202305 202309 \(\Huge\text{CSP201609}\ ......
题解 题目 CSPRO

Codeforces Round 906

tilian 代码很长 但是思路很清新 我们发现k=2 意思我们只用考虑sum[i]<=2的地方 不从天入手而是反而考虑这些个 sum[i]<=2 的地方 sum[i]2 这个地方被两个区间cover过 我们可以算出这两个区间的相交的<=2的数量+这两个区间<=1的数量 sum[i]1 这个地方被一 ......
Codeforces Round 906

Codeforces Round 895

提炼 感觉这种题还是很金典的 我们看到乘积 就应该想到其很容易爆 而我们省1的话 也最多就是2e5数量级的 我们为了省事不用算上界 可以直接把这个上界设为1e9 也不会爆LL 只要乘积突破这个上界 我们就肯定要是有旁边的 大于1的数 我们都要吃掉 因为增量都超过了1e9那么多 我们只要算出左右两边 ......
Codeforces Round 895

CF1884B Haunted House 题解

CF1884B Haunted House 题解 借鉴了当前 另一篇题解,加了更多的说明。 简化题意 给定一个长度为 \(n\) 的二进制串 \(S\),求 \(f(1),f(2),\cdots,f(n)\)。 其中,\(f(i)\) 定义为,每次交换相邻的两个二进制位,将 \(S\) 的后 \(i ......
题解 Haunted 1884B House 1884

AT_abc325_g offence 题解

AT_abc325_g offence 题解 一道不难但是需要想一想的区间 DP。 有一个比较复杂的例子:ooofofxxx,简单的分析可知,一个 of 后面删除多少,与其前、后都有关,于是考虑区间 DP。 想到这里,其实问题已经解决一半了。 状态设计 设 \(f(l,r)\) 为闭区间 \([l, ......
题解 offence AT_abc 325 abc

AT_abc326_d ABC Puzzle 题解

AT_abc326_d ABC Puzzle 题解 看题 事实上,即使在 \(N=5\) 的情况下,也只有 \(66240\) 个网格满足「每行/每列恰好包含一个 A、B 和 C」。——官方题解 其实看到这道题,就感觉是搜索,这很显然。 但是我们会发现,最最最 native 的搜索,是 \(4^{5 ......
题解 AT_abc Puzzle 326 ABC

AT_abc326_f Robot Rotation 题解

AT_abc326_f Robot Rotation 题解 经典问题,以前遇到过一个类似的问题:[ABC082D] FT Robot。 建议对比着看一看这两道题,是两种不同的思路。 (那一道题不用输出方案,因此可以用 bitset 优化;而此题需要输出方案,因此需要双向搜索。 思路 注意到每次只能「 ......
题解 Rotation AT_abc Robot 326

AT_abc325_f Sensor Optimization Dilemma 题解

AT_abc325_f Sensor Optimization Dilemma 题解 Date 20231025:修复手滑公式 \(\min\)、\(\max\) 写反了。 动态规划。类似背包问题。 朴素算法 记 \((x,y)\) 表示使用 \(x\) 个 (1) 传感器、\(y\) 个 (2) ......
题解 Optimization Dilemma AT_abc Sensor

AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解

AT_abc326_e Revenge of "The Salary of AtCoder Inc." 题解 一道简单的概率论+动态规划题目(然而我赛时没看这道题 题意 有一个长度为 \(n\) 的序列 \(A\)、一个 \(n\) 面骰子,掷若干次骰子,如果这一次掷骰子的点数小于等于上一次的点数, ......
题解 quot Revenge AtCoder AT_abc

CSP-S2023题解

lock 直接模拟题意,过程略。 #include<bits/stdc++.h> using namespace std; int st[15][15]; int dis(int x,int y){ if(x < y)return y - x; return y + 10 - x; } bool m ......
题解 CSP-S 2023 CSP

[CSP-S2020] 儒略日 题解

[CSP-S2020] 儒略日 今儿终于做掉困扰多年的题目了,其实想好细节也不难。 容易发现儒略历和格里高利历的润年判断方式不一样,并且中间有消失的十天,计算起来相当不方便。所以我们可以首先计算出 \(-4713.1.1\) ~ \(1582.10.4\) 会经过多少天,可以通过一天一天暴力跳的方法 ......
题解 CSP-S 2020 CSP