【EOJ Monthly 2018.12 - A,B,C】套题训练,部分题解

A.

题干:

A. 仰望星空

单测试点时限: 2.0 秒

内存限制: 512 MB

你就这样静坐在草地上,离我稍远的地方。
我用眼角瞅着你,你什么话也别说。
语言是误会的根源。
但是,每天,你可以坐得离我近一些……

你和她一起仰头仰望着布满星辰的天空。你的星星对她而言只不过是众星中的一颗。

她会喜欢仰望天际所有的繁星,他们都会是她的朋友。但你深信你不会是万众中一颗毫不起眼的星星。

于是你默默地记录着每天你们仰望星空时的距离,你发现每天你们的距离或许减少、或许不变,但一定不会增加。

可是你们在一起仰望星空的日子太长了,长到你只记得你们第一天在星空下的距离。

今天,你们的距离是 A ;你们又在一起仰望星空了。你却突然想知道一起仰望星空 N 天来,你们之间的距离之和。

由于你已经不记得每天的距离,只能依稀记起第一天的距离是 B ,所以你只想知道你们这么多天来的距离之和有多少种不同的可能性。

输入

输入数据包含一行,包含三个整数 N,A,B (2≤N≤109,1≤A≤B≤109 ),分别表示你们一起仰望星空的天数、今天你们之间的距离以及第一天你们之间的距离。

输出

输出数据包含一行一个整数,表示不同可能和的个数。

样例

Input

3 1 2

Output

2

提示

对于样例有以下几种不同的距离情况:{2,1,1},{2,2,1} ;他们的和分别是 4 和 5 ,所以有两种不同的和。

解题报告:

  不算思维的思维题啊,,贪心出最大的可能取值和最小的可能取值就行了。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
ll n,a,b;
int main()
{cin>>n>>a>>b;ll minn = a*(n-1) + b;ll maxx = a + b*(n-1);printf("%lld\n",maxx-minn+1);return 0 ;}

(不少人没开longlong所以WA??)

 


B.

  好像是蒙特卡洛模拟,,据说随机数也能过。。明天补补吧。。


C.

题干:

C. 她的名字

单测试点时限: 4.0 秒

内存限制: 512 MB

“他走过一个又一个星球,
却始终放不下对她的思念。“
”深情终究是一趟孤独的旅程,
她是他永远的牵绊。”

我们每个人心中都有一只小狐狸。我们渴望被自己喜欢的人驯服。

爱情是彼此之间至为甜蜜的臣服。我们都是傻痴痴的小狐狸,徒具一副精明的外表。

就像你走到哪都挂念着她,想把她写进自己的歌里,成为你们共同的记忆。

你想从她全部由数字构成的名字里取出其中的 N 个数字,维持原来的顺序,组成结尾为数字 XY 的新词。

你自然希望自己的歌能够很长很长,歌词的每一句都能饱含甜蜜。

所以你想知道,她的名字能够组成多少个长度为 N 且结尾为数字 XY 的新词(如果从她名字中取出的任意一个数字位置不同,两个词就被认为是不同的)。

输入

第一行包含一个由数字构成的字符串 S (1≤|S|≤2 000 )。

第二行包含一个整数 Q (1≤Q≤5⋅105 ),表示需要选择的不同结尾数量。

接下来的 Q 行,每行包含了一个整数 N (1≤N≤5⋅105 ) 和两个数字 XY ,用空格隔开,表示需要选择的歌词的长度和结尾。

输出

对于每一个询问,输出一个整数,表示答案。

答案可能会很大,你只需要输出对于 109+7 取模后的结果。

样例

Input

312121
4
2 21
3 31
4 22
3 22

Output

3
0
1
2

提示

样例中第一个询问:312121, 312121, 312121.

第二个询问:无。

第三个询问:312121.

解题报告:

   就是个dp[i][j][k],,两边预处理,,第一遍出状态的个数,第二遍出答案,然后O(1)输出就行了。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 5;
