汕头市队赛 SRM16
T3
C-2 SRM 16
描述
给一个数列,给出两种数字, 询问在多少个非空区间中这两种数字出现次数相同。
输入格式
第一行:一个数字n,q,n表示数列长度,q表示q组询问
第二行n个数字表示数列A
接下来q行每行2个数字表示询问
输出格式
输出q行分别对应每个问题的答案
样例输入
2 1
1 2
1 2
样例输出
1
数据范围与约定
n <= 5000,q <= 10000 其他数字在int范围内
样例解释
只有区间[1,2]符合
——————————————————————————
因为 符合的状态就是 a.r-a.l=b.r-b.l
转换一下就是 a.r-b.r=a.l-b.l
然后我们记录一下差然后瞎jb搞就好了
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
using namespace std;
const int M=1e4+,mod=;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
int n,q,k1,k2;
int s[M];
int f[*M];
int main()
{
n=read(); q=read();
for(int i=;i<=n;i++) s[i]=read();
for(int i=;i<=q;i++){
for(int i=;i<=*n;i++) f[i]=; f[n]=;
k1=read(); k2=read();
int cnt1=,cnt2=;
LL ans=;
for(int i=;i<=n;i++){
if(s[i]==k1) cnt1++;
if(s[i]==k2) cnt2++;
int now=cnt1-cnt2+n;
ans+=f[now];
f[now]++;
}
printf("%lld\n",ans);
}
return ;
}
C-3 SRM 16
描述
给一个数列, 询问对于在数列中出现过的数字种类集合S。对于所有的x属于S,y属于S,询问在数列中有多少个区间,x,y这两种数字出现次数相同,对于所有的询问求和后输出。
输入格式
第一行:一个数字n
第二行n个数字表示数列A
输出格式
输出1行表示问题的答案
样例输入
2
1 2
样例输出
7
数据范围与约定
n <= 8000, 其他数字在int范围内
样例解释
一共有三种不同的询问
A 询问1,1 共有3个区间
B 询问1, 2共有1个区间
C 询问2,2共有3个区间
—————————————————————————————
这道题就n^2枚举区间 然后记录每个点的出现次数 以及每种出现次数的
就好了
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<queue>
#define LL long long
using namespace std;
int read(){
int ans=,f=,c=getchar();
while(c<''||c>''){if(c=='-') f=-; c=getchar();}
while(c>=''&&c<=''){ans=ans*+(c-''); c=getchar();}
return ans*f;
}
const int M=1e4+;
int n,s[M],sq,ss[M];
LL h[M],f[M],ans,sum;
int main()
{
n=read();
for(int i=;i<=n;i++) s[i]=read(),ss[i]=s[i];
sort(ss+,ss++n);
sq=unique(ss+,ss++n)-ss-;
for(int i=;i<=n;i++) s[i]=lower_bound(ss+,ss++n,s[i])-ss;
for(int i=;i<=n;i++){
memset(h,,sizeof(h));
memset(f,,sizeof(f));
sum=sq*(sq+)/;
h[]=sq;
for(int j=i;j<=n;j++){
sum=sum-h[f[s[j]]]+h[f[s[j]]+]+;
ans+=sum;
h[f[s[j]]]--; h[f[s[j]]+]++;
f[s[j]]++;
}
}printf("%lld\n",ans);
return ;
}
汕头市队赛 SRM16的更多相关文章
- 汕头市队赛 SRM16 T2
描述 猫和老鼠,看过吧?猫来了,老鼠要躲进洞里.在一条数轴上,一共有n个洞,位置分别在xi,能容纳vi只老鼠.一共有m只老鼠位置分别在Xi,要躲进洞里,问所有老鼠跑进洞里的距离总和最小是多少. 输入格 ...
- 汕头市队赛 C KMP codeforces B. Image Preview
汕头市队赛题目传送门 codeforces题目传送门 这道题我的做法是 尝试先往左走然后往右走 或者先往右走然后往左走 然后注意一下枚举顺序就okay啦 #include<cstdio> ...
- 汕头市队赛SRM15
T1——czl SRM 15 众所周知,czl家养了一只可♂爱的***(已屏蔽),那只东西很贪吃,所以czl家很多零食仓库,然而这些仓库里有很多老鼠. 为了心爱的***,czl决定点燃纯艾条,用烟熏老 ...
- 汕头市队赛 SRM 07 D 天才麻将少女kpm
这道题放了很久还是回来补了 D 天才麻将少女KPM SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周叒打了n场麻将,但她这次又没控分,而且 ...
- 汕头市队赛SRM 20 T3 灵魂觉醒
背景 自从芽衣.布洛妮娅相继灵魂觉醒之后,琪亚娜坐不住了.自己可是第一个入驻休伯利安号的啊!于是她打算去找德丽莎帮忙,为她安排了灵魂觉醒的相关课程. 第一天,第一节课. “实现灵魂觉醒之前,你需要先将 ...
- 汕头市队赛SRM 20 T2不净的圣杯
不净的圣杯 SRM 20 背景 作为一张BUG级别的卡,官方打算把它修改得人畜无害一些…… 虽然名字还没想好,但是能力大概是对敌方所有单位造成d点伤害,d为自己牌组中所有卡的编号的最大公约数.这无疑是 ...
- 汕头市队赛SRM 20 T1魔法弹
T1 背景 “主角光环已经不能忍啦!” 被最强控制AP博丽灵梦虐了很长一段时间之后,众人决定联合反抗. 魂魄妖梦:“野怪好像被抢光了?” 十六夜咲夜:“没事,我们人多.” 然后当然是以失败告终了. 八 ...
- 汕头市队赛 SRM19 字符题
从天上掉下来了个这样的问题: 有一个字符串 从中选出两个子串 A,B,求 A+B可以构成的不同串的个数. 还想知道,这么多个串中字典序最大的那一个. 某人捡到了这个问题,并把它扔给了你. [输入] 一 ...
- 汕头市队赛 SRM 07 B 好玩的麻将
B 好玩的麻将 SRM 07 背景&&描述 天才麻将少女KPM立志要在日麻界闯出一番名堂. KPM上周又打了n场麻将,又控了分使得自己的排名是1..n的一个排列. 但她 ...
随机推荐
- 创龙TMS320C6748开发板串口和中断学习笔记
1. 硬件上,底板有2个串口,UART1和UART2(使用了MAX3232电平转换芯片),其中UART2也可以转RS485的. 2. 看下数据手册部分,不过一直不理解过采样的意思,16字节的FIFO ...
- JAXB轻松转换xml对象和java对象
实体类如下: package com.cn.entity; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; ...
- DDD领域驱动设计基本理论知识总结(转)
领域驱动设计之领域模型 为什么建立一个领域模型是重要的 领域通用语言(UBIQUITOUS LANGUAGE) 将领域模型转换为代码实现的最佳实践 领域建模时思考问题的角度 领域驱动设计的经典分层架构 ...
- 「暑期训练」「Brute Force」 Money Transfers (CFR353D2C)
题目 分析 这个Rnd353真是神仙题层出不穷啊,大力脑筋急转弯- - 不过问题也在我思维江化上.思考任何一种算法都得有一个“锚点”,就是说最笨的方法怎么办.为什么要这么思考,因为这样思考最符合我们的 ...
- 12.0 Excel表格读取
Pycharm安装 xlrd 首先在xuexi目录下创建一个ExcelFile文件,让后在ExcelFile下创建一个Excel表格 创建表格时记得把单元格的格式设置为[文本] 我们设置为文本之后,存 ...
- CSS3 : transform 与 transform-origin 属性可以使元素样式发生转变
CSS3 : transform 用于元素样式的转变,比如使元素发生位移.角度变化.拉伸缩小.按指定角度歪斜 transform结合transition可实现各类动画效果 transform : tr ...
- linux常用命令补充详细
1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...
- day-11 python自带库实现2层简单神经网络算法
深度神经网络算法,是基于神经网络算法的一种拓展,其层数更深,达到多层,本文以简单神经网络为例,利用梯度下降算法进行反向更新来训练神经网络权重和偏向参数,文章最后,基于Python 库实现了一个简单神经 ...
- Linux 简单socket实现UDP通信
服务器端 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sy ...
- URAL 1936 Roshambo(求期望)
Description Bootstrap: Wondering how it's played? Will: It's a game of deception. But your bet inclu ...