
技术总结
ITCharge
高效率编程,慢节奏生活。
展开
-
STL_queue_的应用-2013年8月22日11:34:10
调用的时候要有头文件: #include 或#include + #include 详细用法:定义一个queue的变量 queue que 查看是否为空范例 que.empty() 是的话返回1,不是返回0;从已有元素后面增加元素(入队) que.pu转载 2013-08-22 11:34:58 · 785 阅读 · 0 评论 -
Floyd判圈算法(龟兔赛跑算法)【模板】
问题:如何检测一个链表是否有环,如果有,那么如何确定环的起点.转载 2014-04-25 10:46:27 · 1501 阅读 · 0 评论 -
动态规划(2)-完全背包【模板】
问题描述有N件物品和一个容量为V 的背包。放入第i件物品耗费的空间是C[ i ],得到的价值是W[ i ]。求解将哪些物品装入背包可使价值总和最大。 基本思路每种物品仅有一件,可以选择放或不放。用子问题定义状态:即F[i,v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是: F[i,v] = m原创 2014-05-04 21:36:32 · 946 阅读 · 0 评论 -
动态规划(1)-01背包【模板】
问题描述有N件物品和一个容量为V 的背包。放入第i件物品耗费的空间是Ci,得到的价值是Wi。求解将哪些物品装入背包可使价值总和最大。基本思路每种物品仅有一件,可以选择放或不放。用子问题定义状态:即F[i; v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方程便是:F[i,v] = max { F[i-1,v],F[i-1,v-Ci] + Wi}原创 2014-05-02 19:22:17 · 1148 阅读 · 0 评论 -
动态规划-最长递增序列(LIS)【模板】
问题描述:给出一个数列,找出其中最长的单调递减(或递增)子序列。例如,{10,22,9,33,21,50,41,60,80} LIS的长度是6和 LIS为{10,22,33,50,60,80}。最优子结构:对于长度为N的数组A[N] = {a0, a1, a2, …, an-1},假设假设我们想求以aj结尾的最大递增子序列长度,设为L[j],那么L[j] = max(L[原创 2014-03-05 17:17:29 · 1802 阅读 · 0 评论 -
浪潮之巅——读书笔记+摘录+感悟
1原创 2014-08-18 21:25:43 · 1514 阅读 · 0 评论 -
线段树
线段树共有如下几种:1.插入点型对于这种线段树,通常是向线段树中插入点,即对应一个叶子节点的信息,而线段树中所有节点也都是记录的关于以该点为根的子树中已插入的点的统计信息,询问通常是问线段树中某个区间对叶子节点的统计信息。2.线覆盖型对于这种线段树,与第三种有一下共同特点:所有询问和插入操作都是以区间为单位的,每次都是对一个区间进行操作。每个节点通常会用一个变量来记原创 2014-07-13 19:55:42 · 854 阅读 · 0 评论 -
算法导论学习_数论
算法导论学习_数论原创 2014-08-18 19:17:46 · 1010 阅读 · 0 评论 -
二进制法表示集合
简单说就是把集合用一个数表示:[1,4,5]就表示为25,25就是集合[1,4,5].为什么呢?25表示成二进制是11001,第1,4,5位是1,就说明集合中含有1,4,5这三个数,其余位是0,则表示集合中不含其它数。这样表示对吗?答案是肯定的。因为,对于一个集合,任意一个数只有两个状态,属于or不属于,0表示不属于,1表示属于,完全可以。再就几个例子:集合原创 2014-06-23 10:18:59 · 2478 阅读 · 0 评论 -
你已经够矮了,那就爬到一个高处!(转)
文/GayScript----------------如果你在网上搜索“NOIP2007全国一等奖获奖名单”应该能在江苏省那边看到我的名字,大概是在全省第四十多名。你再往上看几个名字,会发现另一个与我同校的男生,叫孙。那年我们班上去复试的有十来个,但一等奖的就两个,一个我290分,一个是孙300分。别的最高分就只有120分了。孙的编程特别厉害,属于那转载 2014-05-29 22:44:33 · 1007 阅读 · 0 评论 -
ACM个人零碎总结
DAG ——无回路原创 2014-06-19 09:57:46 · 804 阅读 · 0 评论 -
常用排序方法(C语言)
一、选择排序 输入:数组名称(也就是数组首地址)、数组中元素个数 ===================================================== 算法思想简单描述: 在要排序的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环 到倒数第二个数和最后一个数比较为止。 选择转载 2014-01-29 14:42:02 · 1130 阅读 · 0 评论