rounding maximum 1857b cf
CF1895
CF1895 D 考虑将原条件转化为 \(b_{i+1}=b_{i}\oplus a_i\),那么确定了 \(a_0\) 就可以确定所有 \(b\) 。暴力是枚举 \(a_0\),计算所有 \(b\) 的最大值,考虑在 trie 上计算异或最大值。 其他做法:按位考虑,每位只有两种方法,考察 \(c ......
CF1485F Copy or Prefix Sum 题解
思路 考虑 \(a_i\) 要么是 \(b_i\) 要么是 \(b_i - s\)。 考虑 \(s\) 代表着什么。 它是 \(a\) 的前缀和。 那么必然是往前一段 \(b\) 的和。 因为每个 \(b\) 代表着要么是这一位的 \(a\) 或者前面所有的 \(a\)。 考虑设 \(f_i\) 为 ......
CF1485E Move and Swap 题解
不要什么脑子的带 \(log\) 做法。 思路 考虑 \(dp_{i,j}\) 表示红点到 \(i\),蓝点到 \(j\) 的最大权值。 那么有: \[dp_{i,j}=\max(dp_{fa_i,pre},dp_{fa_j,pre})+|a_i-a_j| \]其中 \(pre\) 是任意一个上一层 ......
Codeforces Round 907 (Div. 2) ABCF
Codeforces Round 907 (Div. 2)ABCF A. Sorting with Twos 题意:给你一个数组\(a_1,a_2,...,a_n\),你可以进行以下操作: 选择一个非负整数\(m\),并且\(2^m\le n\) 把\(1\le i \le 2^m\)的元素\(a_ ......
【动态规划】【动态 DP】 CF750E New Year and Old Subsequence
题目描述 定义数字串是好的当且仅当其包含子序列 2017 ,不包含子序列 2016。 定义数字串的丑陋值为最少删掉几个字符,它才能是好的,如果一直不能,就是 \(-1\) 。 给定数字串 \(t\) ,长度为 \(n\) ,\(q\) 次询问求 \([l,r]\) 的丑陋值。 \(1 \leq n, ......
Codeforces Round 903 (Div. 3) ABCDE
Codeforces Round 903 (Div. 3)ABCDE A. Don't Try to Count 题意:复制\(s\)串若干遍,是否能在\(s\)串中找到\(t\)串。 思路:直接暴力,注意不要超限,会MLE // AC one more times // nndbk #includ ......
CF1428F Fruit Sequences 题解
使用了一种和大多数题解不同的做法。 虽然是带 \(log\) 的。 思路 首先考虑如何求一个固定左端点的答案。 我们发现,每个答案会随着右端点的递增单调不降。 而每个答案在增加时会形成若干个区间。 例如: 11101010111111 我们答案增加的区间即为: 11100000000111 可以发现 ......
CF1043F Make It One
题目描述 给你一个长度为 \(n\) 的序列 \(A_i\) ,问你最少能从这个集合中取出多少数使得其 \(\gcd=1\) 数据范围 \(1\leq n\leq 3\times 10^5\);\(1\leq a_i \leq 3\times 10^5\). 思路: 首先观察一下这个数据范围,其中小 ......
Codeforces Round 908 (Div. 2)
比赛链接 A. Secret Sport 题解 O(1 * T) 对于一场比赛,结束前谁最后赢就是谁赢 #include <bits/stdc++.h> using namespace std; string s; void solve() { int n; cin >> n >> s; cout ......
Educational Codeforces Round 157 D
tilian 不太会这种题 发现找到一个数就能确定整个序列 然后转而发现 前缀异或和 b1 ^ b2 = a1 b1 ^ b3 = a2 ... 我们发现要是n为偶数时能直接求出b1从而确定整个序列 而为奇数时我们无法确定b1 我们思考拆位之后 如果b1该位为0 算出真实的异或后的0 1 个数 b1 ......
Math.round(-2019.5)的结果是 -2019
Math.round()函数返回一个数字四舍五入后最接近的整数 如果参数的小数部分大于0.5,四舍五入到相邻的绝对值更大的整数 如果参数的小数部分小于0.5,四舍五入到相邻的绝对值更小的整数 如果参数的小数部分等于0.5,四舍五入到相邻的在正无穷(+∞)方向上的整数。 例: x=Math.round ......
CF1383C
solution 先做 easy version(A题) 只需考虑小写字母点对。每个小写字母是图里一个节点。 相当于给定一些 \((x_i,y_i)\) 的限制。 然后在图中连边,每个连边表示一次操作,把部分起点的字母变成终点的字母。 要求所有 \(x_i\) 可达 \(y_i\),求最小连边数量。 ......
CodeCraft-21 and Codeforces Round 711 (Div. 2)
CodeCraft-21 and Codeforces Round 711 (Div. 2) A. GCD Sum 题意 定义 \(gcdSum(x)=gcd(x,sum\ of\ digits\ of\ x)\)。 请你输出最小的 \(x\) 满足 \(x\ge n\),且 \(gcdSum(x) ......
[题解]CF938G Shortest Path Queries
Shortest Path Queries 给你一张无向连通图,支持三种操作: 插入一条边 \((u, v, w)\)。 删除一条边。 求 \((u, v)\) 之间的异或最短路。 \(n, m, 1 < 2^{30}\)。 先考虑异或最短路怎么求,这部分和 最大XOR和路径 是一样的。就是把图上的 ......
Educational Codeforces Round 126 (Rated for Div. 2)
https://codeforces.com/contest/1661/ B题数据很小,直接bfs预处理就行 C题随便猜了一下,设mx=\(max\{a_i\}\)最后的值应该是 mx,mx+1,mx+2,mx+3之类的吧 D题刚开始从前面考虑,陷入僵局,一度非常的困,学习凯库勒睡了一会,就突然想到 ......
CF240F TorCoder
\(\text{Links}\) CF240F TorCoder - Luogu Luogu Blog 题外话 今天小卖部有可爱多,但是发生意外导致我没有吃到,破防了,我真的破防了。 今晚的饭不难吃。 不懂这题怎么评到 *2600,感觉虚高。 好吧代码写得有点长。 尝试了黑树所说的东西,感觉挺好! ......
cf1415D. XOR-gun(思维)
https://codeforces.com/problemset/problem/1415/D 从高位到低位考虑,需要注意的是我们的最后一个数可能是有后面的数异或来的,需要记录异或了几次(下面会说) 如果当前这一位全都为0,直接下一位 如果当前这一位出现了至少4个1,那么答案为1。 如果只有一个1 ......
【题解】CF1142E - Pink Floyd
CF1142E - Pink Floyd https://www.luogu.com.cn/problem/CF1142E 粉边构成 dag 的做法显然。 然后就是不构成 dag,那么我们可以枚举没有遍历到的点求一个 dfs 生成树,dfs 生成树的性质是删掉的边只会是返祖边,返祖边连接的两个点就不 ......
Codeforces Round 908 (Div. 2) D. Neutral Tonality
题目链接 题面翻译 给定两个序列 \(a,b\),将 \(b\) 中所有元素以任意顺序在任意位置插入 \(a\) 中,使得形成的新序列 \(c\) 的最长上升子序列最短,输出你的序列 \(c\)。 思路 首先我们可以确定一点,a数组的元素,在c数组中他们的顺序是不会有任何变化的。 说明LIS(C)> ......
Codeforces Round 428 (Div. 2) B. Game of the Rows
题目链接 题面翻译 现在有 \(K\) 个队,飞机有 \(N\) 排座位,每排能坐 \(8\) 个人,不同队伍的人不能坐相邻的位置。 相邻情况有 \(5\) 种 \((1, 2), (3, 4), (4, 5), (5, 6), (7, 8)\)。请问这 \(n\) 排座位是否够坐。 (\(K\) ......
Codeforces Round 908 (Div. 2) C. Anonymous Informant
题目链接 题面翻译 给定长度为 \(n\) 的数列 \(a\),定义一次轮换为将 \(a_1,a_2,\cdots,a_n\) 变为 \(a_2,a_3,\cdots,a_n,a_1\)。 定义一次操作为,先选择一个满足 \(a_x=x\) 的数 \(x\),然后对数列做 \(x\) 次轮换。 再给 ......
CF1381D The Majestic Brown Tree Snake
原题链接 膜拜 APJ 大神。 某人说这个题让他联想到“詹天佑”了。 考虑将图画成——给定链在最上方,不在给出链上的点都相当于挂在这条链上某个点上的树。 有两种情况:一种情况是进入一颗树,在其中完成调头,然后原路返回;还有一种情况是进入一颗树,然后出去的时候走向进来的反方向,然后再倒着回去。 第一种 ......
LeetCode #1131 Maximum of Absolute Value Expression 绝对值表达式的最大值
安装Flutter环境首先配置flutter3开发环境,照着官方教程傻瓜式安装即可。>>安装和环境配置 | Flutter 中文文档 | Flutter 中文开发者网站注意在国内网络环境下需要进行一些额外的环境配置:>>在中国网络环境下使用 Flutter | Flutter 中文文档 | Flut ......
cf908(div2)题解(补题)
纪念这次div2让我上绿名,但还是有点遗憾,差一点就可以过三题超神了 比赛链接cf908div2 A 这题是个骗人题,整个比赛会停下来就是一个人赢够了回合数,那么在谁这停下来就是谁赢了整个比赛,不用管每回合赢得规则。 #include<iostream> using namespace std; # ......
Codeforces Round 908 (Div. 2)
A. Secret Sport 题意:A与B选手在下棋,规定下赢X把看作赢一局,一共赢Y把的那个是最后的赢家。 思路:因为不知道x,y到底是多少,n的范围是到20,所以只需要枚举x即可,时间复杂度不高,注意的是,如果枚举结果是A赢,那么给定字符串的最后一个值一定是A,反之也是。 #include<b ......
CF765E
分享一种我认为很优美的解法。 首先发现,如果有一个点 \(root\) 使得以它为根,所有叶子深度相等,那么这一定是可行的。可以想象成将它拎出来并且把其他点横向拍扁。 然后,容易发现两个 \(root\) 相同的,满足上面要求的树组合在一起也是可以的,即分成上下两部分分别拍扁。 所以可以想到,如果能 ......
CF650D 题解
一、题目描述: 给你一个长度为 $n$ 的序列 $a_1\sim a_n$,$0 \le a_i \le 1\times 10^9$。 现在有 $m$ 次操作,第 $i$ 次操作将位置 $p_i$ 的数变为 $v_i$,$1\le v_i\le 1\times 10^9$。 操作仅对本次有效,并不会 ......
『题解』CF213E - Two Permutations
Luogu CodeForces 首先数据范围是 \(2\mathrm{e}5\),支持枚举,问题留给了判断子序列。不简单想到了哈希,一开始想到的是树状数组,发现树状数组比较菜,就转向了线段树。 一开始先把 \(b\) 中的 \(1\sim n\) 加到线段树里,然后不断的删除最小的,加入最大的,这 ......
Codeforces Round 908 (Div. 2)
https://codeforces.com/contest/1894 A题题意说一堆,还看了好几次,读懂之后就很简单,直接输出最后的。 B题直接数一下有多少个大于2的块即可。 C题每次找到最后一个,判断一下即可,同时打上标记,保证时间复杂度。 D题手玩之后发现我们可以用以下方式插入b 将大于等于a ......
Codeforces Round 908 (Div. 2) A-C
Codeforces Round 908 (Div. 2) A. Secret Sport 题意: 一个长为n的字符串,A表示A赢,B表示B赢。当一局比赛中A或B赢下X场,则A或B赢得此局。当A或B赢下Y局,则其胜利。结束比赛 思路: 最后一场比赛的获胜者就是整个比赛的获胜者 代码: #includ ......