首页 > TAG信息列表 > Sdoi2011
P2486 [SDOI2011]染色
题目链接 P2486 [SDOI2011]染色 给定一棵 \(n\) 个节点的无根树,共有 \(m\) 个操作,操作分为两种: 将节点 \(a\) 到节点 \(b\) 的路径上的所有点 (包括 \(a\) 和 \(b\) ) 都染成颜色 \(c\) 。 询问节点 \(a\) 到节点 \(b\) 的路径上的颜色段数量。 颜色段的定义是极长的连续相同颜洛谷 P2486 [SDOI2011]染色
链接: P2486 题意: 给出一棵树,节点有颜色,需要支持树链覆盖颜色,树链查询颜色段。 分析: 因为是树链操作所以考虑树链剖分,考虑在线段树上维护三个信息:当前区间最左端颜色,当前区间最右端颜色,当前区间颜色段数。pushup 时最前两个直接继承,颜色段是左右颜色段相加,同时判断左右区间中间相连[SDOI2011]染色题解
[SDOI2011]染色题解 今天的bug实在改不出来,写道之前做的题的题解 洛谷题目链接 这道题与noi2021的第一题轻重边几乎一模一样,把这道题代码稍微修一下就可以过那道题 [noi2021轻重边题目链接](https://www.luogu.com.cn/problem/P7735) 建议写完这道题把如上题目也写了 正文 很容易想BZOJ2286: [Sdoi2011]消耗战(虚树/树形DP)
Time Limit: 20 Sec Memory Limit: 512 MB Submit: 5246 Solved: 1978[Submit][Status][Discuss] Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的P2495 [SDOI2011]消耗战
【题意】 给定一个有边权的树,m次询问,每次给定k个关键点,求所有关键点互不相连的最小代价 【分析】 和CF613D Kingdom and its Cities十分相似,建立好虚树后,设计树形dp f[i]表示i子树内的关键点都互相断开的答案,那么对于每个节点u: 如果u是关键点,可以考虑断开u的所有存在关键点的儿LG P2495 [SDOI2011]消耗战
Description 在一场战争中,战场由 $n$ 个岛屿和 $n-1$ 个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为 $1$ 的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他 $k$ 个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务P2486 [SDOI2011]染色
链接 调了好久。。。 我平常写平衡树时 \(push\) \(tag\) 的操作都习惯把 \(rev\) 数组清零,但在 \(LCT\) 中不行,因为 \(rev\) 储存了节点间的父子关系,直接清零会改变树的结构。 \(\frak{code}\) #include<bits/stdc++.h> #define IL inline #define LL long long #define ls(x) chP2485 [SDOI2011] 费马小定理 + Baby Step, Giant Step
题意 传送门 P2485 [SDOI2011]计算器 题解 p p p 为质数,若 y , p虚树
虚树 自为风月马前卒大佬的讲解 SDOI2011 消耗战 代码 暂时半懂不懂差分—基础数据结构 --- luogu P2484 [SDOI2011]打地鼠&&luogu P1083 借教室
题面传送门 首先明确,这是一道差分裸题,不要被它的蓝标签吓到。 算法简介:差分是一种和前缀和类似的数据结构,毕竟在差分过程中要进行前缀和,所以前缀和是差分的基础。差分能做到O(1)O(1)O(1)修改,但要O(n)O(n)O(n)查询,适用范围不如前缀和。差分适合查询极少,修改大大多于查询的题洛谷P2485 [SDOI2011]计算器
待补锅... #include <map> #include <cmath> #include <cstdio> #include <algorithm> #define LL long long #define gc() getchar() #define rep(i, a, b) for(int i = (a); i <= (b); ++i) using namespace std; const int N = 1e8 + 5; LL t, x,P2486 [SDOI2011]染色
https://www.luogu.com.cn/problem/P2486 题意:求出一段路径的颜色段数量; 很明显路径通常通过树剖来解决; 我们在树剖之后,查询两点之间颜色段的数量的时候,对于不同的两个区间,我们先将答案都加起来, 然后假如这两点区间的连接处颜色相同,我们再将答案减1; 那么什么时候会有连接点呢; 我们BZOJ 2242: [SDOI2011]计算器 BSGS
这里讲一下普通的 BSGS 如何实现: 我们要求解形如 $y^x \equiv z(\mod p)$ 的 $x$ 的整数解(其中 $gcd(y,p)=1$) 我们将 $x$ 写成 $am-b$ 的形式,原式就变为 $y^{am} \equiv z \times y^b (\mod p)$ 然后 $b<m$,可以枚举右面所有的取值,然后再枚举左面,整个时间复杂度SDOI2011·洛谷P2485·计算器
题面 https://www.luogu.com.cn/problem/P2485 题解 对于T=1,快速幂即可。 对于T=2,exgcd即可。 重点是T=3,需要使用BSGS算法。 BSGS算法 用来快速求解形如\({a^x}{\equiv}r(mod p)\)的指数同余方程的算法,适用范围是\(\gcd(a,p)=1\)。 由欧拉-费马定理可得\(a^{\phi(p)}{\equiv}1(mod虚树+【BZOJ2286】【SDOI2011】消耗战(虚树)(DP)
先看一道题: 【BZOJ2286】【SDOI2011】消耗战 Description 在一场战争中,战场由n个岛屿和n−1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他k个岛屿上有丰富能源,为了BZOJ2243. [SDOI2011]染色
[传送门] 树链剖分。线段树维护区间最左边和最右边的颜色以及区间颜色段,合并时等于左区间颜色段+右区间颜色段-[左区间右端点颜色==右区间左端点颜色] #include <bits/stdc++.h>namespace IO{ #define getc getchar void read() {} template <typename T, typena【SDOI2011】消耗战
题面 https://www.luogu.org/problem/P2495 题解 #include<cstdio>#include<algorithm>#include<vector>#include<stack>#include<iostream>using namespace std;define ll long longdefine N 250050;vector<int> to[N],val[N];int cnt,n;in[SDOI2011]计算器
通过我的第一篇没看题解的SD省选题祭qwq 虽然我花了2个上午才调出来 题目传送门 1.k=1时,快速幂,不会快速幂的,右转pj***。 2.k=2时,扩欧,注意要判负。 这里扯一下判负方法: 将\(a\)判负,模数为\(p\),柿子是: \[(a \bmod p +p) \bmod p\] 3.k=3时,BSGS,我感觉我以前一直在写假的BSGSqwq 详情【SDOI2011】计算器
Description 给定$y, z, p$,求$x=y^{z} \mod p$或$xy\equiv z \pmod p$或$y^x\equiv z\pmod p$中x的值 Solution 第一个式子我们可以直接用快速幂求解答案。时间复杂度$O(log_{2}z)$ 第二个式子我们可以变形为$xy+Yp=z$,然后用扩展欧几里得算法求出$xy+Yp=gcd(y,p)$的解,然后利用裴蜀牛客——[SDOI2011]计算器(快速幂+扩展欧几里得+BSGS)
链接:https://ac.nowcoder.com/acm/problem/20347 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 你被要求设计一个计算器完成以下三项任务: 1、给定y,z,p,计算Y^Z Mod P 的值; 2、给定y,z,p,计算满足xy≡P2485 [SDOI2011]计算器
传送门 数论 $2$ 合 $1$ $K=1$ 快速幂,$K=2$ $exgcd$ , $K=3$ $exBSGS$ 都是板子就没什么好讲了... #include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<map>using namespace std;typedef long long ll;inline【SDOI2011】染色
Description 给定一棵树和若干操作,每次可以选取树上任意两点之间的路径染成一种颜色,或是查询任意两点之间路径上有多少段颜色。 Solution 树链剖分不解释,主要分析线段树的维护,在线段树区间上我们维护区间左端的颜色、右端的颜色、整个区间颜色段的数量。那么当我们合并两个区间时,我[洛谷P2459] SDOI2011 消耗战
问题描述 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他k个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁一些桥梁,使得敌BZOJ 2243 [SDOI2011]染色 树链剖分+线段树
题意 给定一棵有n个节点的无根树和m个操作,操作有2类: 1、将节点a到节点b路径上所有点都染成颜色c; 2、询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221”由3段组成:“11”、“222”和“1”。 请你写一个程序依次完成这m个操作。 分析 用线段树维护下区间左BZOJ2242 [SDOI2011]计算器
题意 F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser autointLogout 捐赠本站 Problem 2242. -- [SDOI2011]计算器2242: [SDOI2011]计算器Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 6231 Solved: 2448[Submit][Status][Dis