- 博客(42)
- 收藏
- 关注
原创 BFS广度优先搜索——入门
BFS——广度优先搜索广度优先搜索是通过对图的完全遍历来达到要求的点的算法。其对图的遍历是如同波浪一样,每层按照制定的方式一层一层向下搜。如:5542552423423441411267534在以3为
2016-10-26 21:03:57 5203
原创 数据结构字符串匹配——KMP算法
传统的字符串匹配1.思路:重头开始,依次将主串与次串相比较。如果相同则比较主串与次串的下一个字符;如果不同,则回溯至之前主串比较的后一个字符,再与次串进行一对一比较,直至主串比完。2.代码实现:#include#include#include#includeusing namespace std;int main(){ char name1[100] = {"
2016-10-19 21:45:31 847
原创 递归,递推,迭代的含义
递归,递推,迭代的含义递归:程序调用自己的编程技巧叫做递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递推:递推算法是一种用若干步可重复的简运算(规
2016-10-12 21:18:00 9203 2
原创 动态规划——数位dp入门(二)
对数字整体进行考虑的处理方法较为简单的数位dp只会涉及到每一位上的数字变化,如比较相邻数字差,是否含有某个数字等等,在这种情况下一般用dp【i】【j】就可以,i表示数字长度,j用来表示首位数字。如果题目要求对数字整体进行考虑,我们不能对各个位置上的数直接判断,就需要对每位之前判断过的数进行记忆化存储。
2016-10-09 20:04:36 453
原创 动态规划——数位dp入门(一)
动态规划——数位dp(入门)数位dp一般用来解决:求在某一数据范围内的满足某项特征的数的个数这类问题。在dp数组中,一般第一项i用于表明
2016-10-05 19:33:53 787
原创 优先队列入门
C++ Priority_Queue(优先队列)优先队列是一种具有优先级的队列,对常规的队列取值是基于先进先出的顺序,而在优先队列中,选择具有了优先性。
2016-10-02 14:49:05 1189
原创 HDU4292 Food(基础最大流)
FoodTime Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] [Discuss]Description You, a part-time dining ser
2017-06-05 18:02:02 381
原创 hdu3338 Kakuro Extension(较难,好题) [最大流][数和]神奇最大流行进列出
Kakuro ExtensionTime Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main Special Judge[Submit] [Status] [Discuss]DescriptionIf
2017-05-18 20:46:26 703
原创 hdu2732 Leapin' Lizards(较难) [最大流]
Leapin' LizardsTime Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] [Discuss]DescriptionYour platoon of wa
2017-05-17 21:49:02 297
原创 hdu3572 Task Schedule(基础) [最大流]任务分配,判断满流
Task ScheduleTime Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] [Discuss]DescriptionOur geometry princes
2017-05-16 22:17:26 537
原创 poj3281 Dinig(最大流)
DiningTime Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] [Discuss]DescriptionCows are such finicky eat
2017-05-16 22:09:49 333
原创 3549 Flow Problem(入门) [最大流]
Flow ProblemTime Limit: 5000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] [Discuss]DescriptionNetwork flow is a wel
2017-05-16 22:03:50 319
原创 hdu1532 Drainage Ditches(入门) [最大流]
Drainage DitchesTime Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %I64d , %I64u Java class name: Main [Submit] [Status] [Discuss]DescriptionEvery time it rai
2017-05-16 21:58:19 231
转载 拓扑排序的原理及其实现(转)
原文:http://blog.csdn.net/dm_vincent/article/details/7714519本文将从以下几个方面介绍拓扑排序:拓扑排序的定义和前置条件和离散数学中偏序/全序概念的联系典型实现算法Kahn算法基于DFS的算法解的唯一性问题实际例子取材自以下材料:http://en.wikipedi
2017-05-15 20:06:37 562
原创 CSU 1780 简单的图论问题?
原网址:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1780Description给一个 n 行 m 列的迷宫,每个格子要么是障碍物要么是空地。每个空地里都有一个权值。你的 任务是从找一条(r1,c1)到(r2,c2)的路径,使得经过的空地的权值之和最小。每一步可以往上下 左右四个方向之一移动一格,但不能斜着移动
2017-05-04 18:32:04 795
原创 C - Monkey and Banana HDU - 1069
[kuangbin带你飞]专题十二 基础DP1;网址:https://cn.vjudge.net/contest/68966#problem/CC - Monkey and Banana HDU - 1069 题意:给你n个长方体以及每个的长宽高,这些长方体的数量无限且可以任意旋转。长方体可以叠放在长和宽都比它大的长方体上(不能都相等),问最高能叠多高。
2017-04-14 19:29:17 739
原创 HDU 1029 Ignatius and the Princess IV(基础dp(思维))
[kuangbin带你飞]专题十二 基础DP1网址:https://cn.vjudge.net/contest/68966#problem/BIgnatius and the Princess IV HDU - 1029 题意:给你n个数,让你求其中出现了大于等于(n+1)/2次的数。没用dp,设置两个变量x,y。x存数,y存次数。每次输入一个数
2017-04-09 17:26:25 343
原创 HDU 1024 Max Sum Plus Plus(基础dp)
[kuangbin带你飞]专题十二 基础DP1;网址:https://cn.vjudge.net/contest/68966#problem/A A - Max Sum Plus Plus HDU - 1024 Now I think you have got an AC in Ignat
2017-04-09 14:47:36 335
原创 hrbust1003 Tiles of Tetris, NOT!
原题网址:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1003Tiles of Tetris, NOT! Time Limit: 1000 MSMemory Limit: 65536 KTotal Submit:
2017-03-31 10:40:50 588
转载 DSP程序优化方法
1、选择合适的算法和数据结构 选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。 在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数组索
2017-03-30 21:50:19 1019
原创 hrbust1002 Examination
原题网址:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1002ExaminationTime Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 3032(989 us
2017-03-29 12:56:05 732
原创 hrbust1001 Probability One
原题网址:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1001Probability OneTime Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 3209(13
2017-03-29 12:41:48 548
原创 hrbust1000 A + B Problem
原题网址:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1000A + B ProblemTime Limit: 1000 MSMemory Limit: 65536 KTotal Submit: 15298(430
2017-03-29 12:27:49 520
转载 RMQ
1. 概述RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。2.RMQ算法对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大
2017-02-17 19:38:59 231
转载 求逆元的几种方法
http://blog.csdn.net/xwxcy/article/details/51493193(数学渣,下面的文字可能有误,欢迎指教)乘法逆元的定义貌似是基于群给出的,比较简单地理解,可以说是倒数的概念的推广。记a的关于模p的逆元为a^-1,则a^-1满足aa^-1≡ 1(mod p)加减乘与模运算的顺序交换不会影响结果,但是除法不行。有的题目要求结果mod一个大质
2017-01-31 15:29:17 13373
转载 乘法逆元
乘法逆元定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元。为什么要有乘法逆元呢?当我们要求(a/b) mod p的值,且a很大,无法直接求得a/b的值时,我们就要用到乘法逆元。我们可以通过求b关于p的乘法逆元k,将a乘上k再模p,即(a*k) mod p。其结果与(a/b) mod p等价。证:(其实很简单。。。)根据b*k≡1 (mod p
2017-01-31 15:21:38 247
原创 UVALive 7505 Hungry Game of Ants (2015Ecfinal)
链接:http://vjudge.net/contest/143339#problem/F题意:有n个蚂蚁依次排列在长为n-1的绳子上,且蚂蚁大小与其位置相同(位置1的蚂蚁为1,位置n的蚂蚁为n),每个蚂蚁能选择一直向左走或向右走(走到头时反向),蚂蚁速度相同,当蚂蚁相遇时,体积大的吃掉体积小的并继续移动(瞬间吃掉),问使第k个蚂蚁为最后获胜的可能有多少种(总共2^n种可能).
2016-12-02 21:55:12 985 2
原创 打素数表高效方法(线性)
#include#include#include#includeusing namespace std;bool visit[10100000];//将是素数的数标记为1(注:从0开始,0,1也被标记了)int prime[1000000];//将素数依次存入(从下标1开始存)int init_prime(int number){ memset(visit, true,
2016-11-25 21:22:38 446
原创 poj 2002 (hash map)
SquaresTime Limit: 3500 MSMemory Limit: 65536 KB64-bit integer IO format: %I64d , %I64u Java class name: Main[Submit][Status][Discuss]DescriptionA square is a 4-sided polygon who
2016-11-16 20:13:26 299
原创 读入带空格的字符串方法(小知识)
1.用gets()直接读入.2.用scanf("%[^\n]",essay);(essay为字符数组名称);#include#includeint main(){ char name[1000]; memset(name,NULL,sizeof(name)); scanf("%[^\n]",name); printf("%s\n",name);
2016-11-10 21:49:44 2429
原创 codeforces第一次GYM经历
昨天参加了codeforces的GYM,从21.10——2.10,因为寝室会定时断电,所以我和队友只好在实验室打(同时也是第一次在实验室住的经历,汗。。)。 a题很快就水过了,发现J题有人过,就去看J题,但是没咋看懂(题目描述的实在太奇葩,后面看懂了发现也是一个水题),于是开始找其他题。这个时候门管来查房了(实验室晚上不让住,而且前天发生了有实验室电脑被偷的事件,就更要
2016-11-03 15:28:02 4340
转载 【HDU5895【公式转化 矩阵快速幂 欧拉定义】Mathematician QSC 递推数列前n平方项和 (转)
给了我一种构造矩阵的新思路,值得学习哦。Mathematician QSCTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 372 Accepted Submission(s): 196Problem
2016-10-31 19:18:26 352
原创 2016ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学) 1003 Recursive sequence(题解)
Recursive sequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 98 Accepted Submission(s): 46Problem DescriptionFarmer John lik
2016-10-30 19:01:51 1572 1
原创 hdu1757 A Simple Math Problem(矩阵快速幂题解)
A Simple Math ProblemTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4280 Accepted Submission(s): 2570Problem DescriptionLele now
2016-10-30 15:38:59 429
原创 hdu1495 非常可乐(题解)
非常可乐Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11563 Accepted Submission(s): 4664Problem Description大家一定觉的运动以后喝可乐是一件很惬意的事情,但
2016-10-23 22:48:17 695
原创 hrbust1621 迷宫问题(bfs+优先队列)
迷宫问题IITime Limit: 1000 MSMemory Limit: 32768 KTotal Submit: 243(64 users)Total Accepted: 88(55 users)Rating:Special Judge: NoDescription小z身处在一个迷
2016-10-22 15:18:21 641
原创 hrbust 1955 数独
数独Time Limit: 2000 MSMemory Limit: 32768 KTotal Submit: 80(23 users)Total Accepted: 29(20 users)Rating:Special Judge: NoDescription数独应该是一个大家都玩过的
2016-10-22 15:07:05 619
原创 hrbust 1143 泉水
hrbust 1143 泉水Description Leyni是一个地址调查员,有一天在他调查的地方突然出现个泉眼。由于当地的地势不均匀,有高有低,他觉得如果这个泉眼不断的向外溶出水来,这意味着这里在不久的将来将会一个小湖。水往低处流,凡是比泉眼地势低或者等于的地方都会被水淹没,地势高的地方水不会越过。而且又因为泉水比较弱,当所有地势低的地方被淹没后,水位将
2016-10-22 15:04:15 1669
原创 HRBUST 1012 Catch That Cow
HRBUST 1012 Catch That Cow 链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1012题目:Catch That CowTime Limit: 2000 MSMemory Limit: 65536 KB64-bit integer
2016-10-22 14:40:42 506
转载 矩阵 快速幂 (转载)
矩阵 快速幂矩阵的快速幂是用来高效地计算矩阵的高次方的。将朴素的o(n)的时间复杂度,降到log(n)。这里先对原理(主要运用了矩阵乘法的结合律)做下简单形象的介绍:一般一个矩阵的n次方,我们会通过连乘n-1次来得到它的n次幂。但做下简单的改进就能减少连乘的次数,方法如下:把n个矩阵进行两两分组,比如:A*A*A*A*A*A => (A*
2016-10-16 20:22:09 264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人