随笔分类 -  acm-算法题

关于透明度设置
摘要:1.浏览器兼容问题,一般是两种写法都写上 (1)ie : filter:alpha(opacity:80); (2)firefox : opacity:0.8; 2.鼠标移动上去改变连接透明度 a:hover { filter:alpha(opacity:30); opacity:0.3; } 阅读全文

posted @ 2016-08-12 15:01 后端bug开发工程师 阅读(307) 评论(0) 推荐(0)

python开发中常见的小坑
摘要:(1)可变参数类型作为函数参数默认值,函数参数默认值的设置在Python中只会被执行一次,也就是定义该函数的时候。 解决办法,设置为None,然后判断 (2)Python中的变量名解析遵循所谓的LEGB原则,也就是“L:本地作用域;E:上一层结构中def或lambda的本地作用域;G:全局作用域;B 阅读全文

posted @ 2016-04-24 23:55 后端bug开发工程师 阅读(721) 评论(0) 推荐(0)

hdu 4381(背包变形)
摘要:题意: 给定n个块,编号从1到n,以及m个操作,初始时n个块是白色。 操作有2种形式: 1 ai xi : 从[1,ai]选xi个块,将这些块涂白。 2 ai xi:从[ai,n]选xi个块,将这些块涂白。 可以忽略某些操作且如果区间内没有足够的黑块(黑块用于涂白),则不能进行这个操作。 分析: 写 阅读全文

posted @ 2014-07-19 15:19 后端bug开发工程师 阅读(785) 评论(0) 推荐(0)

