洛谷:P3405 [USACO16DEC]Cities and States S(stl)

题目:分析:自己想了想貌似不需要图,第一想法就是map,瞄了一下题解,是map,自己继续想吧。呵呵,看题解吧:#include<bits/stdc++.h>using namespace std;map<string,string> m1;//存放对应关系 map<string,vector<string> > m2;//开头为XX的 有哪些单词 vector<string> vs;int main(){ int m; cin
分类: 其他 发布时间: 09-07 22:19 阅读次数: 0

洛谷:P5836 [USACO19DEC]Milk Visits S(树,最近公共祖先,并查集)

题目:分析:最近公共祖先过程中修改即可。代码:自己写的上面修改,超时:#include<bits/stdc++.h>using namespace std;int m1,m2,n;vector<vector<int> > vv;int A1[100005];//存放的是祖先结点int A2[100005];//存放的是所在的层数。 int A3[100005];//存放的是确定树的时候是否被用过string ss;void f1(int c,in
分类: 其他 发布时间: 09-07 22:18 阅读次数: 0

洛谷:P5588 小猪佩奇爬树(树,)

题目:分析:想出来一个可行的思路:随便找一个符合点,(没有符合标记的点直接就c(2,x)。统计个数,从该点开始,以该点为根进行深搜,。之后的点如果出现符合条件的点不在一个树枝上,那么说明有路径。有路径,这些点一定都在一条直线上,找端点。实现有些复杂啊,看题解,忽视自己写的吧!代码:...
分类: 其他 发布时间: 09-07 22:18 阅读次数: 0

洛谷:P3398 仓鼠找sugar(图,lca)

题目:分析:只能想到暴力法,从一个点出现,经过的点都加入到vector(还可以其他)中,直到另一个目标点为止。但是,数据不止一组。lca:暴力法尝试,1个vector,1个set,判断元素重复,很好。代码:#include<bits/stdc++.h>using namespace std;int m,n;vector<vector<int> > vv;int A[100005];vector<int> v;set<int>
分类: 其他 发布时间: 09-07 22:18 阅读次数: 0

洛谷:P3366 【模板】最小生成树(基础总结,图)

题目:分析:最小生成树就两种方法。提醒一个要点,因为是树,所以可能以点计数,也可能以边计数。Kruskal(克鲁斯卡尔)~边:1.边排序。2.按顺序加入并判断不能成环,以并查集来判断。首先使用结构体+cmp:#include<bits/stdc++.h>using namespace std;int m,n;//点数 边数struct edge{ int start,end; int len;};bool cmp(edge a,edge b){ return a
分类: 其他 发布时间: 09-07 22:17 阅读次数: 0

洛谷:P1195 口袋的天空(图,最小生成树,普及- )

题目:内心静不下来,题就做不出来。刚打完从点开始的最小树,看到这个点一下子蒙了。哦,是从边出发,每次选最小的边,如果已经连通,那么下一个,嗯,就是最小生成树的算法,只是终止条件发生了变化,连通度,很容易转变,起初连通度为点数,加入一条边连通度减少1.代码:#include<bits/stdc++.h>using namespace std;int m,n,k;//点数 边数int fa[5005];//父亲节点数 struct edge{ int start,end;
分类: 其他 发布时间: 09-07 22:17 阅读次数: 0

洛谷:P1396 营救(普及/提高-,最小生成树)

题目:分析:显然,从点开始的最小生成树的算法。从出发点开始,其所有的边都加入队列,然后,选最小的,最小的边的另一个点的所有边也加入,感觉像是启发式搜索,按照一定的条件进行搜索。...
分类: 其他 发布时间: 09-07 22:17 阅读次数: 0

洛谷:P1967 货车运输(提高+/省选-,lca,最小生成树)

题目:分析:n个询问,n词最小生成树。想着一定t。看题解,又是lca,暂时放弃。/(ㄒoㄒ)/~~
分类: 其他 发布时间: 09-07 22:17 阅读次数: 0

系统架构设计笔记(64)—— 嵌入式系统设计

嵌入式系统设计的主要任务是定义系统的功能 、 决定系统的架构,并将功能映射到系统实现架构上。这里,系统架构既包括软件系统架构也包括硬件系统架构。一种架构可以映射到各种不同的物理实现,每种实现表示不同的取舍,同时还要满足某些设计指标,并使其他的设计指标也同时达到最佳化。嵌入式系统的设计方法跟一般的硬件设计 、 软件开发的方法不同,是采用硬件和软件协同设计的方法,开发过程不仅涉及软件领域的知识,还涉及硬件领域的综合知识,甚至还涉及机械等方面的知识。要求设计者必须熟悉并能自如地运用这些领域的各种技术,才能使所设
分类: 其他 发布时间: 09-07 22:16 阅读次数: 0

系统架构设计笔记(65)—— 项目的范围、时间与成本

项目管理首先要考虑三个约束条件:项目范围 、 时间进度 、 成本预算。在签订软件开发合同时要明确:项目的任务是什么?发起人要通过项目获得什么样的产品或服务?这属于项目范围的范畴;项目需要多长时间?进度如何安排?这属于时间进度的范畴;项目需要花费多少?资金来源如何?这属于项目成本的范畴。1 项目范围管理所谓项目范围管理,包括保证项目顺利完成所需的全部工作过程。其目的是控制项目的全部活动都在需求范围内,以确保项目资源的高效利用。它主要包括项目启动 、 范围计划编制 、 范围定义 、 范围核实和范围变更控制5
分类: 其他 发布时间: 09-07 22:16 阅读次数: 0

说说 Python 元组的高级用法

1 元组记录元组可以当做存放数据的记录。元组中的元素用于存放记录字段数据,而元素所在的位置用于表达该字段的隐含含义。Luciano Ramalho 举了这样一个示例:lax_coordinates=(33.33,-11.92)logging.info(longitude -> %s,lax_coordinates[0])logging.info(latitude -> %s,lax_coordinates[1])city,year,pop,chg,area=(Tokyo
分类: 其他 发布时间: 09-07 22:15 阅读次数: 0

系统架构设计笔记(66)—— 配置管理与文档管理

随着软件规模和复杂性的增大,许多大型开发项目往往都会延迟和超出预算,软件开发不得不直面越来越多的问题,表现为开发的环境日益复杂,代码共享日益困难,需跨越的平台增多;软件的重用性需要提高;软件的维护越来越困难。为了解决这些问题,作为控制软件系统一系列变化的学科,软件配置管理( Software Configuration Management , SCM )应运而生。其主要作用是通过结构化的 、 有序化的 、 产品化的管理软件工程的方法来维护产品的历史,鉴别和定位产品独有的版本,并在产品的开发和发布阶段控制
分类: 其他 发布时间: 09-07 22:15 阅读次数: 0

系统架构设计笔记(67)—— 软件需求管理

在软件开发的整个过程中,随着客观条件的变化和客户对软件或业务理解的加深,会产生很多新的软件需求,项目经理需要经常面对需求变更。需求管理的目的就是控制和维持事先约定,保证项目开发过程的一致性,使用户能够得到他们最终想要得到的软件产品。下面的内容主要涉及需求管理的两个方面:需求变更 、 需求跟踪。1 需求变更需求变更是指在软件开发过程中,用户确定软件需求之后,由于各种客观和主观条件的变化,用户增加了新的需求或改变了原有需求。项目经理需要在整个项目生命周期中管理需求变更,将项目变更的影响降到最低。进行需求变
分类: 其他 发布时间: 09-07 22:15 阅读次数: 0

系统架构设计笔记(68)—— 软件开发的质量与风险

1 软件的质量随着软件开发的规模越来越大,软件的质量问题越来越引起人们的关注。关于软件质量, IEEE729—1983 标准有以下定义:软件产品满足给定需求的特性及特征的总体的能力;软件拥有所期望的各种属性组合的程度;顾客或用户认为软件满足他们综合期望的程度;软件组合特性在使用中,满足用户预期需求的程度;从上述这个定义可以看到质量不是绝对的,它总是与给定的需求有关。因此,对软件质量的评价总是在将产品的实际情况与从给定的需求中推导出来的软件质量的特征和质量标准进行比较后得出来的。尽管如此,这
分类: 其他 发布时间: 09-07 22:14 阅读次数: 0

系统架构设计笔记(69)—— 人力资源管理

软件项目人力资源管理包括为最有效地使用参与项目人员所需的各项过程,一般包括组织规划、人员招募和团队建设三个主要过程。1 组织规划组织规划用于确定 、 记录并分派项目角色 、 职责和请示汇报关系。角色 、 职责和请示汇报关系可以分派给个人或者集体。这些个人与集体可以是项目实施组织的一部分,也可以来自组织外部,通过人员招聘 、 借用等方式获得。实施组织往往与某个具体职能部门相关,例如,工程部门 、 销售部门或者财务部门,通过与职能经理协商 、 谈判等方式获得。软件项目组织一般由担当各种角色的人员所组成。每
分类: 其他 发布时间: 09-07 22:14 阅读次数: 0

系统架构设计笔记(70)—— 软件运行评价与过程改进

1 软件运行评价软件的运行与评价是指软件开发结束后交付用户使用,用户在实际使用中对软件是否符合开发时制定的一系列评价标准进行打分,看是否满足了用户的使用要求。通常,关注如下几点 :(1)软件的稳定性和可靠性评价软件的稳定性,指软件在一个运行周期内 、 在一定的压力条件下,软件的出错几率 、 性能劣化趋势等,并观察其运行环境内的应用服务器 、 数据库服务器等系统的稳定性。从用户角度看,软件在使用过程中如果出现系统故障 、 系统反应速度慢等就表明软件本身的可靠性需要提高。通常在软件交付用户使用前都要进行
分类: 其他 发布时间: 09-07 22:14 阅读次数: 0

系统架构设计笔记(71)—— 信息系统概述

信息系统( Information System , IS )一般泛指收集 、 存储 、 处理和传播各种信息的具有完整功能的集合体。在这里,信息系统并没有强调收集 、 存储 、 处理和传播信息所用的工具。一般意义上的信息系统在任何时代 、 任何社会都会存在,然而,只有到了今天,信息系统的概念才被创造出来,并得到相当程度的普及,这是因为,在当今社会,信息系统总是与计算机技术和互联网技术的应用联系在一起,因此,现代的信息系统总是指以计算机为信息处理工具 、 以网络为信息传输手段的信息系统。因此,现如今说到的信息
分类: 其他 发布时间: 09-07 22:14 阅读次数: 0

说说 Canvas 的旋转功能

首先我们先来看看两个函数。1 setTransform()画布上的每个对象都拥有一个当前的变换矩阵。利用 setTransform() 我们可以缩放、旋转、移动以及倾斜当前对象。setTransform() 方法会把当前的变换矩阵重置为单位矩阵,然后以相同的参数运行 transform()。语法:context.setTransform(a,b,c,d,e,f);参数描述a水平缩放绘图b水平倾斜绘图c垂直倾斜绘图d垂直缩放绘图e水平移
分类: 其他 发布时间: 09-07 22:13 阅读次数: 0

说说 Canvas 的缩放功能

使用 scale() 方法可以缩放当前绘图。语法:context.scale(scalewidth,scaleheight);。参数描述scalewidth缩放当前绘图的宽度 (1=100%, 0.5=50%, 2=200%, 依次类推)scaleheight缩放当前绘图的高度 (1=100%, 0.5=50%, 2=200%, 依次类推)context.strokeRect(5,5,25,15);context.scale(2,2);context.strokeR
分类: 其他 发布时间: 09-07 22:13 阅读次数: 0

系统架构设计笔记(72)—— 信息系统工程

1 信息系统工程的概念系统是由相互作用和相互依赖的若干部分,按一定规律结合成的 、 具有特定功能的有机整体。系统有下述特性:(1)集合性系统是由许多元素有机地组成的整体。每个元素服从整体,追求全局最优。(2)相关性系统的各个组成部分之间是互相联系 、 互相制约的。(3)目的性任何系统都是有目的和目标的。(4)层次性一个系统往往由多个部门(或部分)组成。每个部门可看作一个小的系统,称为子系统,子系统之下又可划分为子子系统。系统具有层次结构。(5)环境适应性任何系统都是存在并活动于一个特定
分类: 其他 发布时间: 09-07 22:13 阅读次数: 0