自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

转载 暑期天天练(一)

题目链接:http://acm.hust.edu.cn/vjudge/contest/127776#overview一。模拟题意是给n个操作,一个初始值x,操作包括对这个x加一个数或减去一个数,输出x最终值,和不能执行减操作的次数。注意当输入一个字符时,要用getchar把输入缓冲区里的'\n'吃掉。#include <bits/stdc++.h>...

2016-08-12 14:07:00 117

转载 求一个数组中第K小的数

面试南大夏令营的同学说被问到了这个问题,我的第一反应是建小顶堆,但是据他说用的是快排的方法说是O(n)的时间复杂度,但是后来经过我的考证,这个算法在最坏的情况下是O(n^2)的,但是使用堆在一般情况下是O(n+klogn),最坏的情况是O(nlogn)把两种方法整理一下,我还是推荐使用小顶堆的方法,因为它不仅可以求第K大,还可以求前K大。。。一。快排。借用了快排的partit...

2016-05-17 19:51:00 252

转载 CCF 送货 + 欧拉路模板

#include <bits/stdc++.h>using namespace std;stack<int> st;vector<int> vec[10005];bool mp[10005][10005];int vis[10005],cp[10005];int n,m;void pd(int a)//先判断是不是联...

2016-04-23 10:29:00 109

转载 九度OJ1486 /POJ 1029/2012北京大学研究生复试上机

wa到死!wa到死!这是一个看着简单,坑及其多的题!坑一:POJ上是单组输入,九度上是多组输入,妈蛋要是研究生复试遇到这种大坑肯定死掉啊!而且对于codeforces比较习惯的   同学肯定会觉得巨坑无比。坑二:九度OJ上绝对有多余的空字符,什么getchar()都不要用,用cin输入跳过空格吧!POJ上是没问题的!坑三:有很多特殊情况,如果算法不好的话,wa的概率是很大...

2016-04-22 18:37:00 104

转载 Sublime Text 全程指南

原文链接。先记上。一位在Google工作的老学长原文链接:http://zh.lucida.me/blog/sublime-text-complete-guide/转载于:https://www.cnblogs.com/Norlan/p/5400850.html

2016-04-17 13:20:00 61

转载 浙江大学研究生机试题——奥运排序问题

分明是一道水题!!完全没有算法,模拟即可。然而在做这道题时无意中复习了一下关于函数对象的知识,所以这道题还是有意义的,另外对于C++不熟悉的话,写起来会比较烦。题目描述:按要求,给国家进行排名。输入:有多组数据。第一行给出国家数N,要求排名的国家数M,国家号从0到N-1。第二行开始的N行给定国家或地区的奥运金牌数,奖牌数,人口数(百万)。接下来一行给出...

2016-04-08 22:44:00 140

转载 C++中的基类和派生类

转载自:http://www.cnblogs.com/sujz/archive/2011/05/12/2044365.html派生类的继承方式总结:继承方式说明public基类的public和protected的成员被派生类继承后,保持原来的状态private基类的public和protected的成员被派生类继承后,变成派生类...

2016-04-04 12:13:00 202

转载 素数与素性测试(Miller-Rabin测试)

转载自Matrix大牛的博客 把代码翻译成C++http://www.matrix67.com/blog/archives/234题目链接:http://hihocoder.com/problemset/problem/1287  一个数是素数(也叫质数),当且仅当它的约数只有两个——1和它本身。规定这两个约数不能相同,因此1不是素数。对素数的研究属于数论范畴,你可以 看...

2016-04-03 17:55:00 145

转载 李开复:算法的力量

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算...

2016-02-20 11:27:00 37

转载 Linux下安装GCC5.3.0(亲测有效)

对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧。。知识不系统的坏处啊!首先,一般ubuntu上都预装了低级版本的Gcc,完全可以应付刷OJ时的C+Class+STL的风格,但因为寒假里非常固执地要看C++primer,所以只能把编译器升级到最新版本以符合C++11/14标准。安装GCC必备的几个东西:1。gcc5.3.0的源代码压缩包,这个...

2016-02-18 00:01:00 968

转载 终极二分查找--传说十个人写九个有bug

之前写过一篇极为罗嗦的二分查找,非常得意地以为以后就可以避免踩坑了,但是今天才知道二分查找可以写的既简洁又鲁棒,唉!还是要多学习啊!给一个按照从大到小的顺序排序好的数组a[]={1,2,3,4,7,7,7,8,9,10};用二分查找分别求等于4,大于7的第一个数,大于等于7的第一个数,小于7的最大的数,小于等于7的最大的数。如果写的不小心的话非常容易陷入死循环,有的时候写二分...

