UVA11736_Debugging RAM
题目绝对够水,我就不详细说明了。
直接上代码吧。只是提示一下要用 unsigned long long。
(不知道我不用字典树为什么会超时,肿么搞的)
#include <iostream>
#include <cstdio>
#include <cstring>
#define maxn 2300
#define ll unsigned long long
using namespace std; ll tag[],next[][],N;
char s[maxn];
ll g[maxn],dis,tot,now;
ll b,v,k,n;
ll f[maxn]; ll getcode(char cc)
{
if (cc>='a' && cc<='z') return cc-'a';
return cc-'A'+;
} void insert(ll x)
{
ll cur=,tep;
for (ll i=; s[i]; i++)
{
tep=getcode(s[i]);
if (!next[cur][tep]) next[cur][tep]=++N;
cur=next[cur][tep];
}
tag[cur]=x;
} ll find()
{
ll cur=,tep;
for (ll i=; s[i]; i++)
{
tep=getcode(s[i]);
if (next[cur][tep]==) return ;
cur=next[cur][tep];
}
return tag[cur];
} ll count()
{
ll ans=;
for (ll i=; s[i]; i++)
{
ans<<=;
if (s[i]=='') ans++;
}
return ans;
} int main()
{
while (scanf("%llu%llu",&b,&v)!=EOF)
{
dis=(<<b);
N=; tot=;
memset(next,,sizeof next);
memset(tag,,sizeof tag);
memset(f,,sizeof f);
memset(g,,sizeof g);
for (ll i=; i<=v; i++)
{
scanf("%s",s);
insert(i);
scanf("%llu",&g[i]);
tot+=g[i];
}
now=;
for (ll i=; i<=tot; i++)
{
scanf("%s",s);
k=count();
while (g[now]==) now++;
g[now]--;
f[now]=f[now]*dis+k;
}
scanf("%llu",&n);
while (n--)
{
scanf("%s",s);
k=find();
printf("%s=",s);
if (k) printf("%llu",f[k]);
printf("\n");
}
} return ;
}
UVA11736_Debugging RAM的更多相关文章
- Suspend to RAM和Suspend to Idle分析,以及在HiKey上性能对比
Linux内核suspend状态 Linux内核支持多种类型的睡眠状态,通过设置不同的模块进入低功耗模式来达到省电功能.目前存在四种模式:suspend to idle.power-on standb ...
- asp.net mvc4 简单的服务器监控开发之C#获取服务器CPU、RAM、TCP等系统信息(上)
一.背景 前段时间服务器出了点问题,加上学业愈来愈紧张,写博文分享的时间越来越少.虽然不是第一次在博客园上写经验,但是近期分享的博文得到了不少的朋友支持和指正,在这里内心非常感激和开心.希望以后能认真 ...
- RAM、DRAM、SD卡
catalogue . ROM.RAM.DRAM.SRAM和FLASH的区别 . 内存工作原理 . DRAM基本结构与原理 . SD卡基本结构与原理 1. ROM.RAM.DRAM.SRAM和FLAS ...
- RAM和ROM总结
RAM和ROM总结 一.在解释之前先备注一些缩写的全称便于记忆: 1.EPROM:(Electrically Programmable Read-Only-Memory)电可编程序只读存储器 2.EE ...
- RAM清理器
或许有些氨基小白不知道RAM是什么,官方的解释是"运行内存" 只要你的RAM够大,你玩什么都不卡! 今天给大家带来的就是 <RAM清理器>!!体积小,能量大就是我给他介 ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- 调试2440 RAM拷贝至SDRAM遇到的问题
汇编代码主要是初始化一些寄存器,关狗,初始化时钟,初始化存储管理器以便访问内存,然后将SoC上4k RAM数据拷贝至SDRAM,然后在SRAM里面运行,由于代码未正常跑起来,于是使用JLinkExe来 ...
- 手机的ROM,RAM是各自存放什么?所谓“运行内存”和“机身内存”究竟有什么区别?
手机的内存分为运行内存(RAM)和非运行内存(也叫机身内存.储存空间.ROM) 1.手机的内存,分为存储内存和运行内存,相当于电脑的硬盘和内存条.2.存储内存分为机身内存和存储卡.3.rom是存储内存 ...
- RAM与ROM
随着对计算机行业的深入了解,很多人开始听到一些RAM和ROM的讨论话题,之前我也不是很清楚,也不知道他和电脑的内存有什么联系.下面就让我们一起来学习一下这个吧. 首先RAM和ROM是什么 RAM和RO ...
随机推荐
- 2016-2017-2015329 《Java程序设计》第4周学习总结
学号 2016-2017-2015329 <Java程序设计>第4周学习总结 教材学习内容总结 面向对象有三大特性:封装.继承.多态 封装 封装是指,一种将抽象性函式接口的实例细节部份包装 ...
- 微信小程序判断按钮是否显示,或者隐藏
js中: onLoad:function(options) { this.setData({ orderstate:'待送检' }) }, WXML中: <view wx:if=" ...
- Cache-Aside模式
Cache-Aside 该模式是从数据仓库中将数据加载到缓存中,从而提高访问速度的一种模式.该模式可以有效的提高性能,同时也能一定程度上保证缓存中的数据和数据仓库中的数据的一致性,和同步数据到数据仓库 ...
- Java——基于java自身包实现消息系统间的通信(TCP/IP+NIO)
/** * Created by LiuHuiChao on 2016/11/15. * description:based on TCP/IP+NIO to deliver the message ...
- 【SHOI2008】堵塞的交通
题面 题解 这里提供几种不用脑子的算法(当然是离线的): $\text{LCT}$ 记下每条边的删除时间,用$\text{LCT}$维护最大生成树,每次加进一条边时,跟原来那条链上的做比较,删除那条删 ...
- 一起来做chrome扩展《页面右键菜单》
本文主要内容 contextMenus的设置 打开权限 创建菜单 点击菜单 background script向content script发送消息 1. contextMenus的设置 1.1 打开 ...
- 牛客小白月赛9H论如何出一道水题(两个连续自然数互质)
题面 记录一下...连续得两个自然数互质,这题再特判一下1的情况 #include<bits/stdc++.h> using namespace std; int main() { lon ...
- css布局笔记(一)
布局方式 一列布局 通常固定宽高,用margin:0 auto:居中显示 两列布局 说起两列布局,最常见的就是使用float来实现.float浮动布局的缺点是浮动后会造成文本环绕等效果,以及需要及时清 ...
- static和构造函数初始化顺序
abstract class demo{ public demo() {} protected void a() { System.out.println("I am parents!&qu ...
- 【UGUI】 (一)------- 放大镜
在许多游戏或应用中,我们常常看到放大镜的身影,而在Unity里面,制作一个简易的放大镜是非常简单的. 一. 创建一个3DObject 创建一个Cube或者 Cylinder,这里为了更像放大镜一 ...