collapsing strings 1902e cf

CF1681D

CF1681D Required Length 题解 Codeforces 不一样的解法。 写完一看,标签里不是有 dp 吗,居然没人写。来提供一个动规做法。 本文中的 \(x\) 和 \(n\) 都是指输入的 \(x\) 和 \(n\)。\(\operatorname{set}_i\) 表示 \( ......
1681D 1681 CF

CF543D

CF543D 题解 CodeForces 独立做出来了,开心。 考虑从 \(x\) 出发、到叶子的一条链,中间有了一条“不良的路”后,后面的边一定都是“改善的路”。 设 \(f_i\) 表示 \(i\) 的子树内的方案数,\(ans_i\) 表点 \(i\) 的答案。 \(f\) 利用乘法原理转移( ......
543D 543 CF

CF1851G

诸位大佬把思路讲的很清晰了,我主要补充一下实现。 思路 考虑:如果一个询问的答案是肯定的,它对路径上所有点的要求。 询问为 a b e。 因为只有 \(e\) 点能量,所以能走到的最大高度只有 \(h_a + e\),没有最小高度。若路径上所有点的点权都在这个范围内,这个询问成立。 问题转化成:\( ......
1851G 1851 CF

CF915F

Codeforces Round 915 F 题解 定义 \(f(u, v)\) 表示 \(u\) 到 \(v\) 路径上的最大与最小点权之差,求: \[\sum_{i=1}^{n}\sum_{j=i}^{n}f(i,j) \] 定义 \(\max(u,v)\),\(\min(u,v)\) 为路径最 ......
915F 915 CF

String字符串

String字符串 String 类是定义在java.lang下面的,是定义好的一个类,使用的时候不需要导包。 字符串不可变,他们的值在创建后不能被更改。 比较: ==号:如果是基本数据类型,则比较的是数据值,如果是引用数据类型,比较的是地址值 equals : 完全一样的结果才是true ,否则是 ......
字符串 字符 String

CF Beta Round 93-D.Fibonacci Sums-齐肯多夫分解、DP

CF Beta Round 93-D.Fibonacci Sums-齐肯多夫分解、DP https://codeforces.com/contest/126/problem/D 定义Fibonacci序列:\(F_1=1,F_2=2,F_k=F_{k-1}+F_{k-2}(\forall k\geq ......
Fibonacci Round Beta Sums CF

CF1550F Jumping Around

更好的阅读体验 CF1550F Jumping Around 提供一个不用动脑子的方法。 首先题目可以看成是求一个点到 \(s\) 的最小瓶颈路,设这个值为 \(v_i\),自然想到最小生成树,但是边数是 \(\mathcal O(n^2)\) 的,不可接受。 考虑使用 prim,一开始联通块力只有 ......
Jumping Around 1550F 1550 CF

CodeForces 1329D Dreamoon Likes Strings

洛谷传送门 CF 传送门 考虑构造一个新串 \(t\),只保留原串 \(s_{i - 1} = s_i\) 的字符 \(s_i\)。设 \(a_i\) 为 \(t_i\) 在原串的位置。 那么新串上我们有两种操作: \(\forall i\),删除 \(t_i\)(相当于删除原串中的 \([a_i, ......
CodeForces Dreamoon Strings 1329D Likes

CF1523H Hopping Around the Array

首先考虑 \(k = 0\) 的情况。 贪心,最后一步之前每个 \(i\) 只会跳到 \(j \in [i, i + a_i]\) 且 \(j + a_j\) 最大的点 \(j\),这个信息或许可以线性处理?但是我没脑子,我用线段树维护,时间复杂度 \(\mathcal O(n \log n)\)。 ......
Hopping Around 1523H Array 1523

[LeetCode] 2696. Minimum String Length After Removing Substrings

You are given a string s consisting only of uppercase English letters. You can apply some operations to this string where, in one operation, you can r ......
Substrings LeetCode Removing Minimum Length

CF1687C Sanae and Giant Robot 题解

题目链接:https://codeforces.com/contest/1687/problem/C 题意简述 有两个长为 \(n\) 的数列 \(a\) 和 \(b\)。有 \(m\) 条线段,你可以进行任意次以下操作: 选择一条线段 \([l, r]\),若 \(\sum\limits_{i = ......
题解 1687C Sanae Giant Robot

(补题)CF1348B. Phoenix and Beauty

CF1348B. Phoenix and Beauty 思路 最后输出的一定是一个周期为k的数值。我们只需要查看输入进来的数组中的元素的种类和k的关系即可。元素种类大于k输出-1;小于等于k,输出每个不同的元素,不够k个的话就用1补齐 ac代码 #include <bits/stdc++.h> us ......
Phoenix Beauty 1348 and CF

CF1886E I Wanna be the Team Leader 题解

Problem - E - Codeforces I Wanna be the Team Leader - 洛谷 差一点就想到了/ll 遇到困难?排序肯定不会变差! 性质:每个项目分配的程序员肯定是一段(显然) \(m\) 很小?考虑设 \(dp_{i,S}\) 表示考虑前 \(i\) 个人选项目集 ......
题解 Leader 1886E Wanna 1886

CF1886D Monocarp and the Set 题解

Monocarp and the Set - 洛谷 Problem - D - Codeforces 非常之降智 加入一个数让他满足他是最大值需要判断前面加入的那些数中最大的是哪个,但删除一个数让他满足是最大值只需要直接把他删掉即可 因此我们要反着考虑这个问题: 如果当前是 <,则删除最小的数,有一 ......
题解 Monocarp 1886D 1886 and

C# 将string转list,将list转string

// 将string 转换成 list JavaScriptSerializer serialize = new JavaScriptSerializer(); List<DetailContext> List_DetailContext = serialize.Deserialize<List<D ......
string list

CF1511G Chips on a Board

不难发现这是个 Nim 游戏,于是对每对 \((L_i, R_i)\) 所求转化为: \[\bigoplus_{i = 1}^n (a_i - L_i)[a_i \ge L_i] \]暴力做时间复杂度就是 \(\mathcal O(n^2)\),考虑优化。 感觉好像可以倍增?设 \(f(i, k)\ ......
1511G Board Chips 1511 CF

[CF1063F] string journey

String Journey 题面翻译 对于一个字符串数组 \(t_1, \ldots, t_k\),若对于每一个 \(t_i\) 都是 \(t_{i-1}\) 的真子串的话,即 \(t_i\) 是 \(t_{i - 1}\) 的子串且 \(t_i \ne t_{i-1}\),则称为有序串组,列如 ......
journey string 1063F 1063 CF

CF1707E Replace

由题意可以发现一个性质: \[f[(l, r)] = \bigcup_{i = l}^{r - 1} f[(i, i + 1)] \]进而可以推广至: \[f^k[(l, r)] = \bigcup_{i = l}^{r - 1} f^k[(i, i + 1)] \]证明显然,即若 \([l_1, ......
Replace 1707E 1707 CF

CF1919H Tree Diameter

某人在换根时根还设置成 \(1\) 交了整整 \(11\) 发,我不说是谁。 先考虑一下 \(2\) 询问的实际用途,因为我们可以用它来确定深度,根据树上交互题的常见技巧,我们通过这种方式确定了一个拓扑序,只要能在拓扑序的前缀中快速查询一个点的父亲,就可以求出这棵树。 考虑先以一条边为根,那么其会有 ......
Diameter 1919H 1919 Tree CF

C++17 新特性:string_view

一、背景 在日常C/C++编程中,我们常进行数据的传递操作,比如,将数据传给函数。当数据占用的内存较大时,减少数据的拷贝可以有效提高程序的性能。在C中指针是完成这一目的的标准数据结构,而C++引入了安全性更高的引用类型。所以在C++中若传递的数据仅仅只读,const string&成了C++的天然的 ......
string_view 特性 string view 17

CF1864H Asterism Stream【概率 DP,矩阵优化】

给定一变量,初始为 \(1\),每次等概率随机进行以下两种操作之一: 令 \(x\) 加一。 令 \(x\) 乘二。 求期望多少次操作之后 \(x\) 会 \(\ge n\)。 \(T\) 组数据,\(T\le 100\),\(n\le 10^{18}\)。 对着 aw 老师的题解学的,感觉太深刻。 ......
矩阵 概率 Asterism Stream 1864H

CF331A1&CF331A2

不难发现一件事:对于在 \(i\) 之后能跟 \(i\) 匹配的 \(j\),最好的办法显然是使得 \(j\) 最大。则用前缀和统计整个和,并且用前缀和维护负数和,在枚举 \(i\) 统计出最小答案时在后面计算出满足最大答案的条件并输出即可。 ac records #include<bits/std ......
331 CF amp A1 A2

JavaScirpt | String Function (三)

1.split // split(separator, limit) separator为分隔符;limit为已经有 limit 个元素时停止分割 const str = 'The quick brown fox jumps over the lazy dog.'; const words = st ......
JavaScirpt Function String

Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组 首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直接使用转换方法进行转换。

Java利用fastjson解析复杂嵌套json字符串、json数组;json字符串转Java对象,json数组转list数组 首先要明白,以 { } 开头的是JSONObject,以 [ ] 开头的是JSONArray,如果本身就是json字符串的格式(即格式类型为String),那就不用转换,直 ......
数组 字符串 json 字符 开头

CF864F Cities Excursions

题意:给定一张有向图,询问 \(s, t\) 两点间字典序最小路径上的第 \(k\) 个结点。 首先要验证 \(s, t\) 间是否连通,所以建反图,枚举 \(1 \sim n\),跑 dfs。这部分时间复杂度 \(\mathcal O(n^2)\)。 确定了哪些点跟 \(t\) 连通后,\(s\) ......
Excursions Cities 864F 864 CF

CF1919G Tree LGM

原问题可以看作是二分图博弈的模型,那么可以将博弈问题转化为最大匹配的一定性判定性问题,实际上博弈的 \(\text{dp}\) 过程直接摊开就是每次删任意一个叶子与其父亲,将父亲变为 \(1\),这个也就是最大匹配的求解过程,而是否为匹配的上端点即该点的 \(01\) 状态,那么实际上每一行的 \( ......
1919G 1919 Tree LGM CF

CF156D

whk 考试前写题解攒 rp 有用吗 仍然是讲讲想出来的过程。 首先,我们只需要关心一个联通块中有哪些点,而不用关心图的具体形态。 然后,将每个连通块看作一个点,就变成了一个无根树计数问题,但是带权值。首先想到 prufer 序列。 prufer 序列的定义:一棵无根树中,每次将编号最小的叶子取出来 ......
156D 156 CF

CF1917F

大常熟另类做法。不用排序。 要求直径长度,则想到把直径这一条链拎出来处理。然后考虑其他边会接在哪里,发现树最优情况下一定是一个毛毛虫的形式。更进一步,所有边都挂在接近直径中点的点上。 然后再考虑这些不在直径中的,长度为 \(l\) 的边带来的限制,设直径为 \(d\),从每个点将直径切成两半,记其中 ......
1917F 1917 CF

CF1896D Ones and Twos 题解

来自机房大佬 FFT 的简单解法。 思路 首先有个结论:如果 \(a\) 中存在一个子串的和为 \(x\) (\(x>2\)),那么也就一定存在一个子串之和为 \(x-2\)。怎么证明?其实和为 \(x\) 的子串有 \(3\) 种情况: \(\text{1}\dots \text{1}\) 两边都 ......
题解 1896D 1896 Ones Twos

CF1917D Yet Another Inversions Problem 题解

官方题解。 思路 首先可以把 \(a\) 数组分成 \(n\) 块,每块都是长为 \(k\) 的 \(q\) 数组。于是我们可以把答案拆成两部分计算:块内的贡献和块外的贡献。对于块内,\(p_i\) 都是一样的,因此可以直接消去,计算的实际上就是 \(q\) 序列的逆序对数,把这个值 \(\time ......
题解 Inversions Another Problem 1917D
共3000篇  :2/100页 首页上一页2下一页尾页