cf-div 872 div cf

题解 CF1264D1

前言 数学符号约定: $\dbinom{n}{m}$:表示 $n$ 选 $m$ 。 如非特殊说明,将会按照上述约定书写符号。 题目分析: 考虑题目的问题弱一点的版本,假设此时我们的括号序列是确定的如何求其括号匹配的最深深度。 如果你有些许 dp 基础的话,不难想到如下做法: 考虑位置 $i$,将区间 ......
题解 1264D 1264 CF D1

题解 CF1264D2

前言 建议大家看一下我对于 D1 的题解(传送门)后再看本题解,本题解是基于那篇题解的基础上书写的。 数学符号约定 $\dbinom{n}{m}$:表示 $n$ 选 $m$ 。 如非特殊说明,将会按照上述约定书写符号。 题目分析 首先引用一下 D1 的答案:$\displaystyle\sum_{i ......
题解 1264D 1264 CF D2

Codeforces Round 868 (Div. 2)

Preface 恭迎废物hl666终于回到了他忠诚的蓝名之位 本来这场25min切完前三题而且没挂的时候感觉状态不错的,然后D被自己的一个假做法坑了1h 最后ztc想出了大概的构造方法后已经来不及写了,一些细节没考虑好直接爆炸 本来当时就有弃D开E的想法的,但可以E的题意在公告出来之前就已经读错了, ......
Codeforces Round 868 Div

cf-edu-142.D

题目链接:https://codeforces.com/problemset/problem/1792/D 算法:tire树求最长公共前缀(lcp)。 反思:题目转换出的题意已大致得到,但怎么具体求不会。 思路:tire树维护一个结构,1在哪些位置出现,2在哪些位置出现,以此类推。 代码: #inc ......
cf-edu 142 edu cf

Codeforces Round 868 (Div. 2) A-E题解

比赛地址 这把真不在状态,麻了,看来还得再练 A. A-characteristic 题意:给出n和k,要求构造只含1和-1数组a,存在k对(i,j)(i≠j),有a[i]*a[j]=1 Solution 令构造的数组有x个1和y个-1,那么其对于答案的贡献有 $$ x*(x-1)/2+y*(y-1 ......
题解 Codeforces Round 868 A-E

cf-div.2-868-D

题目链接:https://codeforces.com/contest/1823/problem/D 比赛的时候关键性质已经想到,但没想到怎么正确构造。 性质:每次新加一个字母,回文子串的数量最多增加1(因为题目需要不相同的回文子串)。 证明:可以用反证法,易证。 构造方法:由于k的值很小(只有20 ......
cf-div 868 div cf

CF1814E Chain Chips & CF750E New Year and Old Subsequence - 动态 dp -

一句话概括动态 dp:用来解决带修改/多次区间询问的 dp 问题。将转移写成矩阵的形式,然后利用线段树求解区间问题/单点修改 1814E 注意一条边要么选 2 要么选 0 次,而且第一条边一定是选了 2 次。如果有一条边没选,那么这条边两侧的边一定都选了。 设 $f_i$ 代表考虑到第 $i$ 条边 ......
Subsequence 动态 1814E Chain Chips

Codeforces Round 867 (Div. 3)(A~D)

A. TubeTube Feed 题意 给定时间 $t$ ,每个视频有一个价值 $b_i$,观看一个视频需要 $a_i$ 秒,跳过一个视频需要花费$1s$,求能观看完的价值最大的视频编号 思路 从前到后遍历即可,当 $a_i$ 小于 $t$,并且 $b_i$ 比当前价值 $val$ 大时,更新答案 ......
Codeforces Round 867 Div

Codeforces Round 867 (Div. 3)

Codeforces Round 867 (Div. 3) A - TubeTube Feed #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; typedef pair<string,int>PSI; co ......
Codeforces Round 867 Div

CF960F Pathwalks | 线段树优化DP

题目 设$dp[x,w]$为以结点$x$为结尾,且最后一条边边权为$w$的最长路径长度。 考虑根据顺序加边,对于边$(u,v)$,更新 $$ dp[v,w] = \max_{w' < w}{dp[u,w']} + 1 $$ 对于每个节点,建一棵线段树,维护$dp[x]$,这样每次更新$dp[v,w] ......
线段 Pathwalks 960F 960 CF

Codeforces Round 866 (Div. 1) C. The Fox and the Complete Tree Traversal (构造)

传送门 题目大意: ** 给定一个有n个点的树,我们可以任意选择一个点作为起点,这个点可以跳到跟自己距离为1或者距离为2的点,已经到达的点不能再到达(最终必须回到起点),询问是否存在一种方案可以从一个点出发经过所有的点最终再回到这个点来。** ** 输入一个整数n。紧接着输入n-1条边。** 大致思 ......
Codeforces Traversal Complete Round Tree

Codeforces Round 847 (Div. 3) G.Tokens on Graph (构造)

传送门 题目大意 ** 给定一个无向图,我们定义图中有四种点,一种是黑色的点表示终点,并且黑色的点始终是1号点,一种是红色的点,一种是灰色的点,最后一种就是没有颜色的点。** ** 游戏规则:我们必须移动任意一个灰色的点到相邻的点上,如果灰色的点移动到了红色的点上,那么我们可以移动其他灰色的点继续上 ......
Codeforces Tokens Round Graph 847

前端隐藏和显示div的方式js和beetle:

方式一:设置元素style对象中的display属性 1、var t = document.getElementById('demo');//选取id为test的div元素 2、t.style.display = 'none';// 隐藏选择的元素 3、t.style.display = 'bloc ......
前端 方式 beetle div

CF1699A The Third Three Number Problem

###题意简述 构造出一个三元组a,b,c使得(a ⊕ b)+(a ⊕ c)+(b ⊕ c) = n,若无解输出-1。 符号 ⊕ 的意思为异或 ###个人分析 首先要了解异或符号的性质: 1,x⊕0=x 2,x⊕x=x 根据异或符号的性质可以得到一下构造: a=b=0,c=n/2 c=0,a=b=n ......
Problem Number 1699A Third Three

「CF1188E」Problem from Red Panda

题目 点这里看题目。 给定一个长度为 $k$ 的非负整数序列 $a$。 你可以对于 $a$ 做如下操作任意次: 选定 $1\le j\le k$,满足除了 $a_j$ 外 $a$ 中其它数都为正。 而后,令 $a_j$ 加上 $k-1$,令除了 $a_j$ 外 $a$ 中其它数减去 $-1$。 (这 ......
Problem 1188E Panda 1188 from

让CSS里div上下左右绝对居中几种方式

1、绝对定位(常用于登录模块)备注:前提条件div需要有宽高 1 <div class="box"></div> 2 #css 3 .box{ 4 position:absolute/fixed; 5 left:0; 6 right:0; 7 top:0; 8 bottom:0; 9 margin: ......
上下 方式 CSS div

Codeforces Round 867 (Div. 3)

A. TubeTube Feed #include <bits/stdc++.h> using namespace std; int main() { int q; cin >> q; while (q--) { int n, t, res = -1, id = -1; cin >> n >> t; ......
Codeforces Round 867 Div

Educational Codeforces Round 147 (Rated for Div. 2)

Preface 补题 这周比赛挺少,不过后面可能就很少有时间补以前的比赛了的说 现在除了要做学校的集训专题外,还要刷一下蓝桥杯国赛的题,可以说是很忙碌了 而且由于JAVA的期末考试要来了,为了熟悉下语法以后补题的时候前面的题目可能会用JAVA来写(其实我写的JAVA看起来和C++真没啥区别) A. ......
Educational Codeforces Round Rated 147

cf-div3-867-E

题目链接:https://codeforces.com/contest/1822/problem/E 被hack了。 错误的地方:每次取两个最大的,然后直接消去,这里不对,比如:2,3,3。 正解:还是每次取两个最大的,但这两个最大的每次只消去1,因为总共的数量不会超过$1e5$,所以时间复杂度很低 ......
cf-div 867 div cf

CF1621A Stable Arrangement of Rooks

###题目简述: 一个n*n的棋盘上,放上k个车,使得一任意车向上下左右移动一格(这里的车可以上下左右移动任意步数)后不与其他车相撞(注:不能走出棋盘之外)。 ###个人分析: 从题目可知,在车上下左右移动一格后不会与其他车相撞,换句话说,两辆车之间至少相隔一行一列,放在对角线上是最优想法,若无解则 ......
Arrangement Stable 1621A Rooks 1621

CF1822G2 - Magic Triples

比较好的题目,别的不说,G1 对 G2 有着不错的启发性。 首先,因为 $b>0,a_k\le 10^9$,所以 $b$ 不可能超过 $\sqrt{a}$ 考虑对 $b$ 分类讨论,设置一个阈值 $B$,先处理 $b=1$ 的情况,其实就是取三个相同的数然后排列,可以比较简单的排序之后做到 $O(n ......
Triples 1822G Magic 1822 CF

Codeforces Round 867 (Div. 3)(A-C)

#A. TubeTube Feed 签到题 ##思路 往后走,每次减一,记录当前所能得到最大的bi ###完整代码 #include<bits/stdc++.h> using namespace std ; #define ll long long inline ll read(){ ll s=0 ......
Codeforces Round 867 A-C Div

CF1821F - Timber

$$逐渐变成自己最讨厌的样子$$ 首先考虑 $dp$,设 $dp_{i,j}$ 表示当前放了 $i$ 个树,目前不得不覆盖到的最右点为 $j$,每放一棵树,如果能往左就往左,否则往右倒。 $\text{GF}$ 首先考虑 $dp_{i,j}$ 的转移。 第一种,在 $[j+1,j+k]$ 放一个树, ......
Timber 1821F 1821 CF

【SD集训】20230425 T2 差(difference) 题解 CF1500F 【Cupboards Jumps】

大家可以猜猜看为什么有两个标题,因为这个因本文就不设密码了,被 He_ren 的原题创到了。 吐槽一下,He_ren 甚至出原题还用脚造数据,虽然数据确实比较难造。不过那两个 $O(n^2)$ 老哥好像都没最后将所有数调整成非负,遗憾 20。 有人场切 * 3500 却没过签到题,我不说是谁。 题目 ......
题解 difference Cupboards 20230425 1500F

CF1479 Div1 VP记录

战况: 别的不说,这个 B1 WA 3发是真的精髓。 A 略 B 我们设此时在第一队队尾的为 las0,在第二队队尾的为 las1,要放的数为 x。 先考虑 B1: 显然有:如果 las0 等于 x,放在第二队,如果 las1 等于 x,放在第一队。 考虑两边都不同的情况,我们想要这个 x 后面尽快 ......
1479 Div1 Div CF

CF1598G

讲真,有点谔谔。 首先考虑若 $a+b=x$ 那么 $|a|,|b|,|x|$ 满足什么样的关系。不妨设 $|a|\ge b$,不难发现 $|x|\ge |a|\ge |x|-1$。 那么分类讨论一下: $|a|=|x-1|$,则 $|b|=|x-1|$。 $|a|=|x|$,设 $\operato ......
1598G 1598 CF

CF1487E

题面 将 $a,b,c,d$ 分别用 $a_1,a_2,a_3,a_4$ 表示。 令与第 $i$ 类食物中的第 $j$ 个冲突的第 $i-1$ 类食物的集合为 $S_{i,j}$。 首先是是人都能看出来的 DP: 令 $f_{i,j}$ 为选择第 $i$ 类食物的第 $j$ 个时所需的最小费用,显然 ......
1487E 1487 CF

CF1227D2

题面 如果我们将 $a$ 数组从大到小排序,那么显然的,前 $k$ 个数就对应着长度为 $k$ 的元素和最大的子序列中各元素的值。 由于要求字典序最小,所以我们将 $a$ 数组中的元素下标进行排序,在排序时以对应的元素值为第一关键字,以元素下标为第二关键字(排序后对应的元素值从大到小,大小相等的元素 ......
1227D 1227 CF D2

CF237C

题面 ~~我来水题解啦!!~~ 首先这题和素数有关,我们就先需要一个线性筛: int prm[1000005],tot; bool vis[1000005]; void init(){ vis[1]=vis[0]=1; for(int i=2;i<=b;i++){ if(!vis[i])prm[++ ......
237C 237 CF

CF587F

题面 设 $f(s,t)$ 表示串 $s$ 在 $t$ 中出现的次数。 首先把询问 $\sum\limits_{i=l}^rf(s_i,s_k)$ 拆成 $\sum\limits_{i=1}^rf(s_i,s_k)-\sum\limits_{i=1}^{l-1}f(s_i,s_k)$,然后考虑如何算 ......
587F 587 CF