题解1525f cf

CF1039D You Are Given a Tree

CF1039D You Are Given a Tree 更好的阅读体验 一种神奇套路:对答案根分,根分的依据是链的长度和答案大致是一个成反比的关系。 考虑确定了 \(k\) 怎么做。因为一个点只能在一条链里,所以 dfs 的时候如果能拼成一条链就一定会拼成一条链,不然就把贡献传给父亲继续尝试。 对 ......
1039D Given 1039 Tree Are

Sasha and Array 题解

Sasha and Array 题目大意 给定一个长为 \(n\) 的序列 \(a\),支持以下操作: \(\forall i \in[l,r],a_i\gets a_i +x\)。 求 \(\left(\sum\limits_{i=l}^{r}F_{a_i}\right)\bmod (10^9+7 ......
题解 Sasha Array and

CF GYM 104020 G

link 首先,因为 \(w_i\le 10^6\),有点大,所以我们想方设法把他变小一点。 设一个快为 \(w_i=k\times x+r\)。其实,如果我们把他分为 \(x\) 个大小为 \(k\) 的块,然后一个大小为 \(r\) 的块是最优的。因为切成其他的大小的块,我们可以调整成这种切法, ......
104020 GYM CF

[CF576E] Painting Edges

Painting Edges 动态加边和二分图容易想线段树分治,分别维护 k 种颜色的并查集。 不过每条边的存在时间不能确定。 设边 i 的两次操作的时间为 \(x_i,y_i\),那么对于 \(t\in[x_i+1,y_i-1]\) 有两种情况,颜色改变或改色不变。 则我们把每次操作影响的时间放在 ......
Painting Edges 576E 576 CF

第四届辽宁省大学生程序设计竞赛部分题解

2023辽宁省赛 A:欢迎来到辽宁省赛 题目描述 小Z躺在床上看了看表 , 现在是13:30 , 2023辽宁省大学生程序设计竞赛的报名将会在 14:00 截止。 然而不急 , 省赛的参赛队伍还没有向他提交名单。小Z知道 , 只要 3 分钟他就可以完成报名 , 完成汇款。 现在他想知道 , 队伍要在 ......

[ABC326D] ABC Puzzle 题解

题意: 给定整数 \(N\),字符串 \(R,C\),构造满足以下条件的 \(N\times N\) 矩阵: 1.每一行和每一列中 \(A,B,C\) 各有且仅有一个。 2.第 \(i\) 行的第一个字母等于字符串 \(R\) 的第 \(i\) 个字符。 3.第 \(i\) 列的第一个字母等于字符串 ......
题解 ABC Puzzle 326D 326

CF1025F Disjoint Triangles

虽然我不懂计算几何,但是两个三角形互相进入,感觉很涩啊! —— By 【】 考虑两个互不相交的三角形,寻找一个方式能够不重不漏地统计它们。 容易发现两条不交的线段 \(A_1A_2,B_1B_2\) 之间,必然存在一条直线将 \(A_1A_2,B_1B_2\) 分在直线两端,且与 \(A_1A_2, ......
Triangles Disjoint 1025F 1025 CF

CF908H New Year and Boolean Bridges

这说明你那破子集卷积不是万能的。 显然题目要求的图 \(G'\) 是弱联通的,考虑给出的图 \(G\) 中两个点 \(i,j\) 之间 \(G_{i,j}\) 的条件转化为: \(G_{i,j}=\mathtt A\),说明 \(i\) 能到 \(j\) 且 \(j\) 能到 \(i\),则 \(i ......
Boolean Bridges 908H Year 908

P4067 [SDOI2016] 储能表 题解

[SDOI2016] 储能表 - 洛谷 题目详情 - [SDOI2016] 储能表 - BZOJ by HydroOJ 一道很好的数位 dp 题 不过这题有一个比较有意思的性质:当 \(n,m\) 为 \(2^k\) 的形式时,最终得到的数组对每一行排序后为 \(0 \sim m-1\) 的排列,如 ......
题解 P4067 4067 2016 SDOI

11 月杂题题解

B1031 T3 区间 波神说这很板,破防了。 考虑如何维护区间的并。 离线,然后扫描线,并把询问挂到右端点。 从左往右,考虑加入一条线段的影响。 假设现在加入第 \(i\) 条线段,对于 \(j\leq i\),维护 \(f(j)\) 表示线段 \(j\sim i\) 的并的长度。 某段位置上一次 ......
题解 11

8VC Venture Cup 2016 - Final Round (CF627)

A. XOR Equation 最低位没有加法进位产生的影响,考虑从低位向高位 dp。 设 \(f_{i,0/1}\) 表示正在考虑第 \(i\) 位,前 \(i-1\) 位都满足限制,有无进位的方案数。 转移的时候枚举这一位两个数分别填 \(a,b\),\(x_i\) 表示 \(x\) 在二进制下 ......
Venture Final Round 2016 8VC

CF484D Kindergarten

CF484D Kindergarten 题目描述: 有一组数,你要把他分成若干连续段。每一段的值,定义为这一段 数中最大值与最小值的差。 求一种分法,使得这若干段的值的和最大。 数据范围: \(N < 10^6\), \(a[i] < 10^9\)。 思路: 仔细手摸几组数据,你会发现,我们将原序列 ......
Kindergarten 484D 484 CF

11月3号晚上测试题解

3954 Problem A 变量交换输出 #include <stdio.h> int main() { int a,b,c,x; scanf("%d%d%d",&a,&b,&c); //假设a,b,c分别为1,2,3;选择一个中间值进行数值替换 x=a; //把a赋值给x,此时x就等于a的值为1 ......
题解

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

CF练习题17(DP)

Chocolate Bar 我们看到 \(n,m\le 30\) 想到暴搜。 考虑枚举分割线,一直到刚好满足需要或者只有一个巧克力的情况。 随手跑了个最优解。 inline int dfs(int n,int m,int k){ if(n*m==k)return 0; if(k<=0)return ......
练习题 17 DP

CF1874F Jellyfish and OEIS 题解

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

CF1866G

link 每个车厢的人可以到的是一段区间。 题面显然提示二分答案,二分答案 \(x\),每个车厢可以承受 \(x\) 个人,考虑如何 check 每个人能否都能到一个区间。 有一个比较显然的网络流来 check 的做法,原点向每个车厢连流量 \(a_i\) 的边,每个车厢向自己能到的区间连边,然后每 ......
1866G 1866 CF

CF1454F

link Soltion: 有一个比较显然的 \(O(n^2)\) 做法,枚举中间区间的左右端点,然后用前后缀 \(\max\) 和 st 表查询中间的 \(\min\),其实不用 st 表也行,确定左端点枚举右端点的时候顺便求一下就好。 考虑枚举左端点,以一个较快的方法求出右端点。 发现后缀 \( ......
1454F 1454 CF

题解 P6560 [SBCOI2020] 时光的流逝

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

CF600E Lomsat gelral

树上启发式合并(dsu on tree)通常用来查询不带修的子树信息,信息要求可合并。 对于一个结点 \(u\),其步骤如下: 求解其轻儿子的答案,同时清除递归产生的影响。 求解其重儿子的答案,保留递归产生的影响。 将轻儿子子树内的每个结点都合并进答案中,同时成为以 \(u\) 为根的子树产生的影响 ......
Lomsat gelral 600E 600 CF

[CF576D] Flights for Regular Customers

CF576D 把矩阵定义为 \(f_{t,i,j}\) 表示恰好 t 步后 i,j 是否可达,则广义乘法为 \[f_{t+1,i,j}=\sum_{k=1}^{n}f_{t,i,k}\wedge f_{1,k,j} \]因为是或操作,所以 \(f_{i,j}=1\) 时答案或上另一个乘数的第 j 行 ......
Customers Flights Regular 576D 576

CF1451

CF1451 Subtract or Divide 显然 如果为偶数 那么我们将它变到 \(2\) 再 \(-1\) 即可 如果为奇数 我们先 \(-1\) 再转化为偶数的情况即可 对于 \(n\le 3\) 进行特判 #include <bits/stdc++.h> using namespace ......
1451 CF

CF708C Centroids

对于一个不是重心的点 \(u\),它必定有一棵子树 \(T\) 包含所有重心(如果有两个重心则它们必定相邻),显然 \(|T|>\lfloor\frac{n}{2}\rfloor\),这阻碍了它成为重心。贪心地想,我们要在 \(T\) 中找出一棵子树 \(S\) 使得 \(|S|\leq\lfloo ......
Centroids 708C 708 CF

题解 [ARC149B] Two LIS Sum

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

CF1764D Doremy's Pegging Game 组合数学

CF1764D Doremy's Pegging Game 你怎么连简单题也不会? 考虑满足条件当且仅当有连续的n/2向下取整段被删除。 考虑最终状态一定是一次删除联通了两个连续段,然后结束。 我们枚举这个连续段的长度 i 。 最后一个删除的位置有 n/2下取整*2-i 种方案,设另外删除了 j 种 ......
组合数学 Pegging 数学 Doremy 1764D

CF1870D Prefix Purchase 题解

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

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