自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liwei的专栏

记录生活与学习的点点滴滴

  • 博客(21)
  • 收藏
  • 关注

原创 BNU 34990 Justice String (hash+二分求LCP)

思路:枚举第一个字符串的位置,然后枚举最长公共前缀的长度,时间即会下降……#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#define mem(a,b) memset(

2014-09-30 16:57:03 981

原创 UVA 11019 字符矩阵哈希

思路:以前没做过字符矩阵的哈希,所以这题是看别人博客写的。#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#define mem(a,b) memset(a,b,size

2014-09-26 22:21:58 1309

原创 UVA 12338 哈希+二分最长前缀

每个字符串都哈希之后,二个之间二分出最长前缀!需要注意的是不能用数组存,会暴,用vector就行了。#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include#include#define m

2014-09-26 14:37:47 1221

原创 POJ 3261 整数的哈希方法

这题不同与字符串的哈希,我用了字符串的哈希方法从前面哈希的,然后一直WA,然后从后面往前哈希就A了,这个我还没明年为什么这样,奇了……先把这方法记下来吧。试一下前面字符串那题,应该也是可以从后往前的,以后就从后往前吧,比较保险,可能从前往后哈希冲突比较多吧。#pragma comment(linker, "/STACK:1024000000,1024000000")#include#inc

2014-09-23 16:20:05 998 2

原创 POJ 2774 哈希+二分长度

思路:这题一看就知道是后缀数组做的了,好像以前做过,不过现在专攻哈希,所以就用哈希做了。不过这题我真是要疯了!!!刚开始写的就对了,然后二分while循环那忘了写等号了,然后一直WA,尼玛,然后自己居然给出一组样例:bbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa这组的样例中的长度为6和7的时候哈希值居然不一样,然后输出了6;然后逗B的以为哈希是有bug

2014-09-22 22:38:48 1514

原创 NYOJ 35 表达式求值

一个模板了 哈哈/*这里主要是逆波兰式的实现,使用两个stack 这里用字符串来模拟一个stack,第一步,将中缀表达式转变为后缀表达式第二步,然后再使用一个stack,计算后缀表达式的结果,这一步很容易出错,考虑到浮点数的问题。*/#include #include #include #include #include #include using namespace s

2014-09-19 15:27:44 772

原创 ZOJ 3587 扩展KMP

思路:这题确实大帝做得很机智!字符串先求最长前缀,反的字符串再求一次最长前缀,然后就可以搞了。每个子串出现的次数就是最长前缀的次数嘛!#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#include#include

2014-09-18 22:05:20 887

原创 wikioi 1002 搭桥

题意:这题刚开始看错题意了,原来桥是建在一条直线上就行,不管距离多远。思路:dfs求第一问答案,然后最小生成树搞,不能建桥的边就设为INF就行了,然后如果用到INF的边就加上0就行了。这样跑一遍最小生成树就是答案。#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#inclu

2014-09-17 21:38:20 1050

原创 HDU 5008西安网络赛B题:后缀数组求第k小子串

思路:尼玛,这题搞了一天了,比赛的时候用了n^2的方法绝对T了,然后今天看别人代码看了一天才知道。后面感觉也挺容易的,就是没想到,之前做过SPOJ 694 705求过不同子串了,知道怎么求不同子串个数了,但是比赛的时候这个技巧竟然抛在脑后了,然后就不会了。但是今天自己用了自己的两个后缀数组的模板(倍增和DC3)的都WA了,搞得自己真想跳楼去了!!到现在都不知道到底是哪里错了,处理的方法和标

2014-09-15 20:56:36 2333

原创 codeblocks中对代码的三种测试时间方法

嘻……这几天周赛啥的卡时间太紧,别的队友优化常数太屌,所以只能学习下这个代码测试时间的方法了,上网找了两种方法,然后再加上队友的方法,三种都搬上来了。第一种:#includeint main(){ clock_t startTime=clock(); { //这里是我们要测试的代码; } clock_t endTime=clock();

2014-09-11 21:44:18 5598

原创 二进制输入或文件的读取

