题解1157c cf c2

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

Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 题解

题意 Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 给你 $n$ 和 $k$ ,要求生成一个长度为 $n$ 的数组 $a$,且他的非空正子数组的数量为 $k$ ,非空负子数组的数量 ......

abc247_f Cards 题解

Cards 题意 有 $N$ 张卡片,每张卡片上都写有两个数字,第 $i$ 张卡片上的数字分别为 $P_i, Q_i$。 同时,$P = (P_1, P_2, \dots, P_N)$ 和 $Q = (Q_1, Q_2, \dots, Q_N)$ 都是 $(1, 2, \dots, N)$ 的全排列 ......
题解 Cards abc 247

编译安装c2工具sliver以及python 客户端sdk

背景: 项目需要安装sliver服务端和客户端还有sliver的python sdk; git clone https://github.com/BishopFox/sliver.git cd sliver make # 执行make后会拉取当前服务器版的go安装包,包括windows,linux( ......
客户端 客户 工具 sliver python

CF R864 div2

A 发现最劣的方案就是把其中一个围起来,答案为 $4$,当 $x=1/x=n/y=1/y=m$ 时答案有可能为 $2/3$ 分类讨论即可 B 要将原图形变为中心对称,若$(x,y)!=(n-x+1,n-y+1)$我们必须操作,若步数有剩,剩余步数是偶数时对一个方块一直操作即可;剩余步数为奇数时,我们 ......
R864 div2 864 div CF

题解

calc 使用 cin 读入两个 int 和一个 char,判断即可。 step 因为可以从前面 $K$ 个台阶走过来,所以累加前面 $K$ 个台阶的方案数即可,时间复杂度 $O(NK)$。 令 $f_i$ 表示走到第 $i$ 个台阶的方案数,容易发现 $$\begin{equation*}\beg ......
题解

YBTOJ 5.4例3 最长距离 题解

挂大分!!!!!! 1.一定要看清提干有没有多测 2.多测不清空 爆零两行泪 3.同时线性更新最大值和次大值时记得最大值更新要同时把旧的最大值给次大值 题解 首先可以想到一个最暴力的暴力 : 对于每一个点 暴力枚举所有的点跑LCA 复杂度 $O(n^2logn)$ 显然会炸 然后就有一个优化一点的暴 ......
题解 YBTOJ 5.4

Codeforces Round 863 (Div. 3) E. Living Sequence 题解

题意 Codeforces Round 863 (Div. 3) E. Living Sequence 如果正整数中不能存在 $4$,那么新生成的数中的第 $k$ 个数为多少? 思路 $4$ 不能够选,也就是每一位只能选择 $0,1,2,3,5,6,7,8,9$ 。可以发现,这就是一个九进制。 当需 ......
题解 Codeforces Sequence Living Round

CF698F Coprime Permutation 题解

题意 给定一个未填满的数组 $p$,求有多少种 $1\sim n$ 的排列 $p$ 满足对于任意 $i<j$,都有 $[\gcd(i, j)=1]=[\gcd(p_i, p_j)=1]$,答案对 $10^9+7$ 取模。 题解 部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。 记 $P$ ......
题解 Permutation Coprime 698F 698

Codeforces Round 864 (Div. 2) 题解

A. Li Hua and Maze 题目保证了两个点的哈密顿距离至少为 $2$,所以他们不会相邻。 只要有点在角上答案就是 $2$,在边上但不在角上就是 $3$,否则就是 $4$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_contain ......
题解 Codeforces Round 864 Div

AtCoder Beginner Contest 297 题解

A - Double Click 直接模拟就好。 时间复杂度:$O(N)$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include ......
题解 Beginner AtCoder Contest 297

「题解」ABC296Ex Unite

考虑一行一行往下 dp,一个状态需要记录每个格子是否是黑色,对于黑色还有记录其并查集。爆搜跑一下本质不同状态数不是很多,dp 就行了。 $m=7$ 的时候状态数只有 324. #include<cstdio> #include<vector> #include<queue> #include<cst ......
题解 Unite ABC 296 Ex

【CF1797C 题解】

题意 这是一道交互题。 定义一个位置 $(x, y)$,移动一步后的位置为 $(x\pm1,y\pm1)$。 你需要找到一个位置 $(x, y)$。 你至多进行 $3$ 次询问,每次询问格式为 ? a b。 交互库会返回 $(x, y)\to (a, b)$ 的最小移动步数。 题解 还是比较有趣的一 ......
题解 1797C 1797 CF

CF1525F 题解

题意 有一个 $n$ 个点的 DAG,现在有 $k$ 波进攻,第 $i$ 波有 $i$ 个人,它们每个人会选择一条 DAG 上的路径,并占领这个路径上的所有点,路径之间是不能相交的。第 $i$ 波进攻前可以做一些准备,可以花 $1$ 秒关闭某个点的所有入边,或关闭某个点的所有出边。第 $i$ 波进攻 ......
题解 1525F 1525 CF

cf-div2-856c

题目链接:https://codeforces.com/contest/1816/problem/C 我是傻逼,否了自己的第一直觉。。。 思路: 构造方法:以最后一个值的数值$x$为基准,把所有的的数字(除第一个)调整为$x$。 以n的奇偶性分为两种情况。 当n为奇数时: $第一个数字y小于等于x, ......
cf-div 856 div cf