题解1009f cf

题解:【ABC298G】Strawberry War

题目链接 场上被 F 干碎了,没看见这个典题。原题差不多是这个吧 ......
题解 Strawberry 298G ABC 298

CF1816F Xor Counting - dp - 分治 -

题目链接:https://codeforces.com/contest/1816/problem/F 题解: 一道有趣的题。 首先发现 $m=1$ 和 $m\geq 3$ 时结论是平凡的。$m=1$ 时结论显然,下面讨论一下 $m\geq 3$ 时: 首先可以构造 $[x, (n-x)/2, (n- ......
Counting 1816F 1816 Xor CF

CF1815C

1 解法 设 $f_i$ 为 $i$ 最多出现多少次,那么一个限制 $(u,v)$ 可以写成 $f_u \leq f_v +1$,把 $f$ 看做最短路中的 $dis$ 数组,上面的式子就是在图上连一条从 $u$ 到 $v$ 边权是 $1$ 的边,由于边权都是 $1$,所以可以直接用 $\text{ ......
1815C 1815 CF

题解 CF1090D【Similar Arrays】

一道简单构造题。 如果 $m=\frac{n(n-1)}{2}$,此时任意两个数都要有偏序关系,但是又要求第二个数列有两个数相等,因此无解。 否则一定有解。不难想到构造两个数列使它们几乎完全相等。可以找到两个没有偏序关系的下标 $(i,j)$,在第一个数列中分别赋值为 $n-1,n$,在第二个数列中 ......
题解 Similar Arrays 1090D 1090

训练记录-cf-di2-866(A-C)

手速场 但是wa了两发 血亏 上蓝了 纪念一下( 不过我还是菜鸡 什么都不会orz A. Yura's New Name 题意:要形成^^或者^_^的笑脸 最少加多少个^ 思路:特判单个^输出1 单个_输出2 首是_ +1 尾是_ +1 其次计算连续的__ ans加上cnt-1个 #include< ......
cf-di 866 A-C cf di

NOC 2022 初中组选择和编程题题解

NOC 2022 初中组选择题和编程题题解 注意:本文有几个问题: 部分题目我也不确定答案,而且我水平不行,有些题目我还真不会,大家就把我的答案当个参考吧。 目前有一大半的题目因为作者比较懒,暂时没写,空在那儿,可以下载原题自己做做。 1 初中组选拔赛 原题链接,提取码:efy6。 1.1 选择题部 ......
初中组 题解 初中 2022 NOC

线性规划相关题解集

P6631 [ZJOI2020] 序列 题解 注意到原题是个整数规划,记所有操作的集合为 $\mathcal{I}$,操作 $i$ 的次数为 $x_i$ 化成标准型如下: $$ \begin{align*} &\max\sum_{i\in\mathcal{I}}x_i\ s.t.\ & \sum_{ ......
题解 线性

「解题报告」CF1129D Isolation

水题,但是调了好久 qwq 显然是 DP,出现次数显然分块,那就数据结构优化 DP 呗。 我们可以维护出当前点到每个点这段区间内有多少个出现次数为 $1$ 的数,这个右端点每拓展一位修改的左端点一定是连续的区间。分块维护这个东西,如果是散块暴力重构暴力加,如果是整块那给整块打个加标记。 发现,加标记 ......
Isolation 报告 1129D 1129 CF

Codeforces Round 770 (Div. 2)题解

A 题目: 给定一个串,我们拥有他的一个反串,进行k次操作,每一次把当前的串加上反串加在后面,或者加在前面,问最后我们可以得到最多几种序列? 思路: 模拟一下会发现,当一个串是回文的,最终的结果一定是1。 如果最开始的串不是回文的,经过一次操作之后也会变为回文串。(所以k==0时输出1.k>0时输出 ......
题解 Codeforces Round 770 Div

[P4317 花神的数论题]题解

P4317 花神的数论题【数位DP】 题目描述 最开始其实没有什么想法 第一次遇见数位dp求相乘的题 想就按照常规做法来做,但不知道如何去处理* 于是写了一个错误的代码 //当前枚举到第id位,前面的1的个数为sum,是否达到上限limit ll dfs(int id,int sum,int lim ......
题解 论题 P4317 4317

CF1592F2 题解

题意 传送门 给定一个 $n$ 行 $m$ 列的目标矩阵,矩阵元素只有 W 或 B ,并且你有一个初始矩阵,元素全为 W 。 现在你可以矩阵实施以下操作: 使用一块钱,选定一个包含 $(1,1)$ 的子矩阵,把矩阵中的元素全部反转( W 变 B , B 变 W )。 使用三块钱,选定一个包含 $(n ......
题解 1592F 1592 CF F2

Luogu_P1613 跑路 题解

发现和最短路差不多,不过不能朴素的跑最短路。考虑对于每两个相隔 $2$ 的整数次幂的点建边,在这个新图上跑最短路就是答案。设 $f_{i,j,k}$ 表示从点 $i$ 跳 $2^k$ 步能否到点 $j$,转移方程就是一个普通的倍增。如果点 $i$ 和点 $j$ 可以一步到达,那么就在新图上建一条长度 ......
题解 Luogu_P Luogu 1613

ABC249F 题解

前言 题目传送门! 更好的阅读体验? 很好玩的贪心。 思路 如果第 $i$ 次操作为覆盖操作,那么 $1 \sim i-1$ 次操作都是无效的,原因显然。 这启示我们从后往前扫(前面的会被忽略,后面的不会啊!)。 在此基础上,就是分类讨论一下(假设当前的最大答案为 $sum$): 当前操作是覆盖操作 ......
题解 249F ABC 249

【题解】Tree MST

题面 给定一棵 $n$ 个节点的树,现有有一张完全图,两点 $x,y$ 之间的边长为 $w_x+w_y+dis_{x,y}$,其中 $dis$ 表示树上两点的距离。 求完全图的最小生成树。 $n \leq 2 \times 10^5$。 题解 ???神秘 借鉴支配对的思想,点分治后将树中点权替换为$ ......
题解 Tree MST

P9197 [JOI Open 2016] 摩天大楼 题解

算是一道比较好想的题 (?) 首先将 $A$ 数组排序,从小到大插入 $f$ 中,就可以脱掉绝对值符号。 设 $f_{i,j,s,t} $ 为插入前 $i$ 小的数,在 $f$ 数组中形成了 $j$ 段,对整个柿子的贡献为 $s$ ,且确定了 $t$ 个边界(即不能在左边界的左边或右边界的右边再插入 ......
摩天大楼 题解 大楼 P9197 9197

[ABC296Ex] Unite 题解

考虑状压 dp。 设 $f_{i,j,s}$ 表示当前正在决策坐标为 $(i,j)$ 的格子,且列状态为 $s$。其中列状态维护了当前轮廓线上的连通块,我们可以使用最小表示法来简单维护。 (为什么不用广义括号序列?因为其涉及到 $5$ 个可选值,由于 $m\le 7$,所以这两个都需要用到八进制,而 ......
题解 Unite ABC 296 Ex

[Educational Codeforces Round 118 (Rated for Div. 2)]题解

A 题意: 给定两个数,每一个数有两个属性,第一个属性是p1,第二个属性是p2.表示这个数有p2个后缀0.这个数本身等于p1后面加p2个0.问给你两个这种数,判断大小。 思路: 赛场上想到的:如果最终的长度不一样,可以直接根据长度判断。 如果相等,就把后缀0加上直接比较大小就可以(比较字典序的大小) ......
题解 Educational Codeforces Round Rated

「解题报告」CF983E NN country

水点简单数据结构题! 考虑从两个点开始往上跳,每次肯定尽可能跳到最浅的点。两个点跳到再跳一步就能到达 lca 的位置的时候,此时再看看有没有路径连接这两个点,如果有那么一步就可以跳到,否则就要跳到 lca 再跳一步,两步跳到。跳的过程显然可以用倍增处理。 然后我们考虑处理出每个点能跳到的最浅的点。假 ......
country 报告 983E 983 CF

2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest题解

题目链接:2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest C. Cinderella(贪心) 思路 答案为大于平均值的数的数量 代码 #include <bits/stdc++.h> using namespace std; using i ......
题解 Subregional ACM-ICPC Contest Moscow

题解 CF1764G Doremy's Perfect DS Class (Extra)

题解 CF1764G Doremy's Perfect DS Class (Extra) 题意 交互库有一个 $1\sim n$ 的排列 $p$,你每次可以想交互库给定三个整数 $l,r,k(1\le l\le r\le n,1\le k\le n)$,交互库会返回 $\lfloor p_l/k\r ......
题解 Perfect Doremy 1764G Class

一些自己做的算法题解

//得到支点下标 function partition(arr, low, high) { const tmp = arr[low]; while (low < high) { //high位置值大于tmp,high自减 while (low < high && arr[high] >= tmp) ......
题解 算法

「解题报告」CF1528F AmShZ Farm

$$ \begin{matrix} \text{Countin' is what to do}\\ \text{Countin's when I think of you}\\ \text{Countin's what clears my soul}\\ \text{Countin's what ... ......
报告 1528F AmShZ 1528 Farm

CF1163F Indecisive Taxi Fee

删边最短路 这篇题解的特点 其实其他的题解都有几处证明跳跃的点。比如,怎么证明删边最短路只强制经过一条边就足够,而不需要强制经过两条,三条边呢?这个结论的证明并不如想象中简单,而且我想读者阅读完其它题解后也很难意识到这个结论只在 无向正权图 上成立,只要负权 / 零权 / 有向,这个结论就立刻失效了 ......
Indecisive 1163F 1163 Taxi Fee

「解题报告」CF960G Bandit Blues

无脑的 APJ 用最无脑的方法解题!!!~~做了两天图论脑子爆炸后的 apj 寻求精神慰藉~~ 首先考虑 $n$ 一定是从前往后的最大值与从后往前的最大值,这样我们只需要求出长度为 $n$,有 $k$ 个前缀最大值的排列数量,记作 $f_{n, k}$。 考虑每次将当前排列中的最大值与最大值后面的排 ......
报告 Bandit Blues 960G 960

CF1473D 题解

题目传送门 题目分析 线段树、前缀和、$\text{ST}$ 表题解都有了,我补一发猫树题解吧。 由于每次操作只能将大小改变成跟原来差 $1$,所以只需要知道这段操作中的最大值和最小值,最后所求的答案的范围就被卡住了。对于每一次操作,我们把操作序列拦腰斩断,那么分别求两边的范围,最后减去重复的部分即 ......
题解 1473D 1473 CF

CF1758D 题解

前言 题目传送门! 更好的阅读体验? 用一种非常麻烦的做法把自己写自闭了,和题解区不一样,但是方法困难很多。 思路 代码 属于混乱邪恶了,凑合着看看。 #include <iostream> #include <cstdio> #include <cmath> using namespace std ......
题解 1758D 1758 CF

「2019 集训队互测 Day 4」绝目编诗 题解

题目大意 给出一个 $n$ 个点 $m$ 条边的简单无向图,判断是否存在两个长度相同的简单环。 $1 \le n \le 10^4 , 1 \le m \le 10^6$。 思路 考虑暴力怎么做。 我们可以对于每个点,搜出包含这个点的环。 那么我们就有了一个玄学复杂度的暴力。考虑优化。 因为一个无向 ......
集训队 题解 2019 Day

题解:C Future

题目:给n个范围,第i个范围选pi,然后定义特征值k=p1+p2+...+pn。这次的开心度就是A(k%m)。m是给的一个数组A,长度为m。 要求: 就是个全排列组合的问题,找规律。 举个例子,有n个礼物,分别是(L1,R1) (L2, R2) (Ln, Rn) 每个区间取个数然后相加,所有出现的结 ......
题解 Future

[ARC127E] Priority Queue 题解

首先我们每次加入的数必定是一个 $1\sim a$ 的排列,但从排列角度考虑的话非常复杂,因为 $s$ 是一个集合。所以我们考虑最后能剩下哪些数。 考虑最后剩下的集合为 ${a_i}$,其中 $a_i<a_{i+1}$,显然这个集合里面的元素个数为 $A-B$。 那么我们会发现一件事情:我们按上升序 ......
题解 Priority Queue 127E ARC

abc248_e K-colinear Line 题解

K-colinear Line 题意 平面直角坐标系上给出 $n$ 个点,第 $i$ 个点的坐标为 $(x_i, y_i)$。 请求出平面上有多少条直线穿过 $n$ 个点中的至少 $k$ 个点。如果有无数条这样的直线,输出 Infinity。 数据范围 $1 \leqslant K \leqslan ......
题解 K-colinear colinear Line abc