不怕噩梦

题面

蚊子最近经常做噩梦,然后就会被吓醒。这可不好。。

疯子一直在发愁,然后突然有一天,他发现蚊子其实就是害怕某些事。

如果那些事出现在她的梦里,就会害怕。

我们可以假定那个害怕的事其实是一个字符串。而她做的梦其实也是一个字符串。

她可以一个晚上一直做梦,所以梦这个字符串会很长,如果其中包含了她所害怕的事情,那么她这天晚上就会害怕。

当然一个害怕的事也可能在这天晚上被她梦到很多遍,当然每个晚上也可能有很多种害怕的事都被梦到。

每个害怕的事都有一定的权值。

而这天晚上如果梦到了某件事,那么这件事所产生的黑暗效果等于这件事的权值乘以这个害怕的事在梦字符串里的开始位置。

如果同样的事梦到了很多遍,那么就重复上面的操作很多遍。

当天晚上的黑暗效果总和等于当天所有害怕的事产生的黑暗效果累加到一起。

现在疯子想知道蚊子这些天来噩梦的黑暗效果总和是多少。

输入格式

第\(1\)行两个整数\(N,M\)代表一共有\(N\)天梦和\(M\)个害怕的事。

第\(2\)行到第\(M+1\)行。每行一个字符串\(t_i\),代表第\(i\)个害怕的事

第\(M+2\)行到第\(2M+2\)行。每行一个整数\(a_i\).代表第\(i\)个害怕的事权值

第\(2M+3\)行到第\(N+2M+3\)行。每行一个字符串\(s_i\),代表第\(i\)天的梦。

输出格式

$SUM $

\(SUM=N\)天里黑暗效果的总和。

我们保证每天的黑暗效果都小于\(\texttt{maxlongint}\);

样例

