
基础
文章平均质量分 58
yuukilp
Full Of Curiosity
展开
-
algorithm头文件里的函数
非修改性序列操作(12个)循环对序列中的每个元素执行某操作for_each()查找在序列中找出某个值的第一次出现的位置find()在序列中找出符合某谓词的第一个元素find_if()在序列中找出一子序列的最后一次出现的位置find_end()转载 2014-04-19 12:03:35 · 3310 阅读 · 0 评论 -
图论中dfs判断是否可行一类问题的写法
有一次比赛中就是类似dfs染色判断是否可行,当时就蒙了!没写出来,今天贴一小段代码,虽然说特别傻逼哈~ bool dfs(int u,int pd){ c[u]=pd; //cout<<u<<" "<<pd<<endl; for(int i=1;i<=n;i++) if(G[u][i]){ if(c[i]!=-1) { if(c原创 2015-08-01 16:22:00 · 486 阅读 · 0 评论 -
网络流基础学习(Edmonds_Karp算法 )
网络流看了两天,终于有了一点眉目,也拿模版A了道题目,通过对于模版代码的调试也真正了解了ek算法的用途了。 想好好写下总结都不让人顺心,写到一半网站死了,又得重新写。。 不说废话了,直接正题首先要先清楚最大流的含义,就是说从源点到经过的所有路径的最终到达汇点的所有流量和EK算法的核心反复寻找源点s到汇点t之间的增广路径,若有,找出增广路径上每一段[容量-转载 2015-06-04 15:27:55 · 488 阅读 · 0 评论 -
Hashmap C++实现
了解一下hashmap的写法!(有时候出题人会故意卡这个~~) const int HASH = 1000007;struct HASHMAP{ int head[HASH],next[MAXN],size; long long state[MAXN]; void init() { size = 0; memset(he原创 2015-03-12 22:08:10 · 1343 阅读 · 0 评论 -
3个典型区间贪心问题(总结篇)
1.数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。 2.数轴上有n个开区间(ai,bi)。最多能有多少个互不相交的区间? 3.数轴上有n个区间[ai,bi],选择尽量少的区间覆盖一条指定线段[s,t]。 解法: 1. 贪心策略: 按照b1原创 2015-01-05 09:33:20 · 1167 阅读 · 0 评论 -
巡线小车源程序(MSP430,PID)
首先是各种宏定义的头文件#ifndef _Macro.h_#define _Macro.h_ #include #include #define uchar unsigned char #define uint unsigned int#define one 11.11#define LMAX 1999#define RMAX 3999#define CPU_F ((转载 2014-11-26 17:25:28 · 7929 阅读 · 4 评论 -
表达式树的构建(详解)
表达式树的建立:原创 2014-10-02 11:23:02 · 3817 阅读 · 0 评论 -
最近公共祖先LCA离线算法
引用 hihocoder 题 离线原创 2014-10-26 22:25:06 · 594 阅读 · 0 评论 -
最近公共祖先LCA Tarjan算法
个人觉得十分不错的转载 2014-08-30 10:50:58 · 514 阅读 · 0 评论 -
博弈问题,sg函数初步学习例题解析
UVALive/LA 5059 Play with Stones 组合游戏/SG定理转载 2014-08-22 10:42:07 · 854 阅读 · 0 评论 -
博弈问题的初步学习
例子: 甲乙两人面对若干堆石子,其中每一堆石子的数目可以任意确定。例如图1所示的初始局面:共n=3堆,其中第一堆的石子数a1=3,第二堆石子数a2=3,第三堆石子数a3=1。两人轮流按下列规则取走一些石子,游戏的规则如下:每一步应取走至少一枚石子;每一步只能从某一堆中取走部分或全部石子;如果谁无法按规则取子,谁就是输家。转载 2014-08-20 23:10:15 · 757 阅读 · 0 评论 -
位运算经典总结(转)
位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的转载 2014-07-08 00:12:03 · 564 阅读 · 0 评论 -
最小生成树算法 prim算法
最小生成树是数据结构中图的一种重要应用,它的要求是从一个带权无向完全图中选择n-1条边并使这个图仍然连通(也即得到了一棵生成树),同时还要考虑使树的权最小。 prim算法就是一种最小生成树算法。普里姆算法的基本思想:从连通网N={V,E}中的某一顶点U0出发,选择与它关联的具有最小权值的边(U0,v),将其顶点加入到生成树的顶点集合U中。以后每一步从一个顶点在U中,而另一个转载 2014-06-07 10:53:11 · 697 阅读 · 0 评论 -
SPFA算法
介绍: 单源最短路径的算法最常用的是Dijkstra,些算法从时间复杂度来说为O(n^2),但是面对含有负权植的图来说就无能为力了,此时Dellman-ford算法就有用了,这咱算法是采用的是动态规化的思想,但是1994年西南交通大学段凡丁发表了SPFA(ShortestPath FasterAlgorithm)听这个名字就懂了,这种算法在时间上一定很快了。它是对Dellman-for转载 2014-06-05 22:12:51 · 585 阅读 · 0 评论 -
常用数据结构(十种)
一、栈: 1、后缀表达式的求值; 2、中缀到后缀表达式的转换; 3、深度优先搜索的非递归实现; 4、动态规划的优化:用于维护一个凸序列,便于二分查找,如LIS问题的O(nlgn)算法。 二、队列: 1、树的层序遍历; 2、广度优先搜索; 3、Bellman-Ford算法的SPFA实现; 4、网络流中FF算法的Edmonds-Karp实现,以及Preflo转载 2014-04-25 23:48:12 · 688 阅读 · 0 评论 -
codechef April challenge (1)(学习去优化时间效率???)
此处给大家分享俩题目!原创 2014-04-26 12:13:55 · 926 阅读 · 0 评论 -
线段树基础题
线段树基础题(题)转载 2014-04-20 10:51:27 · 682 阅读 · 0 评论 -
霍夫曼编码及实现
什么是霍夫曼编码: 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。用处: 压缩文本构造思路: 根据给定的nn个权值WiW_i,构成原创 2015-10-22 11:06:15 · 1089 阅读 · 0 评论