codeforces segments 1858d trees

Codeforces Round 863 (Div. 3)(4.5)

Codeforces Round 863 (Div. 3) A - Insert Digit 思路:插到第一个小于它的位置前 #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; const int N=1e5+ ......
Codeforces Round 863 4.5 Div

Codeforces Round 642 (Div3)

K-periodic Garland 给定一个长度位$n$的$01$串,每次操作可以将$1$变为$0$或者将$0$变为$1$,现在你需要通过操作使得所有$1$之间的距离为$k$,求最少的操作次数,注意全为$0$也算 $1<=n<=1e6,1<=k<=n$ 题解:$dp$ / 贪心 : 最大子段和思想 ......
Codeforces Round Div3 642 Div

Codeforces Round 642 (Div3)

K-periodic Garland 给定一个长度位$n$的$01$串,每次操作可以将$1$变为$0$或者将$0$变为$1$,现在你需要通过操作使得所有$1$之间的距离为$k$,求最少的操作次数,注意全为$0$也算 $1<=n<=1e6,1<=k<=n$ $dp$ / 贪心 : 最大子段和思想 方法 ......
Codeforces Round Div3 642 Div

codeforces 1795E Explosions?

https://codeforces.com/problemset/problem/1795/E 解题思路 问题的核心是要构造有一个先严格递增,然后严格递减的子序列。不在这个序列中的怪物单独击杀。先递增后递减可以看作是两个对称的问题,所以把递增序列的构造考虑清楚就可以了。 假设已经知道将1~i-1构 ......
codeforces Explosions 1795E 1795

codeforces 1796D Maximum Subarray

https://codeforces.com/problemset/problem/1796/D 解题思路 最大子序列问题的变种。记 f[i][j][p] 表示当前i个元素中有j个元素增加x时,以i结尾并且包含p个元素增加x的子序列的最大值。 f[i][j][p] = max(f[i-1][j-1] ......
codeforces Subarray Maximum 1796D 1796

Codeforces Round 862 (Div. 2)

Codeforces Round 862 (Div. 2) 链接 Codeforces Round 862 (Div. 2) A题 #include <iostream> #include <algorithm> #include <cstdio> #include <cstring> #inclu ......
Codeforces Round 862 Div

Codeforces Round 863 (Div. 3)

Codeforces Round 863 (Div. 3) 链接 Codeforces Round 863 (Div. 3) A题 遍历这个字符串,如果要插入的数第一次小于当前的数,就将数插入到这里,如果到最后都没有插入数,插入到最后 #include <iostream> #include <al ......
Codeforces Round 863 Div

Codeforces Round 863 (Div. 3) E题