2015-12-09 09:46:00 84

转载 POJ2828---线段树与逆序数&&DUTOJ1210---逆序对构造排列

来看这样一道问题:http://acm.dlut.edu.cn/problem.php?id=1210题目大意:对于一个1-n的排列,a1,a2,a3,a4...an我们把满足i < j,ai > aj这样的数对(ai,aj)成为一个逆序对,另有一个数组b【i】记录aj = i这样的逆序对的个数,例如排列:3 1 5 2 4,对应的逆序数组b[1] = 1,b2[2]...

2015-12-03 18:02:00 70

转载 CCF软考---《有趣的数》

脑子一热报了CCF的软测。。但是又觉得好像并没有什么卵用,就当为蓝桥杯预热然后顺便去软件学院玩一玩吧,遇到一个有意思的题:time limits : 1s问题描述  我们把一个数称为有趣的,当且仅当:  1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。  2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。  3. 最高位数字不为0。 ...

2015-12-01 19:20:00 137

转载 HDU5584 LCM Walk 数论

LCM WalkTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 47Accepted Submission(s): 31Problem DescriptionA frog has just learned so...

2015-11-29 12:08:00 76

转载 ubuntu系统修改终端提示符及设置颜色高亮

Linux终端大家想必都清楚吧,最近在使用的时候发现在进入到某个文件夹目录比较深的层次后,终端提示的绝对路径很长,这样给人的感觉很不习惯,在这里给大家介绍下如何修改终端的提示,顺便介绍下提示符的颜色:  PS1变量简介  PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。  可以使用 man bash命令查看bash手册,找到该变量支持的特殊字符,以及这些...

2015-11-07 12:57:00 1056

转载 养成良好的编程风格--论二分查找的正确姿势

摘自:http://www.cnblogs.com/ider/archive/2012/04/01/binary_search.html在学习算法的过程中,我们除了要了解某个算法的基本原理、实现方式,更重要的一个环节是利用big-O理论来分析算法的复杂度。在时间复杂度和空间复杂度之间,我们又会更注重时间复杂度。时间复杂度按优劣排差不多集中在:O(1), O(log n), O...

2015-11-03 11:17:00 78

转载 HDU--3466(0-1背包+贪心/后效性)

题意是: 给你一些钱 m ,然后在这个国家买东西, 共有 n 件物品,每件物品有 价格 P 价值 V 还有一个很特别的属性 Q,Q 指 你如过想买这件物品 你的手中至少有这钱Q。 虽然你只要花费钱P ,但你的手中至少有钱Q,如果不足Q ,不能买。问给你钱M ,列出N件物品,最多能获得多少价值的东西。。。。这道题如果没有Q的限制的话就是一道01背包的水题,但是加上了...

2015-11-01 12:04:00 147

转载 POJ1182--带权并查集

带权并查集就是除了维护一个fa数组以外,维护一个rank数组,有两层含义,一个是路径压缩时边的权值,,再一个是当前点与根节点的相对关系。这个题很明显考察的是根节点与当前节点的一种相对关系,让rank【x】 = 0 ,1,2表示A,B,C三个种类的动物,在刚开始的时候,所有的动物的rank值都是0,表示还没有给他们安排关系,随着语句的输入,1xy表示把x,y置为相同值,2xy表示r...

2015-10-17 22:09:00 54

转载 HDU4821---字符串hash,map判重

这是2013年长春区域赛的铜牌题。。。然而第一次做的时候一直觉得会超时的。。最后才知道并没有想象中的那么恐怖;这题有两个注意的地方:(1)h[i] = h[i-1] * seed + s[i] - 'a' + 1;防止ab和aab的hash值相同;(后来感觉没必要,因为都是长度相等的串,但是长度不等的串就要注意了,所以还是写在这里吧);(2)unsigned long lon...

2015-10-16 20:58:00 124

转载 UVA11456--dp,LIS

这道题是个不错的dp题,可以放在区域赛签到题或者铜牌题。这题希望火车序列最长,我们可以想到,如果一辆车ai如果能被放上去,先不管之前放上了多少辆车,以及这辆车是什么时候放上去的,但是我们可以确定的是,以后能放的车的最大数量,这个是固定的,因为以后的车要么比ai大,要么比ai小,比ai大的放在ai的左边,比ai小的放在右面。但是可惜如果这辆车之前还有车的话,是会对以后产生影响的,所以我...

2015-10-12 21:50:00 78

