自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sxk

Fighting !!!

  • 博客(28)
  • 资源 (3)
  • 收藏
  • 关注

原创 hihoCoder挑战赛14-1224

题目链接:赛车解析:用down[]数组记录每个节点能向下走得最大深度,然后再枚举两个不在同一集合内的两点连接(若在同一集合,则会成环)。AC代码:#include #include #include #include using namespace std;int first[100005], nxt[100005], to[100005], e;

2015-08-31 19:17:01 690

原创 hihoCoder挑战赛14-1223

题目链接:不等式解析:直接枚举C的位置,然后判断所有C中所满足的最大个数。注意C没有讲是整数,所以枚举要+0.5实话说,我也不懂为什么枚举实数要这样枚举。。。AC代码:#include #include #include #include using namespace std;struct Node{ string p; d

2015-08-31 16:18:28 862

原创 ubuntu14.04下的chromium安装flash插件

在尝试很多网上的方法,大多数是拷贝 libflashplayer.so,尝试之后,时而有用,时而又不行了。最后还是从大牛处找到了命令。打开terminal:sudo apt-get install pepperflashplugin-nonfreesudo update-pepperflashplugin-nonfree --install成功解决~

2015-08-28 14:03:01 591

原创 FZU 2150 Fire Game (DFS + BFS)

题目链接:Fire Game题意:一块n*m的矩形中,‘#’代表是草,‘.'代表空地,空地点不着火。两个人同时开始点火,问最短多少时间能把所有草地点着,不能输出’-1‘。解析:先用dfs预判断草地的连通块数,超过2则无法全部点燃任选两个草地作起点,两者看作是一个整体,用bfs搜到起点到所有草地的最短时间,然后保留其中最长的时间在所有的最长时间中,选择最短的,即为所求。

2015-08-26 17:03:18 799

原创 POJ 3087 Shuffle'm Up (DFS)

题目链接:Shuffle'm Up题意:有a和b两个长度为n的字符序列,现定义操作:将a、b的字符交叉合并到一个序列c,再将c最上面的n个归为a,最下面n个归为b给出a,b和目标序列c,问最少多少次操作a、b转化为c解析:将a、b放入哈希表,然后模拟操作过程直接dfs即可。AC代码:#include #include #include

2015-08-25 21:36:58 735

原创 POJ 3126 Prime Path (BFS)

题目链接:Prime Path解析:两个长度为4的数字s和e,操作定义为:每步只能改变一位数字,并且改变后的数字必须为素数。问s最少经历多少次操作能变成e。先预处理筛出10000以内的素数每次操作可以对4个数字中的一个操作对于每个数字有10种可能性AC代码:#include #include #include #include #in

2015-08-25 09:55:49 594

原创 POJ 3414 Pots (DFS || BFS)

题目链接:Pots解析:给定两个水瓶的大小a和b,以及目标c,输出最短操作使某一水瓶中剩下c容量的水。操作包括倒空、倒满、两瓶互相倒。解法一:DFS枚举每次可行的方案,并对枚举的上限做了限制,即如果当前的枚举次数已经大于目前最小次数解就剪枝。AC代码:#include #include #include using namespace std;

2015-08-24 13:00:18 699

原创 HDU 1495 非常可乐 (DFS)

题目链接:非常可乐解析:一个瓶子,容量为s,两个杯子,容量分别为n和m,问最少多少次倾倒才能将一瓶可乐均分为两份。直接模拟每次的倾倒,然后递归求解。可以加个预判的条件,要是s是奇数的时候,无论如何也是分不均的。AC代码:#include #include #include using namespace std;int s, n, m, ans

2015-08-23 20:22:48 976

原创 HDU 1241 Oil Deposits (DFS)

题目链接:Oil Deposits解析:问有多少个“@”块,其中每个块内的各个“@”至少通过八个方向之一相邻。直接从“@”的地方开始向相邻八个方向搜索,每搜到一个格子,就将它替换成“.”,一次搜索就会搜索完一个块,记录搜索的次数为答案。AC代码:#include #include #include using namespace std;char

2015-08-23 17:33:18 527

原创 HDU 2612 Find a way (BFS)

