codeforces segments 1858d trees

根据前序和中序构建二叉树 + 1159 Structure of a Binary Tree + 层序遍历模板复习

题目链接:https://pintia.cn/problem-sets/994805342720868352/exam/problems/1478635126488367104 唉,今天的bug出在了下面这条语句。 if (tree[root_key].left * tree[root_key].r ......
Structure 模板 Binary 1159 Tree

AtCoder Regular Contest 125 F Tree Degree Subset Sum

洛谷传送门 AtCoder 传送门 首先将度数 $-1$。 设 $f_i$ 为体积为 $i$ 至多能用几个物品凑出来,$g_i$ 为至少。 我们现在要证明一个东西:$x \in [g_i, f_i]$,$(i, x)$ 合法。 首先若 $(s, x)$ 合法,那么必须满足 $s - x \in [- ......
AtCoder Regular Contest Degree Subset

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

比赛地址 A. Politics 题意:有n个人对m个决案进行投票,对于每一个决案如果票数相同则所有人都离场,反之票数少的一方离场,现在提前知道了每个人的意见,让一些人参与投票,在保证第一个人不离场的情况下最终剩余人数最多是多少 Solution 把和第一个意见不同的给去掉就行了 void solv ......
题解 Codeforces Round 869 A-D

hdu:surrounding the trees(凸包)

Problem Description There are a lot of trees in an area. A peasant wants to buy a rope to surround all these trees. So at first he must know the minim ......
凸包 surrounding trees hdu the

Codeforces 914H - Ember and Storm's Tree Game(计数)

我这个低能儿怎么这个题调了这么久啊,废了/dk 非常烦的做法,不过也可以看看,代码也不算太难写( 首先注意到很诈骗的一件事情是,只要这个序列 $a$ 是单峰的或者单谷的(当然,递增递减序列也算在内),都恰有两种方式选择 $(i,op)$ 使得操作完后的序列的单调的,并且显然选树的 Ember 有必胜 ......
Codeforces Ember Storm 914H Game

Chemistry Experiment Codeforces Round 247 (Div. 2) 线段树动态开点,二分

第一次写的时候还不会线段树的动态开点,写了一个是线段树但是是$O(N^2)$的写法,现在用动态开点武装了自己,会了正解$O(qlog n^2)$。首先建立一个权值线段树,但这里的权值很大,通过动态开点去建树来节省空间,对于两种操作: 操作1,常见的动态开点的单点修改 操作2,二分答案,然后在线段树上 ......

Codeforces 280C Game on Tree

设 $p_i$ 为 $i$ 涂色或不涂色,$1$ 为涂,$0$ 为不涂,答案即为 $E[\sum_{i = 1}^n p_i]$ 然后转化一下柿子:$\sum_{i=1}^nE[p_i]$,这就很好求了,单独求每个点 $E[p_i]$ 的值就行了 考虑对于 $u$ 点,$p_u = 1$,即能被涂需 ......
Codeforces 280C Game Tree 280

Educational Codeforces Round 147 (Rated for Div. 2) A~E 题解

A Link。 模拟,代码。 B Link。 模拟,代码。 C Link。 我们设 $c$ 为最后相同的字符。 性质:我们一定不会删除字符 $c$。 因此以 $c$ 为最后字符的操作次数就是不包含字符 $c$ 的极大段的最小操作次数的最大值。 对于一个长度为 $l(l\ge 1)$ 的段,它的最小操 ......
题解 Educational Codeforces Round Rated

CF911F Tree Destruction

题意: 给你一棵 $n$ 个结点组成的树,你需要对树进行 $n-1$ 次操作,一次操作包含如下的步骤: 选择两个叶子结点 将这两个结点之间简单路径的长度加到答案中 从树上删去两个叶子结点之一 初始答案为 $0$,显然在 $n-1$ 次操作之后树上只剩下一个结点。 计算最大的答案,并构造一组操作序列。 ......
Destruction 911F Tree 911 CF

Codeforces 894D Ralph And His Tour in Binary Country

预处理出对于 $u$ 节点其子树内节点(包括 $u$)与 $u$ 的距离,从小到大排序得到 $ds_u$ 同时对 $ds_u$ 进行前缀和处理 $dh_{u, i} = \sum\limits_{j = 1}^{i} ds_{u, j}$ 这样设 $tot$ 为 $ds_u$ 二分得到的 $ds_{ ......
Codeforces Country Binary Ralph 894D

Codeforces Round 868 (Div. 2)

题目链接 C 核心思路 一定要看清楚题目,题目是要我们最小哦。 首先看可不可抽像为数学表达式,答案肯定是可以的。 x=p1^d1*p2^d2*..*pn^dn; D=\sum{(d1+1)*(d2+1)*(d3+1)*...(*(dn+1))}; 这个D表示的x的约数的个数,这个公式还是很好理解的, ......
Codeforces Round 868 Div

Codeforces 1229B Kamil and Making a Stream

$\gcd$ 一个性质:对于正整数 $x$, 重复 $x\leftarrow \gcd(x, i)$($i\ge 0$)直到 $x = 1$,$x$ 出现的值个数上限为 $\log_2(x)+1$ 证明:考虑到 $x$ 是逐渐变小,则在 $x$ 变小的情况下,对于 $x = \prod_{i=1}^ ......
Codeforces Making Stream 1229B Kamil

Codeforces Round 869 (Div. 1)

C 根据初中数学知识,恒成立问题考虑未知数x每一项的系数,然后得到(d+1)个等式,根据前两个就可以推出$s=\frac{b_{d-1}-a_{d-1}}{da_d}$且$a_d=b_d$ 但是一直不会用题目给的n个点值求出最高的两项系数(或它们的比值),并且怀疑是否把(d+1)个等式全部用到会更好 ......
Codeforces Round 869 Div

odoo tree下直接编辑, 免跳转form

<record id="mypartner_tree_view" model="ir.ui.view"> <field name="name">Mypartner清单</field> <field name="model">mypartner</field> <field name="arch" t ......
odoo form tree

Codeforces Gym 103439D - LIS Counting(猜结论+状压)

一道需要一些猜结论技巧的中档题。 首先突破口在于排列长度恰好等于不是额外输入的某个数 $k$ 而是 LDS 与 LIS 的乘积,这显然启示我们去找一些性质。根据 dilworth 定理,最长反链等于最小链覆盖,故 LIS 的长度,就是最少需要的递减数列的个数使得每个元素被覆盖至少一次,而每个递减数列 ......
Codeforces Counting 结论 103439D 103439

[ABC148F] Playing Tag on Tree

2023-03-04 题目 题目传送门 翻译 翻译 难度&重要性(1~10):5 题目来源 AtCoder 题目算法 最短路 解题思路 考虑到 T 想活得久, A 想尽早追上 T ,所以我们就将问题转化为在树上找一条最长链,使得 T 能比 A 先到达这条链。 所以我们就可以在树上跑两遍单源最短路,因 ......
Playing 148F Tree ABC 148

Codeforces Round 869 (Div. 2) A-C

A. Politics 思路 与第 $1$ 个人的意见不同的人都要删除 代码 #include<bits/stdc++.h> using namespace std; int main() { int T; cin>>T; while(T--) { int n,m; cin>>n>>m; strin ......
Codeforces Round 869 A-C Div

Codeforces Round 869 (Div. 2)

Preface 一把回到紫名还是很舒服的,D题手比较稳猜了点性质水过 主要还是C脑抽了想了挺久才看出来是个丁真题,不然最后过了D之后30min可以看看E的 由于要写学校的图论专题所以接下来一段时间的CF补题计划就要先停一停了 A. Politics 傻逼题,当某个人的串和第一个人有任意一个位置不同时 ......
Codeforces Round 869 Div

Codeforces Round 823 (Div. 2)C

C. Minimum Notation 思路:我们可以进行的操作时将一个位置的数删除然后在任意位置处添加一个比当前数大1并且小于9的数,所以我们的操作只会让一个数变大,我们统计一个最大值的后缀,贪心的考虑如果当前数的后面有比他小的数的话,我们就需要让这个小的数往前走才能使字典序变小,如果当前值小于< ......
Codeforces Round 823 Div

Codeforces Round 867 (Div. 3)

题目链接 E 核心思路 首先我们先考虑什么情况下是肯定不可以交换成功的: aaabc.比如像这种a的个数超过了我们整个字符串一半的长度就肯定是不可以的。然后剩下的情况肯定都是可以的。 然后考虑怎么样可以使得交换次数最小呢: aa aa bb cc dd ff。 我们发现这组的话我们只需要交换两次,也 ......
Codeforces Round 867 Div

CF 1709E XOR Tree(树上启发式合并)

题目链接:https://codeforces.com/contest/1709/problem/E 解题思路: 定义 sum(x,y) 为 x→ y路径上的点的异或和,dx 为 x→ root路径上的点的异或和。对于一个点权树,sum(x,y)=dx ^ dy ^ vallca(x,y)。 考虑修 ......
1709E 1709 Tree XOR CF

AtCoder Regular Contest 117 D Miracle Tree

洛谷传送门 AtCoder 传送门 第一步就没想到 可以考虑化简限制。设所有点按 $E_i$ 从小到大排序后顺序是 $p_1,p_2,...,p_n$。发现只需满足 $E_{p_{i+1}} - E_{p_i} \ge \operatorname{dis}(p_i, p_{i+1})$。证明是对于任 ......
AtCoder Regular Contest Miracle Tree

codeforces div1A

A. Circular Local MiniMax 题目翻译:给我们一个数组(循环的也就是1和n是相邻的),我们可以对数组进行任意调序,对于每个数b[i]要求满足b[i] < b[i - 1] && b[i] < b[i + 1] 或者满足b[i] > b[i - 1] && b[i] > b[i ......
codeforces div1A div1 div 1A

Codeforces Round 869 (Div.1 & Div.2) 题解

2A. Politics 因为编号为 $1$ 的人一定不会离开,那么最后留下的人一定要和编号为 $1$ 的人的所有参数都一致,所以计数即可。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext ......
题解 Codeforces Div Round 869

使用SAM(Segment Anything Model)查找Waldo

你知道你可以教#GPT3找到 Waldo 吗? 𝚐𝚛𝚊𝚍𝚒𝚘-𝚝𝚘𝚘𝚕𝚜 版本 0.0.7 已发布,支持@MetaAI的#segmentanything模型 (SAM) 要求#GPT3找到一个穿着红白条纹的男人,Waldo 就会出现! 𝚙𝚒𝚙 𝚒𝚗𝚜𝚝𝚊𝚕𝚕 ......
Anything Segment Model Waldo SAM

Codeforces Round 825 (Div. 2)——B

#include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" inline int gcd(int a, int b) { return b > 0 ? gcd(b, a % b) : a; ......
Codeforces Round 825 Div

Codeforces Round 863 (Div. 3)———E

题意:给定一个k,问由012356789组成的数字第k大的是多少 链接:Problem - E - Codeforces #include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" /* 思 ......
Codeforces Round 863 Div

Codeforces Round 855 (Div. 3)--E

题意: 给定一个k,可以任意次交换满足 | i - j | = k 或 | i - j |=k+1 的两个位置的元素 很容易发现有区间内的字符是可以任意交换的,但是一个个字符考虑太混乱了(就是这样子把脑袋搞晕了),从左考虑那么(1,n - k)这个区间可以任意交换,从右考虑(k + 1, n)这个区 ......
Codeforces Round 855 Div

Codeforces Round 855 (Div. 3)--D

题意: 给定一个字符串,删除其中连续两个字符,问有多少种不同字符串的情况 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define endl "\n" //开始时假设每个点都对答案有贡献,考虑什么时候没有贡献 ......
Codeforces Round 855 Div

Codeforces 1804H - Code Lock(状压 dp)

对于一种排列方案,答案显然等于相邻字符在环上对应的劣弧长度之和。 然后其实你可能会想到很多状压 / 折半搜索方法,包括但不限于枚举一半的信息然后折半搜后一半,但稍加思考会发现这些方案都避不开记录元素之间的相对顺序,而但凡涉及到这一点,复杂度都是阶乘起步。因此我们只能另辟蹊径。 考虑 $k$ 是偶数的 ......
Codeforces 1804H 1804 Code Lock