转载 ZOJ3829---模拟,贪心

  这是2014年ACM亚洲区预赛牡丹江现场赛的一道题,铜牌题,可惜当时一路WA到死。。。只有乘法的后缀表达式的特点有两个:(1)数字的数量一定大于‘*’的数量(2)最后一位一定是‘*’;数字比*多的话,*怎么排列都无所谓,因为1111即可以看成4个1,也可以看成1111,总可以与‘*’结合。所以在模拟之前做以下预处理:(1)把缺少的数字补上(2)把最后一位1与前面的任何‘*...

2015-10-09 16:26:00 75

转载 JAVA大整数傻瓜入门

http://blog.csdn.net/skiffloveblue/article/details/7032290。。先记着转载于:https://www.cnblogs.com/Norlan/p/4856242.html

2015-10-05 20:50:00 51

转载 整数划分问题

问题:1. 将n划分成最大数不超过m的划分数。2. 将n划分成m个正整数之和的划分数。一。将n划分成最大数不大于m的划分法:即  n = n1 + n2 + n3+......nk  其中n1 >= n2 >= n3........>=nk;且n1 <= m;  1).若是划分多个整数可以存在相同的:  dp[n][m]= dp[n...

2015-10-02 19:04:00 86

转载 UVA10304---(区间DP)

第一开始想着枚举根节点,然后记忆化搜索。。结果TLE,最后还是看了一眼题解瞬间明白了。。唉,还是思维太局限了由于数据是按照从小到大排列的,可以自然地组成一颗二叉排序树。设dp[i][j]是区间[i,j]的元素可以组成的BST的最小值,则大区间的结果和根节点以及小区间的结果有关系,很明显区间DP,转移方程搭dp[i][j] = min{dp[i][k-1] + dp[k+1][...

2015-09-23 08:59:00 110

转载 UVA1218--树形DP

没有看书和题解做的一道树形DP题,思路很清晰。。只是debug上花了很久的时间才发现看错了条件。。并不是每个点都只能和一台服务器相邻,而是非服务器的点只能和一台服务器相邻。。看错了一个条件差距大了去了。。设d[u][col][fcol]代表节点为u,颜色为col,父亲节点为fa,颜色为fcol时的最小服务器数量。col值为1代表服务器,0代表计算机,则转移方程:d[u][1][x...

2015-09-16 21:12:00 60

转载 HDU--1074(状态压缩DP)

典型的状态压缩DP,给出了每件作业的截止时间和花费,求让老师扣分最少的写作业方式。把完成n种作业用状态2^n-1表示,dp[s]表示完成状态s时,最小扣分。比如“111”,那么可以由“011”,“110”,“101”转移过来,分别表示选了0,1号作业,1,2号作业,0,2号作业。t【s】表示状态S记录的总时间。dp[s] = min{dp[j]+c[k] - d[k]},其中j ...

2015-09-07 22:17:00 90

转载 UVA10817--状态压缩DP

第一次做状态压缩dp。。没有思路。。看书看明白的,不过看完发现汝哥的做法多算了一些东西,完全可以省去不算。。用两个集合,s1表示恰好有一个人教的科目,s2表示至少有两个人教的科目。d(i,s1,s2),表示考虑了前i个人时的最小花费,0-m-1必须全选上,m到m-n-1才有可能出现选或者不选的决策,状态转移方程:d(i,s1,s2)=min{d(i+1,s1,s2),fee[i]...

2015-09-02 21:11:00 108

转载 uva1220--树的最大独立集+判重

题意是挑选尽量多的人,并且每个人都不和他的父节点同时出现,很明显的最大独立集问题,难点在于如何判断方案是否唯一。详情请见刘汝佳《算法竞赛入门经典--第二版》P282#include<cstdio>#include<iostream>#include<algorithm>#include<vector>#inclu...

2015-09-02 15:28:00 113

转载 UVA12186--树型DP

树型DP第一题。。。就是从boss到底层员工是一个树型结构,底层员工想加薪,如果每个boss都有超过T%的员工要求加薪,他就会往更高的bOSs传达,问如果让根节点的大boss接到加薪要求,最少要有多少名员工提出加薪要求。d[u]表示u如果提出加薪,所需要的员工数,很明显,最底层的员工肯定都要求加薪,对每一个非叶子节点u,只要子节点的T%要加薪即可,那么为使总员工数最少,把u的子节点的d【...

2015-09-02 13:13:00 73

转载 HDU4171--bfs+树

第一开始想成了DP。尼玛后来才发现只有N条边,那就简单了。。从起点S遍历整棵树,从某点跳出来回到终点T,问最短路长度。然而从某点跳出时走过的路径是一个定值。。。。长度为整棵树的边长和sum*2-d1[i]。。然后求这个值加上回学校的路长的最小值就好了#include <iostream>#include <cstdio>#include &...

2015-09-02 09:59:00 78

转载 POJ3255--次短路

求1到N的次短路,到某个顶点v的次短路有两种可能,一是到其他某个顶点u的最短路+edge(u,v)二是到其他某个点u的次短路+edge(u,v);因此在松弛的时候不仅要记录最短路,同时也要记录次短路#include<cstdio>#include<iostream>#include<algorithm>#include<v...

2015-09-01 16:16:00 74

转载 计算一个二进制数中一的个数

问题描述:任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题1.移位+统计  这种方法的运算次数与输入n最高位1的位置有关,最多循环32次。int BitCount(unsigned i...

2015-08-27 10:23:00 195

转载 HDU3336——KMP算法

题意是问所有前缀出现的次数和,mod10007;想一想next数组代表什么意思,是从当前失配位置走到上一个匹配位置的后面,next[i]的值说明以当前位置为结尾,长度为next[i]的后缀,与以开头元素为起始,长度为next【i】的前缀是相同的,那么方法就很容易了,对于每个j = i,沿着next【j】往前走,到0为止,记录走过的次数,就是前缀的出现次数。#include...

2015-08-26 10:27:00 111

转载 HDU1841——KMP算法

这个题。。需要对KMP的模板理解的比较透彻,以前我也只是会套模板。。后来才知道。。之会套模板是不行的。。如果不能把握模板的每一个细节`,至少能搞清楚模板的每一个模块大体是什么意思。。题意是给出两个串,用这两个串组成一个新串,使新串包含这两个串,问这个新串的长度最小是多少,显然,对于两个串A,B,A如果是B的字串或者B如果是A的字串的话,直接输出那个母串的长度即可,如果没有这种关系,那...

2015-08-26 10:21:00 103

转载 POJ3630——简单Trie树

这个题的意思是说,给出一些字符串,判断是否有字符串是另一个字符串的前缀,当然可以用排序水过,不过这个题拿来练习一下Trie树不错。这个题在poj的discuss上好多人说必须要静态建树,估计都是用了指针实现的。。不过竞赛中最好不要用指针,所以这里用了刘汝佳大神的数组实现方法,其实Trie树最重要的是每个节点的sz值,以及val值,ch【】【】数组只是作为index来查询有没有这个字符...

2015-08-26 10:08:00 132

转载 Trie树模板

//支持插入N个字符串,查询一个字符串是否存在,插入和查询都是o(length);#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<iostream>using namespace std;const...

2015-08-23 11:02:00 70

转载 poj3349(哈希+链地址法)

给出N个六边形的6个边长,问其中是否有完全相同的两个六边形,完全相同包括边的长度和位置都要相同。边给出的顺序是逆时针或者顺时针的。给每个6边形一个哈希值,方法是对6条边长度的平方和取模#include<cstdio>#include<algorithm>#include<cstring>using namespace std;...

2015-08-21 10:53:00 156

转载 POJ3261-哈希

这个题让求至少出现K次的最大长度的子串,属于最大化最小值问题,首先应该想到二分求字串的长度,二分的过程是O(logN)的,注意judge的时候怎样判断是否满足情况以及满足情况后l,r的变化。可以给每一个子串定一个hash值,判断所有hash值中相同的是否超过K个,hash方法同BDKshash。。POJ数据略水。。a[i]的值远远没有到100W。。poj的字符串题一直感觉数据都不太好。。...

2015-08-20 15:21:00 58

转载 浅谈稳定完备婚姻的算法

  首先说明:本文不是讨论婚姻问题的,而是一篇以日常生活的婚姻问题为例子说明一个有趣的算法:Gale-Shapley算法(延迟认可算法),如果你为此感到失望的话,我将表示我的歉意,但是你如果有兴趣的话,还是建议你看一下,尤其是对于目前还没有个GF或BF的朋友以及就要结婚的朋友,在讲解算法的实现过程中,你会感到大有裨益。   话说在1962年,两个数学家David Gale 和Lloy...

2015-08-20 11:47:00 246

转载 POJ-1200(哈希)

2015-08-19题意:给出两个数n,nc,并给出一个由nc种字符组成的字符串。求这个字符串中长度为n的子串有多少种。分析:1.这个题不用匹配,因为不高效。2.将长度为n的子串看作n位的nc进制数,将问题转化为共有多少种十进制数字。3.哈希时,每一个字符都对应这0---nc-1的一个数字。代码: 1 #include<cstdio> 2 ...

2015-08-19 20:25:00 97

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除