题目链接:Find a way解析:使用两次bfs从“Y”和“M”的位置分别使用bfs搜出各自到所有“@”点的最短时间在遍历所有“@”点,求出最小的最短时间。AC代码:#include #include #include using namespace std;char mz[205][205];int vis[205][205],

2015-08-23 13:36:11 585

原创 UVA 11624 Fire! (BFS)

题目链接:Fire!解析:先用bfs处理出Fire到每个格子的最短时间。然后再使用bfs求出最短时间。注意:判断能否扩展的时候,要满足在格子着火之前才可以扩展。AC代码:#include #include #include #include using namespace std;const int maxn = 1000 + 5;char

2015-08-22 18:08:22 571

原创 POJ 3279 Fliptile

题目链接:Fliptile解析:先确定第一行的翻转方式,然后再判断是否存在解以及解的最小步数是多少。然后将第一行的所有翻转方式枚举一遍即可求出最优解。枚举的时候可以用整数表示集合。AC代码:#include #include #include #include using namespace std;const int dx[5] =

2015-08-21 13:29:34 603

原创 POJ 1426 Find The Multiple (DFS / BFS)

题目链接:Find The Multiple解析:直接从前往后搜,设当前数为k用long long保存,则下一个数不是k*10就是k*10+1AC代码:#include #include #include #include using namespace std;long long n;int DEEP;bool flag;void dfs(

2015-08-19 20:29:06 584

原创 POJ 2251 Dungeon Master (BFS)

题目链接:Dungeon Master解析:三维BFS模板题。6个方向开始想的太复杂了,水了好久,其实只要老老实照二维的套就完了。AC代码:#include #include #include #include #include using namespace std;int L, R, C;string m[32][32];bool

2015-08-19 19:31:31 513

原创 POJ 1321 棋盘问题 (DFS)

题目链接:棋盘问题解析:dfs暴力从上到下、从左到右搜索。AC代码://代码1#include #include #include using namespace std;int n, k, ans;char maze[10][10];bool vis[10][10];void dfs(int x, int y, int step){

2015-08-19 15:14:18 674

原创 POJ 3278 Catch That Cow (BFS)

题目链接:Catch That Cow解析:两个数n和k,三种操作:+1、-1、*2,问n最少经过多少次操作能和k相等。最简单的bfs模板了,注意+1的条件:x+1 -1的条件:x-1 >= 0*2的条件:x AC代码:#include #include #include #include #include using name

2015-08-19 11:52:07 596

原创 ZOJ 3494 BCD Code (AC自动机 + 数位DP)

题目链接:BCD Code解析:n个病毒串,问给定区间上有多少个转换成BCD码后不包含病毒串的数。非常神奇的题目。。经典的 AC自动机 + 数位DP 的题目。首先使用AC自动机,得到bcd[i][j]表示状态i,加了数字j以后到达的状态,为-1表示不能转移然后就是数位DP了注意记录为0的状态AC代码:#include #include

2015-08-18 13:35:32 1166

原创 HDU 3247 Resource Archiver (AC自动机 + BFS + 状态压缩DP)

题目链接:Resource Archiver解析:n个正常的串,m个病毒串,问包含所有正常串(可重叠)且不包含任何病毒串的字符串的最小长度为多少。AC自动机 + bfs + 状态压缩DP用最短路预处理出状态的转移。可以优化很多AC代码:#include #include #include #include #include using name

2015-08-18 11:39:04 733

原创 HDU 3341 Lost's revenge (AC自动机 + DP)

题目链接:Lost's revenge解析:n个模式串,一个目标串。问目标串通过任意次交换字符最多能包含的模式串个数。(允许重叠)字符最长是40只需要记录ACGT出现的次数。如果使用5维数组,显然超内存了。假设ACGT的总数分别为num[0],num[1],num[2],num[3]那么对于ACGT的数量分别为ABCD的状态可以记录为:  (网上大神讲的

2015-08-18 10:39:53 653

原创 ZOJ 3228 Searching the String (AC自动机)

题目链接:Searching the String解析:给一个长串,给n个不同种类的短串,问分别在能重叠下或者不能重叠下短串在长串中出现的次数。能重叠的已经是最简单的AC自动机模板题了。不能重叠的记录一下每个匹配的串的起始位置保证不重叠即可。AC代码:#include using namespace std;struct Trie{ int

2015-08-17 17:24:36 872