fread(*p,sizeof(datatype),number,FILE *file);说明:p是所要接收的类型变量,datatype是基本类型,number是要读取多少个,*file是文件名,或者指从哪里读取。*file可以是文件名或者标准输入输出。fwrite类似。例如:UVALive 6426int main(){ int s[105][105];

2014-09-11 20:37:23 1212

原创 动态规划专题

一.POJ 1157 小花店问题dp[i][j]表示前i朵花放入前j个瓶子得到的最大价值。因为要求j>i,所以有两种放法:(1)当i=j的时候dp[i][j]=v[1][1]+v[2][2]+v[i][j]+……(2)当j>i的时候dp[i][j]=max(dp[i][j-1],dp[i-1][j-1]+v[i][j]);#pragma comment(linker, "/ST

2014-09-10 14:11:10 803

原创 glibc中几个有用的处理二进制们的内置函数

说明:因为在牡丹江网络赛中看见北大AC非常简洁的代码里面把二进制用得是炉火纯青,在里面看见了处理二进制的函数,所以咱也学一下。(1)— Built-in Function: int __builtin_ffs (unsigned int x)Returns one plus the index of the least significant 1-bit of x, or

2014-09-09 22:07:43 1602

原创 stringstream对基本类型之间的方便转化

stringstream利用流,可以对基本类型之间进行很方便的转化。今天周赛标程里有,所以搜索了下,还觉得挺有用的,比sprintf好用,因为sprintf还要记住种种转换符号,烦都烦死了,这个利用流方便转化比较方便。直接贴代码:#include#include#include#include#includeusing namespace std;int main(){

2014-09-09 21:43:09 1467

原创 HDU 3879 最大密度子图

思路:见论文:《最小割模型在信息学竞赛中的应用》(胡伯涛著)PPT链接:http://wenku.baidu.com/view/6507a6fe2cc58bd63186bdaf.html里面有这题的建边和解决方法了。源点到点连边,容量为U(无限大);然后点与点之间连无向边,容量为p[i];然后点与汇点连边,容量为:U+2*p[i]-du[i]。这是根据论文中的建边方

2014-09-06 14:12:42 1077

原创 HDU 3879 最大树闭合图

思路:参照论文:《最小割模型在信息学竞赛中的应用》(胡伯涛著)PPT链接:http://wenku.baidu.com/view/6507a6fe2cc58bd63186bdaf.html里面建图和理解都比较清楚了。把边变成点,然后建二部图,源点向点连边,容量为p[i];点向边连边,容量为INF;边向汇点连边,容易为w[i];然后求最小割,即图中不用的点和边之和,也

2014-09-06 13:47:06 731

原创 POJ 3155 最大密度子图

题目大意:给出一个无向连通图, 找出一个子图,使该子图的边数与点数的比值最大。(最大密度子图)解题思路:1、解题思路及证明参照《最小割模型在信息学竞赛中的应用》(胡伯涛著)PPT链接:http://wenku.baidu.com/view/6507a6fe2cc58bd63186bdaf.html1、二分对最大密度进行枚举,建图时对原图的

2014-09-06 11:54:28 1019

原创 POJ 3621 最优比例生成环

题目大意就是找到一个环使得顶点权值之和与边权之和的比率最大首先,需要注意的是题目要求可以从任意一点开始,网上很多解题报告默认的从1点开始,虽然过了此题,但是显然是不太对的。由于题目是求的max,那么在边权变形后,用 SPFA求最长路,看是否出现正环, 然后根据这个进行二分查找。#pragma comment(linker, "/STACK:1024000000,102400

2014-09-04 16:33:00 917

原创 POJ 2976,3111 01分数规划

转自魏神:题目大意就 给定n个二元组(a,b),扔掉k个二元组,使得剩下的a元素之和与b元素之和的比率最大题目求的是 max(∑a[i] * x[i] / (b[i] * x[i]))  其中a,b都是一一对应的。 x[i]取0,1  并且 ∑x[i] = n - k;那么可以转化一下。  令r = ∑a[i] * x[i] / (b[i] * x[i])  则必然

2014-09-04 15:36:30 695

原创 POJ 2728 最优比率生成树

思路:转自魏神:   其实原题就是求 MIN( ∑CiXi / ∑DiXi ) Xi∈{0,1} ,对每个生成树,设其比率r=∑CiXi / ∑DiXi ,可得∑CiXi - ∑DiXi * r=0(条件1)   那么对于所有的生成树,显然∑CiXi - ∑DiXi * min(r) >= 0,当 ∑CiXi / ∑DiXi = min(r)时,等号成立。 而我们现在不

2014-09-04 15:07:23 755

原创 BNUOJ 34990 北京邀请赛最后一题

思路:这题看了题解说是后缀数组做的,然后自己就偿试了一下,唉……没想到不管是不管是倍增算法的后缀还是DC3算法的后缀都T了,实在无计可施了,可能只有哗然可以过了。不过比赛那天题解说是没有卡后缀的。只是比赛那天自己还不会后缀数组,所以这题自己根本就没有看到。因为后缀自己练得还比较少,这题正好用RMQ求任意两个后缀之间的最长公共前缀,所以自己就拿这题练手了,虽然T了,但是倍增的算法和DC3的算法都贴上

2014-09-03 22:18:33 848

空空如也

空空如也

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

TA关注的人

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