\(\texttt{input\#1}\)

2 2

abc

def

1

2

abcdef

defabc

\(\texttt{output\#1}\)

15

数据范围与提示

【样例解释】

\(1 * 1 + 2 * 4 + 1 * 4 + 2 * 1 = 15\)

对于数据的把握和时间复杂度的估计是成败的关键。

如果出现一个梦是:ab

而害怕的事有a,b,ab,那么a,b,ab都需要参与计算..

【数据范围】

对于$30 % $的数据

\(N,M \leqslant 50\)

对于所有的数据

\(N<=200.M<=200. length(s_i)<=200.length(t_i)<=200.a_i<=10.\)


题解

str1.find(str2,qwq)是从str1的qwq位置开始找str2找到的话返回str2在str1中的从qwq位置开始第一次出现的位置。模拟即可。


\(Code\)

#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<algorithm> typedef long long ll;
ll ans,n,m;
std::string sss[201];
struct aaa {
std::string name;
ll w;
}a[201]; inline void read(ll &T) {
ll x=0;bool f=0;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')f=!f;c=getchar();}
while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}
T=f?-x:x;
} inline void calc(int a,int b) {
ans+=a*b;
} int main() {
read(n),read(m);
for(int i=1;i<=m;++i) {
std::cin>>a[i].name;
}
for(int i=1;i<=m;++i) {
read(a[i].w);
}
for(int i=1;i<=n;++i) {
std::cin>>sss[i];
}
for(int i=1;i<=n;++i) {
for(int j=1;j<=m;++j) {
int x=0;
while(1) {
x=sss[i].find(a[j].name,x);
if(x==-1) break;
else calc(x+1,a[j].w);
x++;
}
}
}
std::cout<<ans<<'\n';
return 0;
}

【CSP-S膜你考】不怕噩梦 (模拟)的更多相关文章

  1. 【CSP-S膜你考】即时战略(模拟)

    Problem B. 即时战略 (rts.c/cpp/pas) 注意 Input file: rts.in Output file: rts.out Time Limit : 2 seconds Me ...

  2. 【CSP-S膜你考】那23个路口

    那23个路口 题面 故事的起源不加赘述,那23个路口. 单刀直入,我直接说题的意思. 蚊子和疯子在做一件事,就是他们要在茫茫的大街上找一个出发点,然后从出发点开始,经过上下左右23次拐弯,到达一个他们 ...

  3. 【CSP-S膜你考】我们的可可西里

    我们的可可西里 题面 转眼到了2008年的6月9日,盼望已久的高考结束了.我们踏上了向西的旅程(本来是想写西去之路,可是考虑不太妥当).可可西里,多么诱人的名词,充满了奇幻的色彩和自然的淳朴.从可可西 ...

  4. 【初赛】CSP 2020 第一轮(初赛)模拟记录

    感觉初赛不过关,洛谷上找了一套没做过的来练习. 顺便写了详细的题解. 试题用时:1h 单项选择: 第 1 题 十进制数 114 的相反数的 8 位二进制补码是: A.10001110 B.100011 ...

  5. 【CSP-S膜你考】 A

    A 题面 对于给定的一个正整数n, 判断n是否能分成若干个正整数之和 (可以重复) , 其中每个正整数都能表示成两个质数乘积. 输入格式 第一行一个正整数 q,表示询问组数. 接下来 q 行,每行一个 ...

  6. 【CSP-S膜你考】最近公共祖先 (数学)

    Problem A. 最近公共祖先 (commonants.c/cpp/pas) 注意 Input file: commonants.in Output file: commonants.out Ti ...

  7. 2020 CSP&NOIP 游记

    CSP初赛 CSP初赛 Day -1 早上打了模拟赛,T2寒假正好做过,然而还是还是被踩Orz,郑外NB!.中午出校吃了大盘鸡和拉面,还带回来了三瓶可乐. 初赛知识点看了两页不(看)想(不)看(懂)了 ...

  8. csp每日习题

    欢迎加入:qq群号:1054587486 做题链接:https://csp.ccf.org.cn/csp/index.action?_access_code=1584494752035 点击模拟考试进 ...

  9. CSP-S 2019 游记

    目录 CSP-S 2019 游记 DAY -1 Day 0 Day 1 Day 2 后记 CSP-S 2019 游记 机房段子: zr(老师):yyx我看你最近不错哦(此人外号拳皇 yyx:运气好运气 ...

随机推荐

  1. Dart:2.通过一个简单程序来理解Dart基础语法

    一 . 一个简单的 Dart 程序 // 这是程序执行的入口. main() { var number = 42; // 定义并初始化一个变量. printNumber(number); // 调用一 ...

  2. 二、hexo+github搭建个人博客的简单使用

    使用hexo+github搭建一个可以外网访问的个人博客,此文用于记录博客初级的使用方法. 新建-编写-生成-部署文章的全过程 1.使用cmd完成 打开命令提示符[win+r输入cmd] 切换到自己本 ...

  3. windows下PyTorch安装之路记录

    最近两天被windows下pytorch的安装给搞得很烦了,不过在今天终于安装成功了,如下图所示 下面详细说下此次安装的详细记录吧.我的电脑环境是Windows10+cuda9.0+cudnn7.1. ...

  4. 【05】Jenkins:用户权限管理

    写在前面的话 在一个企业研发部门内部,可能存在多个运维人员,而这些运维人员往往负责不同的项目,但是有可能他们用的又是同一个 Jenkins 的不同用户.那么我们就希望实现一个需求,能够不同的用户登录 ...

  5. .net文件上传的坑记录

    传送门:https://www.cnblogs.com/akwwl/p/3573666.html 之前错误:使用layui与web uploader上传文件都报异常,后来终于找到原因是asp.net默 ...

  6. loadrunner:Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Connection timed out

    Action.c(4): Error -27796: Failed to connect to server "10.8.251.101:10086": [10060] Conne ...

  7. Java常用类object详解

    1.Object概述: 类Object是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括数组)都实现这个类的方法. 2.构造方法详细信息: Object只有一个无参构造方法,因为ob ...

  8. 很全的vue插件汇总,赶紧收藏下(转)

    Vue是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件特别整理了常用的vue插件,来了个大汇总,方便查找使用,便于工作 ...

  9. Java 之 枚举(Enum)

    一.枚举 1.概述 枚举:JDK1.5引入的,类似于穷举,一一罗列出来 Java 枚举:把某个类型的对象,全部列出来 2.应用 什么情况下会用到枚举类型? 当某个类型的对象是固定的,有限的几个,那么就 ...

  10. Android 中发送邮件

    第一步.导入第三方jar包 Android实现发送邮件,首先需要依赖additional.jar.mail.jar和activation.jar这3个jar包. Google提供了下载地址:https ...