原创 HDU 2457 DNA repair (AC自动机 + DP)

题目链接:DNA repair解析:给出n个致病DNA序列,给一段DNA片段,问最少修改多少个碱基才能修复这段DNA序列中的所有致病序列。AC自动机 + DP。将n个致病DNA序列构成一个自动机。令DP[i][j]表示长度为i走到节点j是所需改变的最少个数。状态转移时,枚举下一步所有可能的碱基,然后判断该碱基是否达到匹配状态,若能,则安全转移,继续枚举下一个碱基;否则在

2015-08-17 11:49:59 645

原创 HDU 2296 Ring (AC自动机 + DP)

题目链接:Ring解析:m个有价值的串,字符串s在字符串str中的价值 = s在str中出现的次数 × s的价值。问价值最大的长度为n的串是什么。本题需要输出字典序最小的在DP的时候开一个数组记录结果即可。AC代码:#include #include #include #include #include using namespace std;

2015-08-15 17:37:25 635

原创 HDU 2825 Wireless Password (AC自动机 + 状态压缩DP)

题目链接:Wireless Password解析:给 m 个单词构成的集合,统计所有长度为 n 的串中,包含至少 k 个单词的方案数。AC自动机 + 状态压缩DP。DP[i][j][k]:长度为i的字符串匹配到状态j且包含k个magic word的可能字符串个数。AC代码:#include #include #include #include #

2015-08-15 16:09:43 676

原创 POJ 1625 Censored! (AC自动机 + 高精度 + DP)

题目链接:Censored!解析:AC自动机 + 高精度 + 简单DP。字符有可能会超过128,用map映射一下即可。中间的数太大,得上高精度。用矩阵快速幂会超时,简单的DP就能解决时间的问题。AC代码:#include #include #include #include #include #include using name

2015-08-13 22:50:51 726

原创 HDU 2243 考研路茫茫――单词情结 (AC自动机 + 矩阵快速幂)

题目链接: 考研路茫茫――单词情结做本题前,个人建议先做一下POJ 2778http://blog.csdn.net/u013446688/article/details/47378255POJ2778 是求长度为n,不包含模式串的字符串个数。而本题是求长度为n,包含模式串的字符串个数。直接用字符串总数减去不包含模式串的字符串个数即为所求。同样是

2015-08-10 15:39:26 1114 2

原创 POJ 2778 DNA Sequence (AC自动机 + 矩阵快速幂)

题目链接:DNA Sequence解析:AC自动机 + 矩阵加速(快速幂)。这个时候AC自动机 的一种状态转移图的思路就很透彻了,AC自动机就是可以确定状态的转移。AC代码:#include #include #include #include using namespace std;const int MOD = 100000;str

2015-08-09 18:23:19 982

原创 ZOJ 3430 Detect the Virus (AC自动机)

题目链接:Detect the Virus题意:n个模式串,一个文本串,问文本串包含几个模式串。解析:解码 + AC自动机。       解码过程:先将字符串转换成ASCII 然后根据相应的ASCII 转换成二进制,每一个是6位,不够加0,然后取8位为一个字符,求得的字符串为要的字符串。PS:注意sigma_size = 256AC代码:

2015-08-08 17:09:06 752

原创 HDU 3065 病毒侵袭持续中 (AC自动机)

题目链接:病毒侵袭持续中解析:用end数组标记病毒编号,用used数组记录各个病毒出现的次数,最后对应输出即可。AC代码:#include using namespace std;const int maxn = 1002;const int max_word = 52;const int max_text = 2000002;const i

2015-08-01 00:01:45 624

编译原理课程设计之编译器(完整代码 + 测试样例)

编译原理课程设计之编译器(完整代码 + 测试样例):包含了完整的编译器源代码和测试样例,内容上实现了一体化的词法分析 + 语法分析 + 语法制导翻译,最后生成对应汇编指令

2015-07-29

编译原理课程设计读书工程报告

编译原理课程设计读书工程报告:包含了编译原理课程设计中的大实验的各种架构计算法详解

2015-07-29

C++语言基础教程(网络课)复习题及答案(完整版)

C++语言基础教程(网络课)复习题及答案(完整版):包含了老师所给的全部复习资料及其未给出的部分答案

2015-07-29

空空如也

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

TA关注的人

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