• 模拟
    【HDU5818多校】JointStacks模拟
    【HDU5818多校】JointStacks
    用两个栈模拟,并保存每个点的时间戳。每次合并的时候记录合并时的时间戳mcnt和此时的topa和topb记做ta、tb。每次pop的时候,如果栈的top的时间戳大于mcnt,则普通地pop,否则就在两个栈ta和tb下面找时间戳最大且还没pop掉的。然后用bj[时间戳]来标记已经pop了。#includecstdio#includecstring#defineN100005usingnamespacestd;structnode{intid,v;
  • 数据结构
    【CodeForces699D】FixaTree数据结构
    【CodeForces699D】FixaTree
    dfs找出联通块个数cnt,当形成环时,令指向已访问过节点的节点变成指向-1,即做一个标记。把它作为该联通图的根。把所有联通的图变成一颗树,如果存在指向自己的点,那么它所在的联通块就是一个树(n-1条边),选择这样一个点,其它联通块的根指向它,就需要cnt-1次改变。如果都是环(没有指向自己的),那任意选定一个环,拆开,其它环拆开再连到此环上,就需要cnt次改变。#includecstdio#defineN200005inta[N],v[N],h[N],fa[N],q
  • 数据结构
    【CodeForces697C】LorenzoVonMatterhorn(LCA)数据结构
    【CodeForces697C】LorenzoVonMatterhorn(LCA)
    LeastCommonAncestors节点范围是1~1e18,至多1000次询问。只要不断让深的节点退一层(1)就能到达LCA。用点来存边权,用map储存节点和父亲连边的权值。#includecstdio#includemap#definelllonglongusingnamespacestd;mapll,llm;llu,v,w;voidadd(){while(u!=v){if(uv){m[v]+=w;
  • DFS
    【POJ3321】AppleTreeDFS
    【POJ3321】AppleTree
    有n个节点以1为根节点的树,给你树的边关系u-v,一开始每个节点都有一个苹果,接下来有两种操作,Cx改变节点x的苹果状态,Qx查询x为根的树的所有苹果个数。求出树的dfs序,st[i]保存i的进入时间戳,ed[i]保存i的退出时间戳,则st[i]到ed[i]就是子树节点的对应时间戳。每个节点打了两次时间戳,其中ed[i]会等于最后访问的一个子节点的st[i]。于是用线段树/树状数组的单点修改和区间求和就可以解决。#includecstdio#defineN
  • 并查集
    【CCCC天梯赛决赛】并查集
    【CCCC天梯赛决赛】
    cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来。补了一下题,觉得其实也不是很难,主要是练的少。L2-1:红色预警并查集我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难。每次失去一个城市,重新计算过并查集,比较几个根节点,如果根节点增加了那么就是改变了连通性。#includecstdio#defineN505#defineM5005usingnamespacestd;intn,m,k,g,cnt,newcnt;intf[
  • 2016年7月
    es6学习笔记8--Map数据结构2016年7月
    es6学习笔记8--Map数据结构
    MapMap结构的目的和基本用法JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键。这给它的使用带来了很大的限制。vardata={};varelement=document.getElementById("myDiv");data[element]=metadata;data["[ObjectHTMLDivElement]"]//metadata上面代码原意是将一个DOM节点作为
  • Shader
    【UnityShaders】学习笔记——SurfaceShader(二)两个结构体和CG类型Shader
    【UnityShaders】学习笔记——SurfaceShader(二)两个结构体和CG类型
    【UnityShaders】学习笔记SurfaceShader(二)两个结构体和CG类型转载请注明出处:http://www.cnblogs.com/-867259206/p/5596698.html写作本系列文章时使用的是Unity5.3。写代码之前:当然啦,如果Unity都没安装的话肯定不会来学UnityShaders吧?阅读本系列文章之前你需要有一些编程的概念。在VS里面,UnityShaders是没有语法高
48h快讯7天最热月榜More
  • 10年前

    收起
  • 3年前

      RT,上数据结构课时写的,注释后面再补上.  上课时,听得不是很认真,先放在这里,等后面再来慢慢理解.  使用时,首先会创建根结点,依次创建左孩子,左孩子.  输入0表示该结点为空.  创建左/右孩子的时候,又把左/右孩子当作根结点,递归创建属于它们的左右孩子.#includestdio.h#includestring.h#includestdlib.htypedefstructBiTree{intdata;str
    收起
  • 7年前

    在最开始做可视化应用的时候,从来没有考虑过如何组织代码结构。后来开始接触了3层甚至N层,接触了UI映射、ORM映射,借鉴这些我自己也设计了O-O映射和控件关系映射。后来我接触了UICompositeApplicationBlock(CAB)和SCSF,觉得其组合设计思想非常的不错,还花了2个月时间把OB和UIAppBlock源码看了一遍。首先我简单提一下界面组合的概念(SCSF概念很多有20几个,可以查一下微软官网,有很详细的文档),界面组合从字面的意思就是利用组合思想设计界面。在SC
    收起
  • 2年前

    这个文档是让开发者了解nopcommerce解决方案结构的指南。这是新的nopcommerce开发者学习nopcommerce代码的相关文档。首先,nopCommerce源代码是很容易得到的。它是一个开源应用程序,因此,所有你只要从代码托管完整下载它就行了。在你打开VS以后项目和文件夹都会完整列出来,我们建议你在看此文档的同时也打开你的VS来浏览项目和文件。大部分项目、目录和文件的都可以通过名称,得到设计者的一个粗略想法。例如,这个Nop.Plug
    收起
  • 6年前

    软件体系解构是一个比较抽象的概念,按我的理解,可以将其比作一个书架。书架的产生过程大概如下:(1)没有太多的书,想怎么摆都行,不至于太乱、难以分类和查找;(2)越来越多的书籍,你需要考虑是横着排列,还是竖着排列呢?横着排列的话,很容易倒不说,而且很难找到自己想要的且书籍;竖着排列的话,容易找到自己需要的书籍,但是太占地方,而且如果把书竖着摆条长龙的话,拿出几本书后,需要重新整理;(3)因此,我们考虑使用一个架子,这个架子分成几层,每层竖放一排书;(4)在书更多的情况下,需要对每一层加上一个格子,
    收起
  • 6年前

    BitArray类用于在资源有限的情况下表示一系列比特值。比特集合可以存储于常规数组,但是如果我们使用专为比特集合设计的数据结构则可以创建更高效的程序。在本章中,我们将学习一下怎样使用这种数据结构并研究一些可以使用比特集合来解决的问题。本章中同时复习了二进制数字,以及按位比较与移位运算符。一个激起兴趣的问题让我们看一个将最终使用BitArray类来解决的问题。这个问题的要求是找到质数。一个比较原始的方法是公元前三世纪的希腊哲学家埃拉托色尼发现的被称为爱拉托逊斯筛法的方法。这个方法过滤掉可
    收起
加载更多