ICode9

精准搜索请尝试: 精确搜索
  • [模板]树链剖分2022-05-18 16:34:53

    简易版树链剖分 #include<cstdio> #include<cstring> #include<string> #include<iostream> #define WR WinterRain using namespace std; const int WR=1001000,INF=2147483647; struct SegmentTree{ int l,r,val,sum; }tree[WR]; struct Edge{ i

  • [CF538E] Demiurges Play Again 题解2022-05-16 20:00:32

    你谷 link CF link 首先将题目转化分别由自己和对面两个人布置叶子权值,求最大的叶子的权值,方便之后的解决。 考虑本题的计算是从叶子向上的,所以应该是自下而上的树形 dp,考虑设 \(dp_{x,0/1}\) 表示以 \(x\) 为根的子树,先手是不是想大的人,最大能走到的子树内的叶子是子树内第几大的

  • 字典树2022-05-14 16:31:24

    tire 字典树 先来个模板 142. 前缀统计 - AcWing题库 什么是字典树呢? 就是存字典的树嘛,差不多的赶脚。 确实是将所有字符存入其中,方便查找(多是查找前缀)。怎么存捏?如下图 建树 差不多是这个意思,但并非是把所有字符的空间给开出来,这就要讲到如何建树了。 void insert() { int ro

  • CF1187E Tree Painting2022-05-13 18:33:12

    CF1187E Tree Painting 分析 首先,我们贪心的想,当第一个点确定后,我们所求的最大值就是,依次选择子节点 这样,我们可以用树形DP求出以1为根的树,所能得到的最大权值。 递推公式为 \[f[i] = sz[i] + \sum_{j = son_1}^{son_m}f[j] \]则,我们可以轻松得到 \[f[1] = n + \sum_{j = son_1}^{

  • 结构体和指针2022-05-12 18:31:44

    1. 结构体地址: #include <stdio.h> #include <stdlib.h> #include <string.h> struct son { int money; }; struct dah { int money; }; struct father { struct son s; struct dah d; int money; }; int main(void) { struct fat

  • lab 12022-05-10 22:04:25

    int father[2],son[2]; int son[2]; if (fork() == 0) { int n; char buf[1]; close(0); dup(father[1]); close(1); dup(son[0]); for(;;) { read(0,buf,n); write(1,buf,1); } } else { int n ;

  • 树上启发式合并(dsu on tree)学习笔记2022-05-06 20:00:48

    树上启发式合并(dsu on tree)学习笔记 闲话 树上启发式合并,又称 dsu on tree(虽然跟 dsu 并查集完全没关系),用于离线处理子树相关询问。 它是一种利用了重链剖分性质的暴力,时间复杂度为完全正确的 \(\mathcal{O}(n\log n+m)\),个人认为跟莫队等都是非常优雅的暴力。 阅读本文并不需要重

  • NOI2018题解2022-05-04 18:33:22

    D1T1 洛谷题目传送门 题目描述 给定一个n个点m条边的无向图,每条边有高度和长度,Q次询问,每次给定起点,以及限制高度,求从起点能通过高度大于限制高度的边到达的点中,到1号点最短路的最小值 强制在线 65pts 不强制在线 把边权和询问的权值都排序,用并查集维护连通块内到1号点距离最小的点

  • [AcWIng 835] Trie字符串统计2022-05-02 17:35:22

    点击查看代码 #include<iostream> using namespace std; const int N = 1e5 + 10; int son[N][26], cnt[N], idx; char str[N]; void insert(char str[]) { int p = 0; for (int i = 0; str[i]; i ++) { int u = str[i] - 'a'; if (!son[

  • java--多态2022-05-02 14:34:13

    1、多态是什么? 在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。 2、多态的意义 存在继承关系和重写的现象 同一类型引用指向不同对象 Shape s1 = new Circle(); s

  • 重修 博弈论2022-04-30 22:02:40

    由来(doge) Once upon a time, there were two clever people named Alice and Bob. This is how the story begins... 基础 \(N\) 为先手必胜局面,\(P\) 为先手必败局面。 先手被认为输的局势,我们可以称之为奇异局势。 巴什博弈 小学奥数题:甲乙轮流报数至多报 77 个数,至少报 11 个

  • P6157 有趣的游戏2022-04-30 22:01:33

    P6157 有趣的游戏 分析 还是一样,看一看题目要求。 每一次系统会给出一条链,小 A 可以从这条链上找出两个点权不同的点 x,y,他的得分是 \(w_x mod w_y\)。然后小 B 会从整棵树中选取两个小 A 没有选过的点,计分方式同小 A。 非常容易推理出,对于A而言,其选出的最大答案是选出一条链的最

  • P4211 [LNOI2014]LCA2022-04-30 21:03:39

    P4211 [LNOI2014]LCA 分析 本题要计算的就是l~r与z的LCA的深度之和 我们来看看,是否可以将求多个dep转化一下 我们先对dep有一个理解,dep就是从i到root总共有多少点 我们从整体上考虑,发现对于一个询问:l , r , z 来说,所有的 lca 都在 z 到根的路径上。从而有一些点,它们对很多的 lca

  • golang goroutine 父子关系2022-04-29 20:34:33

    很多人认为 父 goroutine 结束后 子goroutine 一定会结束 结论只要main 不结束 goroutine 一定会运行 代码验证 package main import ( "fmt" "time" ) func main() { fmt.Println("main start") go func() { fmt.Println("parent start") go func() {

  • 树链剖分学习笔记2022-04-28 22:04:34

    树链剖(pōu)分 定义 树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。 树链剖分有多种形式,如重链剖分、长链剖分等,通常说的树链剖分指重链剖分。 重链剖分 首先给出一些定义: 重子节点:所有子节点中子树大小最大的子节点 轻子节点:除重子节点的其它子节点 重边:从

  • 最大异或对(trie树)2022-04-27 03:00:06

    在给定的 N 个整数 A1,A2……AN 中选出两个进行 xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数 N。 第二行输入 N 个整数 A1~AN。 输出格式 输出一个整数表示答案。 数据范围 1≤N≤105, 0≤Ai<231 输入样例: 3 1 2 3 输出样例: 3 #include<iostream> using namespace

  • java中父类强制转换成子类的原则2022-04-24 20:01:57

    java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用。 在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换。 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是

  • 【Unity】transform.Find()的使用2022-04-22 23:02:19

    起初对于transform.Find()我的理解是全局寻找目标对象,但结果并不是 transform.Find()通过传递一个字符串参数,能够从子对象中寻找name为参数的对象,返回transform。 需要注意的是,如果你要寻找的对象是嵌套的,例如: Parent Son Grandson 那么当你在Parent写脚本想要寻找

  • 2022.4.20 什么时候发生类的初始化2022-04-21 01:02:02

    什么时候会发生类初始化? 类的主动引用(一定会发生类的初始化) 当虚拟机启动,先初始化main方法所在的类 new一个类的对象 调用类的静态成员(除了final常量)和静态方法 使用java.lang.reflect包的方法对类进行反射调用 当初始化一个类,如果其父类没有被初始化,则先会初始

  • Trie树2022-04-19 02:00:56

      字典树(Trie)是一个比较简单的数据结构,也叫前缀树,用来存储和查询字符串。例如:aa, aba, ba, caaa, cab, cba, cc可以用下图的方式来进行存储。 可以发现,这棵字典树用边来代表字母,而从根结点到树上某一结点的路径就代表了一个字符串。举个例子,\(1\rightarrow 4\rightarrow 8\righ

  • 树的重心2022-04-16 10:31:06

    重心 树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。 树的重心定义为树的某个节点,当去掉该节点后,树的各个连通分量中,节点数最多的连通分量其节点数达到最小值。树可能存在多个重心。如下图,当去掉点1后,树将分

  • Codeforces Round #564 (Div. 2) A-D2022-04-16 01:01:01

    A. Nauuo and Votes 题意:   给我们\(x\)张赞成票和\(y\)张否决票还有\(z\)张不确定的票,让我们判断最后的选举结果是什么,如果是赞成的是"+", 否决的是"-", 不确定的是"?", 平票的是"0" 思路:   分类讨论一下就行了 int x, y, z; std::cin >> x >> y >> z; if (x > y +

  • Codeforces Round #564 (Div. 2) D(组合数学/树上DP)2022-04-16 01:00:33

    D. Nauuo and Circle 题意:   给定一棵\(n\)个节点的树,从\(1\)到\(n\)编号,现在你需要玩弄这棵树。问按照顺时针遍历能获得多少种不同的序列。最后的答案对\(\%998244353\) 思路:   定义\(son[u]\)表示\(u\)的子节点的个数。先固定\(1\)是这个序列中的第一个,因为这是一个环所以最

  • offsetLeft和offsetTop获取元素偏移2022-04-13 14:03:34

     offset概述 offset翻译过来就是偏移量 我们使用offset系列相关属性可以动态的得到该元素的位置(偏移)、大小等 获得元素距离带有定位父元素的位置 获得元素自身的大小(宽度高度) 注意:返回的数值都不带单位     代码示例: <!DOCTYPE html> <html lang="en"> <head> <meta

  • 19. 牛客-学霸大帅哥zyh2022-04-09 22:32:17

    题目链接:学霸大帅哥zyh dsu on tree,用线段树维护答案,每次修改的时候只会改变一个数,所以只会变一条链,非常好写。复杂度 \(O(n\log^2 n)\)。题是好题,就是数据太水了,\(O(n^2\log n)\) 的假做法都能过。 #include <bits/stdc++.h> using namespace std; #define pb push_back #define

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有