您好,欢迎光临本网站![请登录][注册会员]  

搜索资源列表

  1. ACM/ICPC常用算法代码库(C语言版)

  2. 目录 一.数论 4 1.阶乘最后非零位 4 2. 模线性方程(组) 4 3. 素数表 6 4. 素数随机判定(miller_rabin) 6 5. 质因数分解 7 6. 最大公约数欧拉函数 8 二.图论_匹配 9 1. 二分图最大匹配(hungary邻接表形式) 9 2. 二分图最大匹配(hungary邻接表形式,邻接阵接口) 10 3. 二分图最大匹配(hungary邻接阵形式) 10 4. 二分图最大匹配(hungary正向表形式) 11 5. 二分图最佳匹配(kuhn_munkras邻接
  3. 所属分类:其它

    • 发布日期:2010-04-26
    • 文件大小:441kb
    • 提供者:tuohongyu
  1. ACM (经典代码)

  2. 里面的代码都有注释:希望对大家有所帮助。 1-50 动态规划 1005 打导弹 1006 乘积最大 1007 加分二叉树 1008 合唱队形 1017 最大0,1子矩阵 这题要想不超时,必须DP 1020 最大正方形 这题和1017很相似,不过有更快的解决方法 1021 背包问题 1022 Longest Common Sequence 也可用二叉搜索树(nlog时间)解决,见llj的书 1023 Happy Travel 转化为背包问题 1029 交点问题 据说有一个公式可以直接套 1031
  3. 所属分类:其它

    • 发布日期:2010-05-03
    • 文件大小:151kb
    • 提供者:zhuyingqingfen
  1. 计算几何-算法分析与设计(中文).pdf

  2. 这是一本具有启发性的很好的书,翻译的也还不错。 我们的实际生活中有很多的问题亟待解决,当问题很复杂的时候往往让人无从下手,这时候如果利用数学中的几何知识将之转化成为几何问题求解往往会出现出人意料的解决方案。 书中关于点的处理的部分有凸包、正交区域查找、点定位、voronoi图和delaunay三角剖分。 1、凸包: 1)平面凸包:计算平面上由n个点组成的有限集合P的凸包,利用“递增式算法”,逐一引入P中的各点,每增加一个点,观察多边形的外边界是向哪个方向改变,例如:对于点集的上凸包,当其多边形
  3. 所属分类:其它

    • 发布日期:2010-09-08
    • 文件大小:7mb
    • 提供者:wuzq26
  1. 十大经典算法[NEU].pdf

  2. 包括:(1)搜索算法 (2)贪心算法 [10] (3)动态规划 (4)最短路径 (5)最小生成树(6)二分图的最大匹配 [23] (7)网络最大流 (8)线段树 (9)字符串匹配 (10)数论、数学相关及其详细分析。
  3. 所属分类:C/C++

    • 发布日期:2011-03-25
    • 文件大小:1mb
    • 提供者:ygl521ygl521
  1. acm模板(全)

  2. 1 图论 3 1.1 术语 3 1.2 独立集、覆盖集、支配集之间关系 3 1.3 DFS 4 1.3.1 割顶 6 1.3.2 桥 7 1.3.3 强连通分量 7 1.4 最小点基 7 1.5 拓扑排序 7 1.6 欧拉路 8 1.7 哈密顿路(正确?) 9 1.8 Bellman-ford 9 1.9 差分约束系统(用bellman-ford解) 10 1.10 dag最短路径 10 1.11 二分图匹配 11 1.11.1 匈牙利算法 11 1.11.2 KM算法 12 1.12 网络流
  3. 所属分类:C++

    • 发布日期:2011-12-14
    • 文件大小:567kb
    • 提供者:naughty610
  1. 线段树入门

  2. 对算法有兴趣的可以来看看 在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过; 最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中; 每次询问都要把n条线段查一次,那么m次询问,就要运算m*n次,复杂度就是O(m*n) 这道题m和n都是30000,那么计算量达到了10^9;而计算机1秒的计算量大约是10^8的数量级,所以这种方法无论怎么优化都是超时 因为n条线段是固
  3. 所属分类:C++

    • 发布日期:2013-01-14
    • 文件大小:532kb
    • 提供者:redcp
  1. 线段树专辑

  2. 在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过; 最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中; 每次询问都要把n条线段查一次,那么m次询问,就要运算m*n次,复杂度就是O(m*n) 这道题m和n都是30000,那么计算量达到了10^9;而计算机1秒的计算量大约是10^8的数量级,所以这种方法无论怎么优化都是超时 因为n条线段是固定的,所以某种程度上说每次
  3. 所属分类:C++

    • 发布日期:2013-01-14
    • 文件大小:112kb
    • 提供者:redcp
  1. 运用伸展树解决数列维护问题 by Crash

  2. 对于数列维护问题,我们常用的一种手段是线段树。但使用线段树有一定的局限性,本文介绍运用伸展树解决这类问题,并且可以实现更多的功能。 (1 )伸展树的伸展操作 (2 )在伸展树中对区间进行操作 (3 )实例分析——NOI 2005 维护数列(Sequence ) (4 )和线段树的比较 by Crash
  3. 所属分类:专业指导

    • 发布日期:2013-06-14
    • 文件大小:280kb
    • 提供者:gddswlz
  1. 挑战程序设计竞赛(第2版)

  2. 世界顶级程序设计高手的经验总结 【ACM-ICPC全球总冠军】巫泽俊主译 日本ACM-ICPC参赛者人手一册 本书对程序设计竞赛中的基础算法和经典问题进行了汇总,分为准备篇、初级篇、中级篇与高级篇4章。作者结合自己丰富的参赛经验,对严格筛选的110 多道各类试题进行了由浅入深、由易及难的细致讲解,并介绍了许多实用技巧。每章后附有习题,供读者练习,巩固所学。 本书适合程序设计人员、程序设计竞赛爱好者以及高校计算机专业师生阅读。 目录 · · · · · · 译者序 前言 第1章 蓄势待发——准备
  3. 所属分类:其它

    • 发布日期:2015-08-05
    • 文件大小:51mb
    • 提供者:cumulonanima
  1. 树链剖分模板

  2. 预处理 第一遍dfs求出树每个结点的深度deep[x],其为根的子树大小size[x] 以及祖先的信息fa[x][i]表示x往上距离为2^i的祖先 第二遍dfs ž根节点为起点,向下拓展构建重链 选择最大的一个子树的根继承当前重链 其余节点,都以该节点为起点向下重新拉一条重链 ž给每个结点分配一个位置编号,每条重链就相当于一段区间,用数据结构去维护。 把所有的重链首尾相接,放到同一个数据结构上,然后维护这一个整体即可 修改操作 ž1、单独修改一个点的权值 根据其编号直接在数据结构中修改就行了。
  3. 所属分类:软考等考

    • 发布日期:2018-08-08
    • 文件大小:4kb
    • 提供者:u014399502
  1. C语言算法题-线段树

  2. Alice和Bob又在挑战智力,这次的模式是这样的,Alice写下若干个数给Bob,之后会发出若干指令,让Bob给某数加上一个数(A),或者给某数减去一个数(S),或者查询某两个数之间所有数字之和(Q),有时他们也身份互换,反应速度最快的人将得到“速算小能手“奖章。你有好办法么? 输入:第一行为数的个数N,第二行是这N个数,从第三行开始表示每个操作,第一个字母代表操作的种类,A和S后面的两个数i,j分别表示给第i个数加上或减去j,Q i,j表示查询i和j之间数字之和。 输出:若干行,每行为一次查
  3. 所属分类:C/C++

    • 发布日期:2020-08-09
    • 文件大小:2kb
    • 提供者:qq_43899078
  1. 线段树(1)

  2. 线段树(1)
  3. 所属分类:C++

    • 发布日期:2016-03-29
    • 文件大小:282kb
    • 提供者:qq_33583069
  1. Java实现 LeetCode 699 掉落的方块(线段树?)

  2. 699. 掉落的方块 在无限长的数轴(即 x 轴)上,我们根据给定的顺序放置对应的正方形方块。 第 i 个掉落的方块(positions[i] = (left, side_length))是正方形,其中 left 表示该方块最左边的点位置(positions[i][0]),side_length 表示该方块的边长(positions[i][1])。 每个方块的底部边缘平行于数轴(即 x 轴),并且从一个比目前所有的落地方块更高的高度掉落而下。在上一个方块结束掉落,并保持静止后,才开始掉落新方块。
  3. 所属分类:其它

    • 发布日期:2020-12-21
    • 文件大小:43kb
    • 提供者:weixin_38743084
  1. C语言树状数组的实例详解

  2. C语言树状数组的实例详解 最近学了树状数组,给我的感觉就是 这个数据结构好神奇啊^_^ 首先她的常数比线段树小,其次她的实现复杂度也远低于线段树 (并没有黑线段树的意思=-=) 所以熟练掌握她是非常有必要的。。 关于树状数组的基础知识与原理网上一搜一大堆,我就不赘述了,就谈一些树状数组的应用好了 1,单点修改,求区间和 #define lowbit(x) (x&-x) // 设 x 的末尾零的个数为 y , 则 lowbit(x) == 2^y void Update(int i,int v)
  3. 所属分类:其它

    • 发布日期:2020-12-31
    • 文件大小:56kb
    • 提供者:weixin_38637665
  1. 线段树(Segment Tree)

  2. 版权声明:本文为CSDN博主「Alex_McAvoy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u011815404/article/details/87277945 目录【概述】【基础操作实现】1.建树1)思路2)实现2.单点查询1)思路2)实现3.单点修改1)思路2)实现4.区间查询1)思路2)实现5.区间修改1)思路2)实现【模版】1.单点更新+区间查询2.区间更新+区间查询 【概述】 线段
  3. 所属分类:其它

    • 发布日期:2021-01-08
    • 文件大小:588kb
    • 提供者:weixin_38628647
  1. Leetcode 683. K 个空花盆 (滑动窗口 或者 线段树)

  2. Leetcode 683. K 个空花盆 花园里有 N 个花盆,每个花盆里都有一朵花。这 N 朵花会在 N 天内依次开放,每天有且仅有一朵花会开放并且会一直盛开下去。 给定一个数组 flowers 包含从 1 到 N 的数字,每个数字表示在那一天开放的花所在的花盆编号。 例如, flowers[i] = x 表示在第 i 天盛开的花在第 x 个花盆中,i 和 x 都在 1 到 N 的范围内。 给你一个整数 k,请你输出在哪一天恰好有两朵盛开的花,他们中间间隔了 k 朵花并且都没有开放。 如果不存
  3. 所属分类:其它

    • 发布日期:2021-01-07
    • 文件大小:50kb
    • 提供者:weixin_38641764
  1. 【省选模拟】世界树(点分治)(单调队列)(启发式合并)

  2. 考场大力二分答案,把 ≥mid\ge mid≥mid 的设成 1,把 <mid<mid<mid 的设成 −1-1−1,若存在一条权值 ≥1\ge 1≥1 的长度 ∈[L,R]\in [L,R]∈[L,R] 的路径那么本次合法。 这个东西点分没有办法容斥,只有考虑一个子树拼接前面的其它子树。 这个东西是个单点修改区间加,所以考场我就码了个深度为下标的线段树,单修区查 maxmaxmax。 于是复杂度是美妙的 nlog(n)3nlog(n)^3nlog(n)3。 考虑把 [L,R
  3. 所属分类:其它

    • 发布日期:2021-01-06
    • 文件大小:141kb
    • 提供者:weixin_38612648
  1. LDUOJ 时间锁链 (状压+线段树 )

  2. 时间锁链 时间限制: 1 Sec 内存限制: 128 MB [命题人:admin] [ Edit] [ TestData] 题目描述 当墨老师找到封闭时间环中最小的逆序对数后,他就可以将时间环展开成一个长L的时间锁链(我们可以将之看成是一根很长的管子),其中L是整数,所以我们可以将该管子分为L段,并从左到右标记为1,2,…,L。 现在对管子有两种操作: “C A B C” 将A到B的数都标记为C(我们可形象的看成是染成C这种颜色)。 “P A B” 输出A和B之间不同颜色的数目。 颜色有T种,
  3. 所属分类:其它

    • 发布日期:2021-01-06
    • 文件大小:44kb
    • 提供者:weixin_38663151
  1. 【题解】「HDU1166」敌兵布阵(线段树)

  2. 题面 【题目描述】 有nnn个营地,已知每个营地的人数,有四条命令: (1)Add(1) Add(1)Add iii jjj,iii和jjj为正整数,表示第iii个营地增加jjj个人(jjj不超过303030) (2)Sub(2)Sub(2)Sub iii jjj ,iii和jjj为正整数,表示第iii个营地减少jjj个人(jjj不超过303030); (3)Query(3)Query(3)Query iii jjj ,iii和jjj为正整数,i≤ji\leq ji≤j,表示询问第iii到第jj
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:43kb
    • 提供者:weixin_38621870
  1. 线段树(单点查询+区间求和)无lazy标记

  2. 模板题出处 原理就大概如图所示,线段树的每个节点都是原数组的一段区间和,而叶子节点就是原数组对应 的值 建树代码: void build(int p,int lf,int rt){//建树 ans[p]=0; if(lf==rt) { ans[p]=A[lf]; return ; } int mid=(lf+rt)>>1; build(lson); build(rson); push_up(p); } 单点修改
  3. 所属分类:其它

    • 发布日期:2021-01-20
    • 文件大小:100kb
    • 提供者:weixin_38690522
« 12 3 4 »