ZOJ3545 Rescue the Rabbit】的更多相关文章

密码 众所周知,密码在信息领域起到了不可估量的作用.对于普通的登陆口令,唯一的破解 方法就是暴力破解一逐个尝试所有可能的字母组合,但这是一项很耗时又容易被发现的工 作.所以,为了获取对方的登陆口令,在暴力破解密码之前,必须先做大量的准备工作.经 过情报的搜集,现在得到了若干有用信息,形如: "我观察到,密码中含有字符串***." 例如,对于一个10位的密码以及串hello与world,可观察到的字符能的密码组合为 helloworld与worldhello;而对于6位的密码以及观察到的…
分析 未知定长串中不同已知模板串的出现次数问题,一般做法是AC自动机上dp. 考虑背包,\(dp(i,j,k)\)表示当前串长为\(i\),在AC自动机上对应节点\(j\),已匹配的模板串的状态为\(k\)的情况是否出现.用刷表法向后转移.先枚举不定串长度,再枚举AC自动机上节点,然后枚举已知状态,最后枚举字母边转移. 时间复杂度\(O(l \cdot MaxNode \cdot 2^n \cdot SigmaSize)\).第一维可以滚动,空间复杂度\(O(MaxNode \cdot 2^n)…
Rescue the Rabbit Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2036    Accepted Submission(s): 591 Problem Description Dr. X is a biologist, who likes rabbits very much and can do everythin…
地址:http://acm.hdu.edu.cn/showproblem.php?pid=4057 题目: Rescue the Rabbit Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2233    Accepted Submission(s): 653 Problem Description Dr. X is a biolo…
Rescue the Rabbit Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1412 Accepted Submission(s): 403 Problem Description Dr. X is a biologist, who likes rabbits very much and can do everything for…
题目大概是给几个DNA片段以及它们各自的权值,如果一个DNA包含某个片段那么它的价值就加上这个片段的权值,同时包含多个相同DNA片段也只加一次,问长度l的DNA可能的最大价值. 与HDU2825大同小异. dp[i][j][S]表示长度i(自动机转移i步).后缀状态为自动机第j个结点.包含的DNA片段为集合S 的DNA最大价值 dp[0][0][0]=0 我为人人转移,从dp[i][j][S]向ATCG四个方向更新dp[i+1][j'][S'] 注意的是要用滚动数组,不然要开上百兆数组. 用滚动…
题目链接 一个数组开小了一点点,一直提示wa,郁闷,这题比上个题简单一点. #include <iostream> #include <cstring> #include <cstdio> #include <queue> #include <algorithm> #include <cstdlib> using namespace std; #define N 1001 #define INF 1000000 ]; int que[…
Dr. X is a biologist, who likes rabbits very much and can do everything for them. 2012 is coming, and Dr. X wants to take some rabbits to Noah's Ark, or there are no rabbits any more. A rabbit's genes can be expressed as a string whose length is l (1…
挺有意思的一道题目,解法是AC自动机+DP.AC自动机建立fail指针时,一定要注意结点的属性也需要传递.AC自动机结合了trie和kmp的优点.需要注意的是,每个模式串仅计算一次,否则这题很难解. /* 4057 */ #include <iostream> #include <sstream> #include <string> #include <map> #include <queue> #include <set> #inc…
标题效果: 鉴于DNA有一个正确的顺序值.请构造一个长度I的DNA在这个序列使DNA正确的顺序值极大.它被认为是负的输出噼啪. .. IDEAS: 施工顺序是,ac己主动机上走,求最大要用到dp dp[i][j][k] 表示如今构造到了长度 i . 此时的我们把当前字符放在j节点.而且满足了k状态.k是一个10位的2进制状态压缩. 注意这道题上有坑就是一个序列可能有多个权值. 所以不能直接赋值.须要用位或. #include <cstdio> #include <iostream>…
模板来自notonlysuccess. 模式串只有10个,并且重复出现的分值不累加,因此很容易想到状态压缩. 将模式串加入AC自动机,最多有10*100个状态. dp[i][j][k]:串长为i,在Trie图上的状态为j,已经包含的模式串为k(二进制表示,第x位为1代表已经包含第x个串). dp[i][j][k]为true或false代表该状态是否可达. 沿着Trie图中的边走进行DP,时间复杂度O( 100*1000*1024 ); 最后枚举一下串长为L的所有可达状态,最大值即为结果. PS.…
题意 给出n(n<=10)个串,每个串有个权值,然后让你构造一个长度为l(l<=100)的串,如果他包含给出的串就得到相应的权值,求可能得到的最大权值 解法 AC自动机+DP,很显然要建立自动机,然后在上面跑,如果不要求每个串的权值只能获取一次,那么直接跑来跑去的就行,但是因为只能取一次,串很少,可以状态压缩DP,dp[i][j][k]记录前i个字符走到j状态并且已经获得的串状态为k时的最优解.需要滚动数组优化空间-- #include<cstdio> #include<cs…
http://acm.hdu.edu.cn/showproblem.php?pid=4057 题意:给出n个子串,串只包含‘A’,'C','G','T'四种字符,你现在需要构造出一个长度为l的串,如果这个串里面包含了某个子串,那么答案就会+val[i](如果这个串被使用过了,就不会再有贡献了),要使得构造出来的串的答案最大,问是多少. 思路:只能想到是AC自动机的题目,然后乱搞出一个错误的方法,没想到是这样的操作. n只有10,因此才1024,开一个dp[l][sz][st]的数组,l代表当前的…
AC自动机 转载自:小白 还可参考:飘过的小牛 1.KMP算法: a. 传统字符串的匹配和KMP: 对于字符串S = ”abcabcabdabba”,T = ”abcabd”,如果用T去匹配S下划线部分是当前已经匹配好的前缀,当c和d不匹配时: S:abcabcabdabba            T:abcabd 传统的算法是将T串向后移动一个单位,然后重新匹配.如果利用KMP算法则直接将T向后移动3位,即: S:abcabcabdabba            T:       abcabd…
What's Aho-Corasick automaton? 一种多模式串匹配算法,该算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一. 简单的说,KMP用来在一篇文章中匹配一个模式串:但如果有多个模式串,需要在一篇文章中把出现过的模式串都匹配出来,就需要Aho-Corasick automaton算法了. My Understanding About Aho-Corasick automaton   我的理解:Aho-Corasick automaton = Trie + KMP…
1.The 2011 ACM-ICPC Asia Dalian Regional Contest ZOJ 3545 Rescue the Rabbit  简单的AC自动机+状压DP, 状态DP[node][mask]!…
不久前发布了一篇博文".NET轻量级RPC框架:Rabbit.Rpc",当初只实现了非常简单的功能,也罗列了之后的计划,经过几天的不断努力又为Rabbit.Rpc增加了一大波新特性,今天主要介绍下项目近况. 特性一览 Apache License 2.0协议开源 支持客户端负载均衡(提供了轮询.随机算法的实现) 支持ZooKeeper和文件共享形式的服务协调 运行时客户端代理生成(基于Roslyn) 预生成客户端代理 客户端代理预生成(基于Roslyn) 抽象的编解码器(提供了JSON…
Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2145    Accepted Submission(s): 1622 Problem Description 大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商场,不去逛…
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议.采用 Erlang 实现的工业级的消息队列(MQ)服务器. RabbitMQ的官方站:http://www.rabbitmq.com/        AMQP(高级消息队列协议) 是一个异步消息传递所使用的应用层协议规范,作为线路层协议,而不是API(例如JMS),AMQP 客户端能够无视消息的来源任意发送和接受信息.AMQP的原始用途只是为金融界提供一个可以彼…
最近准备写一个.NET的管理平台应用在公司,由于存在大量的Client => Server,Server => Client的请求需求在加上之前一直接触了解过RpcClient组件的开发,所以就造了个新轮子Rabbit.Rpc.这篇文章也用于介绍这个新组件. 什么是RPC? RPC全称为:Remote Procedure Call Protocol,远程过程调用协议. 用.NET的技术可以理解为:Remoting.WCF.主要目的就是:实现服务的远程调用.远程执行,当然既然有协议那么其它语言(…
本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作. Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 instance 的状态保存到宿主机的磁盘上.当需要恢复的时候,执行 Resume 操作,从磁盘读回 instance 的状态,使之继续运行. 这里需要对 Suspend 和 Pause 操作做个比较: 相同点两者都是暂停 instance 的运行,并保存当前状态,之后可以通过 Resume 操作恢复…
/**古典问题: * 有一对兔子,从出生后第三个月起每个月都生一对兔子, * 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死, * 问每个月的兔子总数为多少? * 程序分析:兔子的规律为数列:1,1,2,3,5,8,13,21... */import java.util.Scanner; public class Rabbit { public static void main(String[] args){  int num =1, month;  int tmp1 = 1,tmp2…
某天,开启一个应用时,发现连接rabbitmq失败,本来想用rabbitmqctl来查看队列,结果提示“Error: unable to connect to node rabbit@mail: nodedown”,执行任何命令,重启都不管用.然后,针对这个错误,去查找原因,有人说是因为计算机名被修改的原因造成的.因此,打开/etc/hosts文件,还原为最初的计算机名,默认应该是localhost.但是,改文件必须得重启机器,才能生效,没办法,只能执行hostname localhsot命令来…
什么是RabbitHub? RabbitHub 是专门针对 .NET 平台所设计.研发的一套相对完整的插件开发框架,它是由一个内核两大框架多个组件及一系列的开发时支持而构成. RabbitHub 架构图: 它为了解决什么? 一般公司内部的产品肯定是多元化的,而拥有的开发团队也不止一支,这样以来各个开发团队内部所使用的框架多多少少有一些不一致,从而导致技术无法共享.各个团队之间无法进行技术交流的僵局,各个团队还有可能对相差无几的功能重复开发,甚至导致服务器部署环境的不一致,浪费宝贵的资源与时间.…
http://www.cnblogs.com/shanyou/p/4067250.html 这篇博文写的rabbit mq和erlang的安装以及rabbitmq可视化插件的一些操作 接下去开始安装PHP扩展 amqp 下载地址为: http://windows.php.net/downloads/pecl/releases/amqp/1.4.0/php_amqp-1.4.0-5.4-ts-vc9-x86.zip 我下的是1.4.0版本,推荐下载ts版本的DLL,我一开始用nts,出现了以下错误…
Rabbit and Grass Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3864    Accepted Submission(s): 2919 Problem Description 大学时光是浪漫的,女生是浪漫的,圣诞更是浪漫的,但是Rabbit和Grass这两个大学女生在今年的圣诞节却表现得一点都不浪漫:不去逛商场,不去逛…
在上一篇文章<RabbitHub开源情况及计划>上有提及到了一个新的开源项目——微信SDK,经过几天的努力现在开源发布Beta1版本. 目录 前言 特点 功能 支持的消息类型 请求消息 事件消息 响应消息 消息处理中间件 支持的API 暂不支持的API 关于性能 关于易扩展性 关于易使用性 关于架构 消息处理 请求消息 事件消息 响应消息 消息格式化器 开源信息 Get By Nuget 测试的微信号 交流方式 写在最后 前言 在某一个傍晚,与头为产品历经一个下午的讨论的结束而得出一个新的id…
每个程序猿都有一个框架梦,曾经在2013年8月15日写过一篇"Koala Framework是什么?我为什么要写这个框架?"的文章,在开放框架路上迈出了第一步,之后作者如愿找到了一份相对满意的工作,此时 Koala Framework 改名为 RabbitHub,并在该公司内部使用了一年多的时间之后的今天"RabbitHub(兔窝)" 家族中的老大哥 "Rabbit Kernel(兔子内核)" 正式与大家见面了. 什么是RabbitHub? Ra…
装了Ubuntu和Window双系统的电脑,通常会使用Ubuntu的Grub2进行引导. Grub2会在MBR写入引导记录,并将引导文件放在/boot/grub,破坏任意一项都会导致系统无法正常启动. 当系统因引导失败而无法正常启动时,可以使用Windows的安装光盘或Grub Rescue恢复引导. // 造成引导失败的原因:    1.在window下格式化linux的分区 2.调整磁盘,利用工具整合 修改 删除分区 使磁盘的分区数目,格式发生变化 3.重装系统; 使用Grub Rescue…
Rescue The Princess Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Several days ago, a beast caught a beautiful princess and the princess was put in prison. To rescue the princess, a prince who wanted to marry the princess set out immedia…