题目地址 题意:定义数组a包含所有不含数字4的正整数,给出一个n,要求求出数组a中第n个数 Solution 数位dp+二分,求出[1,mid]中不含数字4的正整数个数,不过因为有可能mid包含4,但是由于贡献是一样的,可以直接把4都变成3,最后处理一下即可 int dp[20]; int a[20 ......
Codeforces Round 863 Div

第二十届浙大城市学院程序设计竞赛 I.Magic Tree DFS序线段树

传送门 大致思路: ** 我们知道dfs序上的整颗子树dfs序编号连续,因为每次删除一个点或者新增一个点都导致子树上所有点的深度加一或者减一。由于是区间修改所以我们考虑dfs序上建线段树。** ** ** #include <iostream> #include <cstring> #include ......
线段 程序设计 程序 学院 城市

Codeforces Round 863 (Div. 3)

A. Insert Digit 放在第一个比他小的数前面 #include <bits/stdc++.h> using namespace std; void solve() { int n, d; cin >> n >> d; string s; cin >> s; for (char i: s) ......
Codeforces Round 863 Div

Codeforces Round 640 (Div. 4) ABCDEFG

https://codeforces.com/contest/1352 不知道怎么的复制过来的代码容易歪,观看效果可能不大好。 这场古早div4,大题极其友好,除了E卡空间卡到我爆炸,别的都体验感极好。 ###A. Sum of Round Numbers #include<bits/stdc++. ......
Codeforces ABCDEFG Round 640 Div

[LeetCode] 1339. Maximum Product of Splitted Binary Tree 分裂二叉树的最大乘积

Given the root of a binary tree, split the binary tree into two subtrees by removing one edge such that the product of the sums of the subtrees is max ......
乘积 LeetCode Splitted Maximum Product

Codeforces Round 863 (Div. 3) A-C 赛后思路复盘

#A (思维) 思路:观察样例可知数越大放在前面越优。遍历字符串,判断当前位置的数字和要插入的数字的关系,如果要插入的数大于当前数,那么就插入到当前数的前面。string里有一个insert函数,可以把指定字符串插入到指定下标之前。 在原串下标为pos的字符前插入字符串str basic_strin ......
Codeforces 思路 Round 863 A-C

codeforces round 862

A. 和洛谷上的删数思路一致,后者是找峰顶,这个是找谷底 从前到后枚举每一位与要添加的数比大小,如果要添加的数 <= 该位的数,就继续枚举,否则就将这个数添加在其前面 B. 需要移动的步数 = 两个点所在的层数之差的绝对值,只要计算出所在层数就可以 一开始没想明白怎么算这个层数,先把每个点都变换到了 ......
codeforces round 862

Codeforces Round 861 (Div. 2)

Preface 这场感觉都是一个礼拜前补题打的了,但由于上周末事情比较多都没来得及写题解 因此可能题意都记得不是很清楚了,就简略地谈一谈吧 A. Lucky Numbers 不难想到直接暴力从左端点枚举到右端点并对每个数进行暴力判断 一个很naive的结论就是当答案为$9$时直接输出即可,然后我们发 ......
Codeforces Round 861 Div

Codeforces Round 863 (Div. 3) A-E 好题!标记一下

比赛链接 E 进制转换好题。题目要求我们把含有 $4$ 的数字挖掉。先考虑挖掉的不是 $4$, 而是 $9$.那我们要求的就是编号为 $k$, 仅由 $0 -- 8$ 组成的数字。这实际上就是求其在九进制下的表达形式。那么在挖去 $4$ 的时候,类似地,我们就是用 $0 - 3, 5 - 9$ 共八 ......
Codeforces 标记 Round 863 A-E

Educational Codeforces Round 90 (Rated for Div

Donut Shops 现在有两个超市,第一个超市的物品按件卖,每件商品的售价为$a$元;第二个超市的物品按箱卖,每箱有$b$件物品,每箱售价为$c$元,现在要让你买$x$和$y$件商品,使得在第一个超市买$x$件商品的总花费比在第二个超市买$x$件商品的总花费严格小,同理在第二个超市买$y$件商品 ......
Educational Codeforces Round Rated Div

Codeforces Round 862 A-E

Codeforces Round 862 (Div. 2) 先简单写一下 A-E 的题解。 A 异或的经典性质:$x \oplus x=0$。 B 显然要把字典序最小的那个字母放到最前面。 如果这个字母出现了很多次,那么应该选择最后一次出现的位置。这也很容易证明。 C 联立以后计算一下就行了。 比赛 ......
Codeforces Round 862 A-E

Codeforces Round 717 (Div. 2) B. AGAGA XOOORRR(位运算)

https://codeforces.com/contest/1516/problem/B 题目大意: 给定长度为n的数组a,问我们能不能一直选择两个相邻的元素进行异或后,删除这两个值,把异或值留下来, 最后剩下>=2个数字,它们都是相同的? 可以做到输出YES,不能的话输出NO。 input 2 ......
Codeforces XOOORRR AGAGA Round 717

Magic Tree (在线->离线, 线段树/树状数组维护) 第二十届浙大城市学院程序设计竞赛

题目大意: 给出一个树,然后m询问,3种操作 1 在节点u, 和fa[u] 在他们增加一个节点 2 删除一个节点, 把儿子接到父亲上 3 查询某个节点的深度 思路: 直接在线去处理增加和删除是很不好操作的 于是考虑离线把这个树建出来 然后每次修改只会的对儿子树造成影响, 这里可以用线段树,或者树状数 ......
线段 数组 程序设计 程序 学院

Codeforces Round 862 (Div. 2) A-D题解

比赛地址 A. We Need the Zero 题意:给出一个数组,对任意1<=i<=n,令bi=ai^x,问是否存在x,使得b1^b2^...^bn=0 Solution 如果n为奇数,那么x一定存在,因为偶数个x异或得到的是0,直接令x=0^(a1^a2^...^an)即可 如果n为偶数,那么 ......
题解 Codeforces Round 862 A-D

Codeforces Round 862 (Div. 2) (4.2)

Codeforces Round 862 (Div. 2)A - We Need the Zero 思路:某个数被异或两次相当于没变,即判断n的奇偶性;n为偶数时判断所有数异或后的数是否为0,若为0,输出任意数;n为奇数时答案为所有数异或后的值 #include<bits/stdc++.h> usi ......
Codeforces Round 862 4.2 Div

Educational Codeforces Round 145 (Rated for Div. 2)

A. Garland 分类讨论 #include <bits/stdc++.h> using namespace std; void solve(){ string s; cin >> s; map<char,int> cnt; for( auto c : s ) cnt[c]++; if( cnt ......
Educational Codeforces Round Rated 145

Codeforces Round 862 (Div. 2)A-C思路复盘

感觉这场前三题都简单,复盘一下赛时的脑回路QAQ,c二分wa了四发赛后才过的血亏 #A 题意:问是否能找到一个数x,有$b_i = a_i⊕x$ ,使得$b$数组的总异或和为0。 思路:赛时模拟样例可以发现先把a数组的总异或和求出来假设为x,然后由异或性质可知相同为0,不同为1,可知这个x可能就是答 ......
Codeforces 思路 Round 862 A-C

cmake tree

https://stackoverflow.com/questions/31966135/cmake-source-group-not-working-correctly-with-hierarchical-project-setup https://stackoverflow.com/questi ......
cmake tree

New Year Tree

New Year Tree 线段树,打标记,位运算 操作1,区间赋值,很容易的线段树操作 对于询问以$u$为根的子树上的所有节点的颜色数量,一开始我在线段树里开了一个大小61的数组,喜提MLE,但后续观察发现,$1 << 60 \leq \text{longlong}$,所以我们设每种颜色$ c_i ......
Year Tree New

Codeforces Round 862 (Div. 2)(CF1805) A-C题题解

CF1805A #include <bits/stdc++.h> #define debug(x) cout << "The variable \"" << #x << "\" of the \"" << __FUNCTION__ << "\" function in line " << __LIN ......
题解 Codeforces Round 1805 862

Codeforces Round 861 (Div. 2)

题目链接 C 核心思路 这个思路说实话有点玄学,也就是我们前面的数位按照l或者r的相同数位来填补,后面就填相同的数字也就是比如l是2345 我们可以是2999,2888,23111,23777. 这样构造好像肯定是最小的。 但是好好巩固下数位dp来做这道题还是更好的。 #include<iostre ......
Codeforces Round 861 Div

The following untracked working tree files would be overwritten by merge错误的解决

问题描述 只要云端代码更新,我的本地那里没有跟上云端的更新速度,就会出现这个错误: 问题解决 在Git终端里面,输入git clean -d -f "出现错误的那个文件路径(就是错误显示的那一串)" 然后Enter,会显示Removing了那个文件,然后再输入git pull,显示这个: 然后就等待 ......

Codeforces Round 859 (Div. 4) ABCDE(交互题)FG1G2

E F G1 G2质量还挺好的 ###A. Plus or Minus https://codeforces.com/contest/1807/problem/A 题目大意: 给定a,b,c,问我们是a+b==c还是a-b==c?把正确的符号输出。 input 11 1 2 3 3 2 1 2 9 ......
Codeforces ABCDE Round FG1G2 859