hdu 4301(基本dp)
摘要:题意:就是给你一块2*n的巧克力,让你把它分成x块,并且每一个单位的巧克力各不相同,问有多少种分法? 分析:用dp[i][j][k],表示到巧克力的第二列时,巧克力被分成了j快,k用来表示第i列上下两块是分开的还是在一起的,在纸上把所有的情况画一下,于是就得到状态方程: dp[i][j][0]=(d 阅读全文

posted @ 2014-07-18 10:20 后端bug开发工程师 阅读(365) 评论(0) 推荐(0)

poj 3270(置换群)
摘要:题意:给定n头母牛的脾气大小,然后让你通过交换任意两头母牛的位置使得最后的母牛序列的脾气值从小到大,交换两头母牛的代价是两个脾气之和,使得代价最小。 分析:以前做过一道题,只有一个地方和这道题不同,但是实际意思确是天壤之别,这里是任意两头牛都可以交换,而以前那道题是只能交换相邻的。以前那道题是hdu 阅读全文

posted @ 2013-10-29 22:00 后端bug开发工程师 阅读(688) 评论(0) 推荐(0)

poj 1026(置换群)
摘要:题意:给你一个变换规则,和一个字符串,问经过k次变换后得到的字符串。 思路:开始的时候试图去找它的整个周期,谁知道周期太大了,各种RE,后来在得知此题需要用置换群来优化,第一次接触置换群学习了下! 代码实现: 阅读全文

posted @ 2013-09-04 17:42 后端bug开发工程师 阅读(938) 评论(0) 推荐(0)

poj 4052(ac自动机)
摘要:题意:自己百度吧!! 分析:就是通过它的fail指针来找出它的子串就行了,这题其实不难的。这好像还是金华邀请赛的题哦! 代码实现: 阅读全文

posted @ 2013-08-05 12:55 后端bug开发工程师 阅读(917) 评论(2) 推荐(0)

hdu 2457(ac自动机+dp)
摘要:题意:容易理解... 分析:这是一道比较简单的ac自动机+dp的题了,直接上代码。 代码实现: 阅读全文

posted @ 2013-08-05 12:16 后端bug开发工程师 阅读(402) 评论(0) 推荐(0)

hdu 2825(ac自动机+状态压缩dp)
摘要:题意:容易理解... 分析:在做这道题之前我做了hdu 4057,都是同一种类型的题,因为题中给的模式串的个数最多只能为10个,所以我们就很容易想到用状态压缩来做,但是开始的时候我的代码超时了dp时我们由dp[i][j][k]枚举其后接的字符转移到dp[i+1],在枚举前判断下是否有dp[i][j] 阅读全文

posted @ 2013-08-05 12:10 后端bug开发工程师 阅读(457) 评论(0) 推荐(0)

hdu 4057(ac自动机+状态压缩dp)
摘要:题意:容易理解... 分析:题目中给的模式串的个数最多为10个,于是想到用状态压缩dp来做,它的状态范围为1-2^9,所以最大为2^10-1,那我们可以用:dp[i][j][k]表示长度为i,在trie树上的状态为j,压缩后的状态为k时的情况,知道怎么压缩之后这道题就是一道简单的ac自动机+压缩dp 阅读全文

posted @ 2013-08-05 11:59 后端bug开发工程师 阅读(304) 评论(0) 推荐(0)

hdu 3341(ac自动机+状态压缩)
摘要:题意:容易理解... 思路:首先一开始容易想到要用到dp,开设一个dp[41][41][41][41][501]的数组来解决,但是明显内存已经超出范围了,于是就想如何减少内存呢?只要知道A、T、C、G其中三个的个数,则另一个也能算出,于是空间可以缩小到:41*41*41*500,但是还是不行啊!想了 阅读全文

posted @ 2013-08-05 11:43 后端bug开发工程师 阅读(663) 评论(0) 推荐(0)

hdu 2296(AC自动机+dp)
摘要:题意:容易理解... 分析:这个题我做了几天,不是说这个题有多难,而是因为我太水了(比较两个字符串的大小都弄错了)。首先是状态转移方程,这个还是比较容易的:dp[i][j]=dp[i-1][k]+(这个点的权值);如果是单纯的让你求出最大的权值,那就比较简单了,但是题意让你输出的事权值最大的字符串, 阅读全文

posted @ 2013-05-16 23:51 后端bug开发工程师 阅读(494) 评论(2) 推荐(0)

hdu 2243(Trie图(AC自动机)+DP+矩阵乘法+恶心取模)
摘要:题意:容易理解... 思路:就是poj 2778的加强版吧,实现的思想差不多,在做这道题之前建议先做poj 1625、poj 2778,这三道题是同一种题型吧!出现过给定的单词的单词数=总单词数-未出现过给定单词的单词数,前者等于26^1+26^2+26^3....26^l,后者等于A^1+A^2+ 阅读全文

posted @ 2013-05-05 19:32 后端bug开发工程师 阅读(342) 评论(0) 推荐(0)

poj 2778(Trie图(AC自动机)+DP+矩阵乘法)
摘要:题意:容易理解... 思路:这个之前做的poj 1625差不多,只是1625是属于大数的,用矩阵乘法不好做(会爆栈),直接DP就行,这一题需要用到矩阵乘法来提高程序运行效率,要注意的地方就是取模运算挺慢的所以要尽量减少这种运算,开始的时候我一直RE,原来是因为m=0的时候没有考虑到。在做这题之前建议 阅读全文

posted @ 2013-05-05 12:08 后端bug开发工程师 阅读(324) 评论(0) 推荐(0)

poj 1625(Trie图(AC自动机)+DP+精度计算)
摘要:题意:首先输入三个整数:n,m,p;n代表总共有n个字母,m代表字符串的长度为m,p代表病毒字符串的个数;题目让你求的是不包含病毒的字符串长度为m的个数为多少。 思路:这个题让我意识到我自己是有多么的水啊,中南一大牛花了一天的时间自己想出来并且解决它,而我花费了一个星期的时间把别人的代码看懂了,啊! 阅读全文

posted @ 2013-05-02 20:54 后端bug开发工程师 阅读(873) 评论(1) 推荐(0)

hdu 2896(AC自动机)
摘要:题意:其实我觉得题意是不明确的,而且测试数据很水,各种错误代码也能够AC。 分析:我认为还有一种理解:就是为连续匹配,模式串中不能出现交叉重复,如:有两种病毒:ab,ba,网站名是:aba答案是web 1: 1 ;total: 1我很纠结!!因为AC代码的答案是:web 1: 1 2;total 1 阅读全文

posted @ 2013-04-23 18:28 后端bug开发工程师 阅读(262) 评论(0) 推荐(0)

AC自动机题目
摘要:hdu 2222 、hdu 2896、hdu 2243、hdu 2296、hdu 3341、hdu 3065、hdu 4117、hdu 3247、hdu 2825、hdu 4057 hdu 2457、hdu 3489、hdu 3901、poj 2778、poj1625、poj 1204、poj 36 阅读全文

posted @ 2013-04-23 15:35 后端bug开发工程师 阅读(407) 评论(10) 推荐(0)

hdu 2222(AC自动机第一题)
摘要:题意:首先输入n个单词,然后输入一个字符串,题目要求的事在传中可以找到几个开始输入的单词。 分析:这是我做的第一个AC自动机模板题,对于刚开始学习AC自动机的人我推荐两个资料:第一个:file:///C:/Users/Administrator/AppData/Local/Temp/360zip$T 阅读全文

posted @ 2013-04-22 21:52 后端bug开发工程师 阅读(571) 评论(0) 推荐(0)

导航