const ll mod = 1e9 + 7;
int q;
char s[MAX];
ll dp[12][12][4005],qq[12][12],yong[12][12][4005];
ll C[2005][2005];
void init() {C[0][0]=1;for(int i=1; i<=2001; i++) {C[i][0]=1;for(int j=1; j<=i; j++) {C[i][j]=(C[i-1][j-1]+C[i-1][j])%mod;}}
}
int main()
{init();cin>>(s+1);int n = strlen(s+1);if(n == 1) {int q,len,x,y;scanf("%d",&q);while(q--) {scanf("%d",&len);scanf("%1d%1d",&x,&y);printf("0\n");} return 0 ;}for(int i = 1; i<=n; i++) {for(int j = i+1; j<=n; j++) {dp[s[i]-'0'][s[j]-'0'][i-1]++;dp[s[i]-'0'][s[j]-'0'][i-1]%=mod;qq[s[i]-'0'][s[j]-'0'] = (qq[s[i]-'0'][s[j]-'0'] + 1) % mod;//以ij为尾的数有多少种. }}for(int x = 0; x<=9; x++) {for(int y = 0; y<=9; y++) {for(int i = 0; i<=n; i++) {//记录直接用 for(int j = i; j<=n; j++)yong[x][y][i] += (C[j][i] * dp[x][y][j])%mod;}}}cin>>q;int x,y,len;while(q--) {scanf("%d",&len);len-=2;scanf("%1d%1d",&x,&y);if(len+2 > n) {puts("0");continue;}if(len == 0) {printf("%lld\n",qq[x][y]%mod); continue;}if(len < 0) {puts("0");continue;}printf("%lld\n",yong[x][y][len]%mod);}return 0 ;}

注意N给到了1e5,,所以需要特判一波是否大于字符串长度,如果大于了直接输出0就行了,不然肯定RE啊,,

不过据说这题标解不是n^2*100的做法的。。改天再想想、、

这题WYZ大佬还有个别的做法,,从后往前 枚举每一个X,同时记录Y的个数,然后输出答案同时记录,因为查询次数过多,,肯定有重复查询,所以类似记忆化搜索那样记录答案,,貌似也过了。Orz


DEF不会,,其实E还可以做做的,,然后F是个SAM好像是,,目前也不会。

总之这场比赛写题半小时挂机一个半小时,,题目跨度忒大了点。。两题后就没可做题了。。可能还是苔菜了吧。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php android 复制粘贴板,Android_Android剪贴板用法详解,本文实例详述了Android剪贴板的 - phpStudy...

Android剪贴板用法详解本文实例详述了Android剪贴板的用法&#xff0c;分享给大家供大家参考。具体方法分析如下&#xff1a;这里首先需要注意的一点&#xff0c;就是在使用Android剪贴板的时候大家只记住一点就行了&#xff0c;不管是安卓设备还是PC机&#xff0c;复制粘贴在同…

【Uva - 10047 】The Monocycle(搜索,bfs记录状态)

题干&#xff1a; Uva的题目就不粘贴题干了&#xff0c;&#xff0c;直接上题意吧。 有你一个独轮车&#xff0c;车轮有5种颜色&#xff0c;为了5中颜色的相对位置是确定的。有两种操作&#xff1a;1.滚动&#xff1a;轮子必须沿着顺时针方向滚动&#xff0c;每滚动一次会到达…

matlab中bwlabel意思,Matlab 里bwlabel 函数的具体含义

Matlab函数bwlabel&#xff1a;在二值图像中标记连通区域用法&#xff1a;L bwlabel(BW,n)返回一个和BW大小相同的L矩阵&#xff0c;包含了标记了BW中每个连通区域的类别标签&#xff0c;这些标签的值为1、2、num(连通区域的个数)。n的值为4或8&#xff0c;表示是按4连通寻找区…

php百度搜索框代码,基于jquery的仿百度搜索框效果代码_jquery

先看看整个的效果图&#xff1a;图一&#xff1a;图二&#xff1a;图三&#xff1a;图四&#xff1a;大概的效果图就这样&#xff0c;接下来直接看源码页面&#xff1a;CSS&#xff1a;.autoSearchText{border:solid 1px #CFCFCF;height:20px;color:Gray;}.menu_v{margin:0;pad…

【UVA - 227】Puzzle (模拟,水题)

题干&#xff1a; Puzzle A childrens puzzle that was popular 30 years ago consisted of a 5x5 frame which contained 24 small squares of equal size. A unique letter of the alphabet was printed on each small square. Since there were only 24 squares within the…

php 解析mib文件,Mib库解析

MibAnalyser介绍MibAnalyser可以解析MIB文件&#xff0c;并转化为对应的实体&#xff0c;持久化到本地。MibAnalyser分为三个模块&#xff1a;解析模块、持久化模块、工具库模块。解析模块解析模块用于解析MIB文件的语法&#xff0c;并最终生成实体列表。管理模块由于对MIB文件…

【CodeForces - 299C 】Weird Game (思维,模拟,贪心,博弈,OAE思想)

题干&#xff1a; Yaroslav, Andrey and Roman can play cubes for hours and hours. But the game is for three, so when Roman doesnt show up, Yaroslav and Andrey play another game. Roman leaves a word for each of them. Each word consists of 2n binary characte…

matlab大作业题题单,2011MATLAB大作业-题目-

(1)求解线性规划问题&#xff1a;minZ 4x1 x2 7x3s.t.x1 x2 x3 53x1 x2 x3 4x1 x2 4x3 7x1,x2 0问各xi分别取何值时&#xff0c;Z有何极小值。(2)编写一个函数&#xff0c;使其能够产生如下的分段函数&#xff1a;0.5x&#xff0c;x 2f(x) 1.5 0.25x&#xff0c;2 x 6&#xff…

【CodeForces - 298D】Fish Weight (OAE思想,思维)

题干&#xff1a; It is known that there are k fish species in the polar ocean, numbered from 1 to k. They are sorted by non-decreasing order of their weight, which is a positive number. Let the weight of the i-th type of fish be wi, then 0 < w1 ≤ …

php 字符串比较的规则,PHP字符串比较函数strcmp()与strcasecmp()的用法介绍

使用“”来判断。它和“”的区别&#xff0c;前者强调“identical(相同的&#xff0c;完全相同)”类型也要求一样&#xff1b;后者要求“equal(相等)”&#xff0c;值相同就可以了。或者使用strcmp来判断&#xff0c;但是这不能说明两个字符串是否相等。一般能用 !, 比较两个对…

【CodeForces - 140C】New Year Snowmen (贪心)

题干&#xff1a; As meticulous Gerald sets the table and caring Alexander sends the postcards, Sergey makes snowmen. Each showman should consist of three snowballs: a big one, a medium one and a small one. Sergeys twins help him: theyve already made n sno…

php正文重复度,百度如何判断网页文章的重复度?两个页面相似度确认方法介绍...

在这个科技高度发达的时代&#xff0c;百度已经成为人们能获取消息的主要途径。但如今的百度&#xff0c;到处充斥着一些重复的内容&#xff0c;对用户的访问造成很大的困扰。因此&#xff0c;百度需要对网页重复进行判断&#xff0c;对重复的网页&#xff0c;只选取一些高质量…

【CodeForces - 892C 】Pride (数学,思维构造,gcd)

题干&#xff1a; You have an array a with length n, you can perform operations. Each operation is like this: choose two adjacent elements from a, say x and y, and replace one of them with gcd(x, y), where gcd denotes the greatest common divisor. What is…

php webshell编写,php webshell学习

一、环境kali 192.168.43.177开户apache /etc/init.d/apache2 start/var/www/html/目录下编辑php代码hackbarhttps://github.com/Mr-xn/hackbar2.1.3二、php基础输出函数:echo - 可以输出一个或多个字符串print - 只允许输出一个字符串&#xff0c;返回值总为 1提示&#xff1a…

【CodeForces - 27E】Number With The Given Amount Of Divisors (数论,数学,反素数)

题干&#xff1a; Given the number n, find the smallest positive integer which has exactly n divisors. It is guaranteed that for the given n the answer will not exceed 1018. Input The first line of the input contains integer n (1 ≤ n ≤ 1000). Outp…

js php c语言for循环,小蚂蚁学习C语言(8)——C语言for循环

最近听到流程控制和循环了&#xff0c;感觉语言之间的语法很相似&#xff0c;不听吧&#xff0c;怕耽误某一个不同点或知识点&#xff0c;听吧&#xff0c;消耗很多时间&#xff0c;着实很纠结&#xff0c;莫非这需要传说中的空杯心态&#xff1f;循环 定义和分类定义&#…

【HDU - 1559】最大子矩阵 (二维前缀和裸题)

题干&#xff1a; 给你一个mn的整数矩阵&#xff0c;在上面找一个xy的子矩阵&#xff0c;使子矩阵中所有元素的和最大。 Input 输入数据的第一行为一个正整数T&#xff0c;表示有T组测试数据。每一组测试数据的第一行为四个正整数m,n,x,y&#xff08;0<m,n<1000 AND 0…

php _invoke 闭包,PHP新特性之闭包、匿名函数

闭包闭包是什么&#xff1f;1).闭包和匿名函数在PHP5.3中被引入。2).闭包是指在创建时封装函数周围状态的函数&#xff0c;即使闭包所在的环境不存在了&#xff0c;闭包封装的状态依然存在&#xff0c;这一点和Javascript的闭包特性很相似。3).匿名函数就是没有名称的函数&…

*【UVA - 10382】Watering Grass(贪心,区间覆盖问题,思维)

题干&#xff1a; 题目大意&#xff1a; 有一块草坪&#xff0c;长为l&#xff0c;宽为w&#xff0c;在它的水平中心线上有n个位置可以安装喷水装置&#xff0c;各个位置上的喷水装置的覆盖范围为以它们自己的半径ri为圆。求出最少需要的喷水装置个数&#xff0c;如果无论如何…

oracle如何把字符集改回默认,更改oracle字符集

在安装oracle时&#xff0c;选了默认字符集是utf8&#xff0c;后来发现与plsql developer工具联合使用时&#xff0c;会出现各种乱码问题。再加上我的项目也是gbk的&#xff0c;因此&#xff0c;将字符集改成gbk试试。步骤如下&#xff1a;1.查看当前的字符集和语言select * fr…