![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日算法
2999KK
这个作者很懒,什么都没留下…
展开
-
整数划分问题 dp 动态规划
原文:https://blog.csdn.net/u013377068/article/details/79765694#comments假设我们有一个整数n,我们要对它在约束条件不同的情况下进行划分。1.把n划分成不小于m(且为正整数)的划分数2.把n划分成为k个正整数的划分数3.把n划分成k个奇数的划分数1.把n划分成不小于m(且为正整数)的划分数———————————————————————...转载 2018-04-01 21:23:22 · 709 阅读 · 0 评论 -
cout输出控制
cout输出格式控制如果要在输出流中加入格式控制符则要加载头文件:#include <iomanip> 这里面iomanip的作用比较多: 主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常见的控制函数的:dec 置基数为10 相当于"%d"h...转载 2018-05-08 11:31:21 · 1546 阅读 · 0 评论 -
Floyd - Warshall(弗洛伊德算法)
简介:Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。eg:暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费及方便计划旅程,小哼希望在出发前知道任意两个城市之...原创 2018-07-12 21:23:38 · 64973 阅读 · 32 评论 -
Bellman-ford(解决负权边)
Dijkstra 算法虽然好,但是他不能解决带有负权边的(边的权值为负数)的图,下面我们就来说一下几乎完妹求最短路径的算法Bellman-ford。Bellman-ford算法也非常简单,核心代码只有几行,并且可以完美的解决带有负权的图,先来看看这个核心代码吧for(int k = 1 ; k <= n - 1 ; k ++){ for(int i = 1 ; i < ...原创 2018-07-13 10:58:22 · 16971 阅读 · 13 评论 -
Highways(Zoj 2433)
题目链接 HighwaysTime Limit: 2 Seconds Memory Limit: 65536 KB Special JudgeIn a distant country Lineland there...原创 2019-01-10 21:08:55 · 232 阅读 · 0 评论 -
POJ 1125 Stockbroker Grapevine(floyd算法)
原文链接题目大意:众所周知,股票经纪人对谣言反应过度。你被委托开发一种在股票经纪人之间散布虚假信息的方法,使你的雇主在股票市场上获得战术优势。为了达到最大的效果,你必须以最快的速度传播谣言。 对你来说不幸的是,股票经纪人只信任来自他们“可信来源”的信息,这意味着你在开始谣言时必须考虑他们的联系结构。一个股票经纪人要把谣言传到他的每个同事身上需要一定的时间。你的任务将是编写一个程序,...原创 2019-01-13 17:44:06 · 324 阅读 · 0 评论 -
An Easy Problem?! (POJ 2826)(计算几何线段直线的相关应用)
题目链接题目:It's raining outside. Farmer Johnson's bull Ben wants some rain to water his flowers. Ben nails two wooden boards on the wall of his barn. Shown in the pictures below, the two boards on the w...原创 2019-01-08 15:56:41 · 162 阅读 · 0 评论 -
牛客OI周赛7-普及组(A 救救猫咪)
题目描述 某天,一只可爱的肥橘喵在路上走,突然遇到了一个怪人,那怪人自称PM6,“小肥喵,这里有一道水题,答对了我就请你吃狗肉,答错了你就请我吃猫肉!”喵咪瑟瑟发抖:“QAQ什么题?”PM6道:“给你坐标轴上的N个点,求出对于每个点,有多少个点的 X 坐标和 Y 坐标都大于它。”毫不意外,蠢肥喵完全不会这道题并面临着被做成猫肉火锅的危险,求求你救救喵咪!输入描述:输...原创 2019-02-26 19:26:33 · 247 阅读 · 0 评论 -
牛客OI周赛7-普及组(B 救救兔子)
题目链接题目描述某天,一只可爱的小兔砸在路上蹦蹦跳跳地走着,怪人PM6出现了,于是小兔子被盯上了。PM6:“免子。哦不,小兔子。你长得真好…不对,真可爱。我这里有一道很容易很容易的题目,答对了我就请你吃萝卜,答错了你就请我吃兔肉,好不好呀~~?”小兔砸:“萝卜!?好呀好呀好呀。”于是笨笨的兔纸入套了。PM6:“我这里有一个由 N 个数组成的序列,给你 M 个询问,每个询问会给你...原创 2019-02-26 20:27:06 · 211 阅读 · 0 评论 -
牛客OI周赛7-普及组(C救救企鹅)
题目链接题目描述:另一天,一只可爱的围着围巾的肥企鹅在路上摇摇晃晃地走着,遇上了迎面走来的打着饱嗝的PM6。小企鹅预感不妙,这不就是最近有名的恶人PM6么!吓得立刻扭头就想跑。PM6:“小火汁,站住!我不吃你(谁叫你是保护动物)。我这有一道简单题,如果你答对了,我就给你吃鱼肉,如果你答错了,就免费帮我充游戏币!”企鹅:“_(:3J∠)_(默默摘掉围巾)”PM6:“我给你一个文本...原创 2019-02-26 20:44:24 · 240 阅读 · 0 评论 -
C++中find函数用法
C++中STL里提供了许多字符串操作的函数,下面是字符串查找方面的部分函数用法简介:1.find()查找第一次出现的目标字符串:#include<iostream>#include<cstdio>using namespace std;int main(){ string s1 = "abcdef"; string s2 = "de";...转载 2019-02-26 20:55:51 · 2118 阅读 · 0 评论 -
矩阵快速幂
POJ 3070 矩阵快速幂FibonacciTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 18051 Accepted: 12550DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥...原创 2018-05-08 10:23:39 · 134 阅读 · 0 评论 -
KMP算法
说明KMP算法看懂了觉得特别简单,思路很简单,看不懂之前,查各种资料,看的稀里糊涂,即使网上最简单的解释,依然看的稀里糊涂。 我花了半天时间,争取用最短的篇幅大致搞明白这玩意到底是啥。 这里不扯概念,只讲算法过程和代码理解:KMP算法求解什么类型问题字符串匹配。给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。 如下面两个字符串:char...转载 2018-05-04 17:44:57 · 122 阅读 · 0 评论 -
KMP 算法
原文链接 :https://blog.csdn.net/starstar1992/article/details/54913261 学到了,博主写的很好,容易理解。说明KMP算法看懂了觉得特别简单,思路很简单,看不懂之前,查各种资料,看的稀里糊涂,即使网上最简单的解释,依然看的稀里糊涂。 我花了半天时间,争取用最短的篇幅大致搞明白这玩意到底是啥。 这里不扯概念,只讲算法过程和代码理解:KMP算...转载 2018-04-09 21:03:24 · 133 阅读 · 0 评论 -
Google面试题-高楼扔鸡蛋问题
本文由 @lonelyrains 出品,转载请注明出处。 文章链接: http://blog.csdn.net/lonelyrains/article/details/46428569高楼扔鸡蛋问题 这个问题很有名了 早几年之前面试的时候都遇到过,但是当时也确实没搞清楚怎么做,后来也没管了。今天网上偶然碰到,打算趁这个机会彻底搞清楚,就写一篇博文吧。网上很多资料,但我感觉都不太易懂,每一步的...转载 2018-04-02 16:03:47 · 420 阅读 · 1 评论 -
C语言中的算术运算符和算术表达式
C语言中的算术运算符和算术表达式C语言中运算和表达式的数量很多,C语言正是因为丰富的运算符和表达式使其语言功能十分完善。C语言的运算符不仅具有不同的优先级,还有结核性。在表达式中,各运算表达量参与运算的先后要遵守运算符优先级别的规定,也要受运算符结合姓的制约,以便确定是自左向右还是自右向左进行运算。这种结合性,增加了C语言的复杂性。一、C语言运算符简介C语言的运算符可以分为以下几类:1.算术运算符...转载 2018-04-16 19:16:40 · 15448 阅读 · 1 评论 -
异或运算符
口诀:相同取0,相异取1简介:它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为...原创 2018-04-16 19:23:38 · 2505 阅读 · 0 评论 -
博弈论
转_博弈论(比较全)博弈论(一):Nim游戏重点结论:对于一个Nim游戏的局面(a1,a2,...,an),它是P-position当且仅当a1^a2^...^an=0,其中^表示位异或(xor)运算。Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。Nim游戏是组合游戏(Combinatorial Games)的一种,...转载 2018-04-16 19:27:40 · 817 阅读 · 0 评论 -
c语言常用头文件以及内部函数
ctype.h 字符处理函数: 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换 ---------------------------------------- 字符测试是否字母和数字 isalnum 是否字母 isalpha 是否控制字符 iscntrl 是否数字 isdigit ...转载 2018-04-16 19:41:38 · 3147 阅读 · 0 评论 -
全排列函数 next_permutation
B DEFA + — + ——— = 10 C GHI(如果显示有问题,可以参见【图1.jpg】)这个算式中A~I代表1~9的数字,不同的字母代表不同的数字。比如:6+8/3+952/714 就是一种解法,5+3/1+972/486 是另一种解法。这个算式一共有多少种解法?思路:我们可以用一个全排列函数next_permutation来解决这样的问题...原创 2018-03-29 16:54:43 · 299 阅读 · 0 评论 -
单调递增最长子序列模板 Longest Ordered Subsequence
题目 :A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence ( a1, a2, ..., aN) be any seq...原创 2018-04-18 17:16:26 · 137 阅读 · 0 评论 -
最小生成树-Prim算法和Kruskal算法
假设以下情景,有一块木板,板上钉上了一些钉子,这些钉子可以由一些细绳连接起来。假设每个钉子可以通过一根或者多根细绳连接起来,那么一定存在这样的情况,即用最少的细绳把所有钉子连接起来。更为实际的情景是这样的情况,在某地分布着N个村庄,现在需要在N个村庄之间修路,每个村庄之前的距离不同,问怎么修最短的路,将各个村庄连接起来。以上这些问题都可以归纳为最小生成树问题,用正式的表述方法描述为:给定一个无方向...转载 2018-04-13 21:40:00 · 190 阅读 · 0 评论 -
快速幂求a的b次方
快速幂的目的:快速求幂 ,a的b次方。平常我们算一个a的b次方的时间为O(b),也就是O(n)的时间复杂度,当然,如果b很大时,我们是不是就没法下手了,时间就会很多,导致超时,我们可以用快速幂算法来将时间复杂度降低点儿,降低为O(log n )就是最好的答案。假设我们要求a^b,那么其实我们可以把b拆成二进制来运算,就是把幂拆分,该二进制的第 i 位的权为2^(i-1) ,例如当 b = 11 时...原创 2018-05-04 14:43:44 · 8734 阅读 · 2 评论 -
C语言实现快速幂
快速幂取模算法所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余)。在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快、计算范围更大的算法,产生了快速幂取模算法。(求a的b次方,b很大很大)先从简单的例子入手:算法1.首先直接地来设计这个算法:int ans = 1;for(int i = 1;i<=b;i++){ ...原创 2018-05-04 16:47:50 · 6266 阅读 · 10 评论 -
STL 优先队列
一、相关定义 优先队列容器和队列一样,只能从队尾插入元素,从队首删除元素。 为什么能叫优先队列呢??因为它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并不是完全一样的遵循先进先出的原则来进行的,而是将队列中最大的元素出队。这点有点儿类似于给队列里元素先进行一个排序,再按照顺序出队。元素的比较规则默认按照元素值由大到小排序,我们可以重载 "<" 操作符...转载 2019-03-23 17:39:28 · 5057 阅读 · 0 评论