ICode9

精准搜索请尝试: 精确搜索
  • kmp tire字符串2022-01-12 20:57:59

    kmp自身匹配和两者匹配,都是i和j+1匹配(让两个字符串从1开始) 自身匹配找ne【】数组的值,i从2开始,j从0开始 两者匹配,i从1开始,j从0开始 #include<iostream> using namespace std ; const int M = 1e5 + 10 , N = 1e6 + 10 ; int a , b ; char s[N] , p[M] ; int ne[M] ; int main() {

  • Hash表(散列表)2022-01-11 14:00:32

    Hash表(散列表) 复杂度O(k*n)k为较大的常数用处:在不适用动态内存的情况下,充分利用静态内存(不需要把数组开的贼大)判重(和map功能相似)避免hash冲突:链地址法代码 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<stack> #include

  • VUEX模块化2022-01-07 21:35:10

    1.分模块 (1)在store的文件中添加一个js文件 export default { // 代表这是一个命名独立的空间,不会与index.js里的命名冲突与污染 namespaced:true, state:{}, mutations:{}, getters:{}, actions:{}, } (2)在store的index.js中引入 // 引入 import son from './son.

  • Link-Cut-Tree(1)2022-01-05 23:32:18

    参考论文 求解范围:(动态树问题) 树上路径查询、修改 动态连边、删边 换根 lca 算法逻辑 概念: 类似树链剖分,把一棵树拆成许多链,每个链用splay维护(链上的为实边,否则为虚边),splay中以\(dep\)为关键字(左浅右深),splay里点之间用\(fa\)和\(son[0/1]\)连接,不同链之间用\(par\)连接(par是单

  • CodeForces - 717E Paint it really, really dark gray2022-01-05 13:39:25

    题意:给出一棵树,每个结点是黑色或者粉色。每经过一个结点一次,这个结点变一次色(一开始站在根节点时不变色)。求一条路径,沿此路径走完后整棵树变成黑色。 解:到达一个结点后需不需要往下走取决于子树中有没有粉色结点,于是先dfs一次处理子树。然后开始解,如果有粉色结点,就递归递进去。回

  • 洛谷P5521 [yLOI2019] 梅深不见冬 题解2022-01-05 11:39:29

    P5521 [yLOI2019] 梅深不见冬 题目链接 (这题的暴力太难写了QAQ) 思路:看完题目很容易发现,在某点放一朵梅花本质上就是用 DFS 的方式遍历该点的子树。 那么我们只要找到在该点的子节点上放梅花的最小花费就可以了。 本题的特殊样例已经在一定程度上提醒了我们正解的思路。 首先观察

  • Operator Fusing2021-12-23 19:34:42

    数据结构 class Node {    Node* inputs;    Node* outputs; } 1. 判断父子节点能否fuse,如果能,则push to fusing_array[父,子]。(注意去重) 2. 对于每个父子节点,调用子节点.fuse(父节点) 伪代码: son.fuse(father) :   for i in son.inputs:      if i == father.outputs[0]:

  • AcWing 算法基础课 Trie2021-12-19 19:02:26

    Trie树可以用来存储前缀字符串/数组。 可以用数组进行模拟 son[N][26] 记录节点的son cnt[N] 记录以当前节点为最后字符的字符串出现的次数 idx当前用到的节点   例题 143. 最大异或对 #include<iostream> using namespace std; const int N=100010; int son[N*31][2];int idx=0

  • 后端心得--学习2021-12-19 10:58:00

    这周进行了前后端分端,经过长时间的踌躇,选择了后端,但后端的内容确实有点难理解,费脑子,费头发,但还是要打好基础,毕竟java也是这学期自己的专业课,学好Java才能更好的开展每学期的专业课,像python之类的,接下来和大家分享一下,这星期学后端时遇到的一些问题和解释,及一些小知

  • 拓扑排序 模板 信息学一本通1351:【例4-12】家谱树2021-12-18 17:03:25

        1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=105; 4 int n; 5 int in[N]; 6 vector<int>G[N]; 7 int main() 8 { 9 scanf("%d",&n); 10 queue<int>q; 11 for(int i=1;i<=n;i++) 12 {

  • 树上随机游走与树上高斯消元2021-12-14 07:01:20

    题目大意: 给定一棵树,求出一对起点和终点,使得从起点随机游走,到终点停下的期望步数最多,输出这个期望步数 solution: 其实不难 树形 \(dp\) 首先,另 \(f[x]\) 表示从 \(x\) 点走到他父亲的期望步数 它有可能先走到某个儿子里,然后再回来,也有可能直接走到它的父亲 因此: \[f[x]=\frac{1}{|

  • 全世界都在用的常见动画效果,轮播图等2021-12-13 20:59:06

    动画效果 当我们想做类似轮播图这种动画效果时,可以先封装好一个函数,如果想让谁拥有动画效果,直接调用就可以。 function aimate(obj, target, callback) { // obj为动的盒子,target为滑动的目标距离 clearInterval(obj.timer); obj.timer = setInterval(function() {

  • AIM Tech Round 3 (Div. 1)]C.Centroids2021-12-12 20:03:08

    AIM Tech Round 3 (Div. 1)C.Centroids 题意:题意:给一棵树,问树的每个点能不能通过仅一次删边加边变成质心,所谓质心即删掉该点和相邻的边剩下的每个联通块大小都小于等于n/2。n ≤ 400000 思路:树形dp+换根dp $umax[i]表示除了以点i为根的树,整颗大树的剩余部分中,结点数最多的子树的值

  • 类加载过程2021-12-12 18:32:15

    类加载分为三步: 1.加载: 将class文件字节码加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的java.lang.Class 对象。 2.链接:将java类的二进制代码合并到jvm运行状态的过程 (1)验证: 确保加载的类信息符合JVM规范 (2)准备: 为static修饰的类变量分配没

  • 学习笔记:树上启发式合并(dsu on tree)2021-12-10 23:05:36

    DSU on tree ! 解决树上问题的利器,复杂度虽然没有长链剖分优秀,不过思考简单而且代码优美,是树上维护答案的好帮手。 例题:DSU on tree 应用范围 解决一些子树的离线静态问题,巧妙地将暴力 \(O(n^2)\) 的复杂度优化到 \(O(nlogn)\)。 算法思路 回溯整棵树维护子树大小以及重儿子,为后

  • 堆排序-heap sort2021-12-08 23:35:18

    heap sort 参考链接 满二叉树性质: parent=(i-1)/2,son_left=i*2+1,son_right=i*2+2 建堆 首先对数组建立大顶堆:父节点一定大于子节点 对每一个非叶节点递归进行比较(堆化) 最后一个非叶节点 结论:最后一个叶节点的父节点 证明:假设最后一个叶节点a的父节点b不是最后一个非叶节点。

  • vue3.0父子组件的通信2021-12-08 17:00:42

    vue3.0父子组件的通信 Vue3.0组件通信 Vue3.0组件通信 vue3.0脚手架setup内部的组件通信 1、父到子通过props 父组件 <template> <div > <Son data="currentRole.arr"></Son> </div> </template> <script lang="ts"> import { defineC

  • [POI2014]HOT-Hotels 加强版2021-12-03 19:32:24

    长链剖分优化 \(dp\) 模板 不过这 \(dp\) 真毒 \(\text{Code}\) #include <cstdio> #define RE register #define IN inline using namespace std; typedef long long LL; const int N = 1e5 + 5; int n, h[N], tot, len[N], son[N]; struct edge{int to, nxt;}e[N <<

  • Java 中的强制类型转换2021-11-30 23:33:29

    在 Java 中强制类型转换分为基本数据类型和引用数据类型两种,这里我们仅讨论引用数据类型的强制类型转换。 在 Java 中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换。因为子类拥有比父类更多的属性、更强的功能,所以父类转换为子类需要强

  • 无限级分类列表的封装函数是什么2021-11-26 21:04:20

    封装函数如何使用? 封装函数可直接在 common 中进行保存 使用的时候直接调用即可: if(!function_exists("get_cate_list")){ //返回无限级分类菜单 function get_cate_list($list,$pid=0,$f=0){ //声明一个静态数组存储处理后的数据 static $arr = [];

  • CF690C3 Brain Network (hard) 题解2021-11-15 23:02:59

    题目大意 一棵树,每次加一个节点,并且询问每次加后的树的直径 解题思路 可以知道,每次加点后最多对树的直径的影响为 \(1\) 。而且有一个重要性质:加进的这个叶子如果能对答案产生贡献,那么这个叶子和原来直径一定有公共端点,所以我们求出每个状态下的 \(u和v和ans\) ,每次要么不更新,要

  • JVM类初始化过程2021-11-13 16:06:38

    JVM类初始化过程 目录 JVM类初始化过程类加载机制加载连接验证准备解析 初始化使用卸载 示例Father.javaSon.javaA.javaB.java 文字流程结果展示相关内存图 类加载机制 类加载机制主要有三步: 加载、连接、初始化。 加载 ​ 把编译好的class文件加载进内存 (1.7及之前

  • luogu P4022 [CTSC2012]熟悉的文章2021-11-12 22:00:09

    题面传送门 看到字符串子串匹配啪的一下很快啊一个SAM扔上去了 先把\(M\)个串的SAM建出来,发现其实不用广义SAM,隔一个#插就好了。 然后对于每个询问串就可以在SAM上先刨除每个\(i\)结尾在模式串中最长匹配多少。 显然L有单调性所以直接二分然后\(O(n^2)\)dp就可以得到答案了。 又有

  • 组合继承12021-11-11 16:02:18

    <script> function Father(name,age){ this.name=name; this.age=age; } function son(name,age){ Father.call(this,name,age); } var ss=new son("bob",22); conso

  • 主席树(非权值)2021-11-09 22:34:46

    int n;const int N=4e5;const int LOGN=22; namespace ST{ const int M=N*LOGN; int son[M][2],ct[M]; int node_count; int new_node(int ls,int rs,int cnt){ int t=++node_count; son[t][0]=ls; son[t][1]=rs; ct[t]=cnt;

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

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

ICode9版权所有