#424 Div2 C
#424 Div2 C
题意
给出 k 个分数,初始分数未知,按顺序把这 k 个分数加到初始分数上,已知 n 个加入分数后的结果(无序),问初始分数有多少种可能。
分析
也就是说这 n 个结果,它们之间的差是确定的(排序之后作差),对 k 个分数求前缀和,分别枚举每一个数作为起点,是否能找到后面的数使得最后的数列数之间的差与 n 个结果的差相同。
code
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 3000;
int a[MAXN], b[MAXN];
set<int> S;
int main() {
int n, k;
cin >> n >> k;
for(int i = 0; i < n; i++) {
cin >> a[i];
if(i) {
a[i] += a[i - 1];
}
S.insert(a[i]);
}
for(int i = 0; i < k; i++) {
cin >> b[i];
}
sort(a, a + n);
sort(b, b + k);
int ans = 0;
for(int i = 0; i + k <= n; i++) {
if(i && a[i] == a[i - 1]) continue;
int st = a[i];
int p = 1;
for(int j = 1; j < k; j++) {
int x = b[j] - b[j - 1];
st += x;
if(!S.count(st)) {
p = 0;
break;
}
}
ans += p;
}
cout << ans << endl;
return 0;
}
#424 Div2 C的更多相关文章
- #424 Div2 E
#424 Div2 E 题意 给出一个 n 个数的数列,从前往后取数,如果第一个数是当前数列的最小值,则取出,否则将它放到数列尾端,问使数列为空需要多少步操作. 分析 用数据结构去模拟. 线段树维护区 ...
- Codeforces Round #424 Div2 E. Cards Sorting
我只能说真的看不懂题解的做法 我的做法就是线段树维护,毕竟每个数的顺序不变嘛 那么单点维护 区间剩余卡片和最小值 每次知道最小值之后,怎么知道需要修改的位置呢 直接从每种数维护的set找到现在需要修改 ...
- codeforces round #424 div2
A 暴力查询,分三段查就可以了 #include<bits/stdc++.h> using namespace std; ; int n, pos; int a[N]; int main( ...
- #424 Div2 Problem C Jury Marks (二分 && 暴力 && std::unique && 思维)
题目链接 :http://codeforces.com/contest/831/problem/C 题意 :选手有一个初始积分,接下来有k个裁判为他加分或减分(时间顺序给出),然后告诉你n(1< ...
- bc#54 div2
用小号做的div2 A:竟然看错了排序顺序...白白WA了两发 注意读入一整行(包括空格):getline(cin,st) [gets也是资瓷的 #include<iostream> us ...
- $('div a') 与$('div>a'),.div+.div2与.div~.div2
$('div a'):div标签下所有层次a元素的jquery对象 $('div>a'):div标签下子元素层次a元素的jquery对象 <body> <div class=' ...
- SRM 657 DIV2
-------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...
- CodeForces Round 192 Div2
This is the first time I took part in Codeforces Competition.The only felt is that my IQ was contemp ...
- Codeforce Round #211 Div2
真的是b到不行啊! 尼玛C题一个这么简单的题目没出 aabbccddee 正确的是aabccdee 我的是 aabcdee 硬是TM的不够用,想半天还以为自己的是对的... A:题... B:题. ...
随机推荐
- NGUI-使用UILabel呈现图片和不同格式的文字
1.可以使用BBCode标记 [b]Bold[/b] 粗体[i]italic[/i] 斜体[u]underli ...
- ironic rescue standard rescue and unrescue process
翻译官网救援/取消救援标准流程 1.用户在节点上调用Nova rescue 2.Nova ComputeManager调用virt驱动程序的rescue()方法,传入rescue_password作为 ...
- Ubuntu系列问题
一.Ubuntu16.04 intel_rapl : no valid rapl domains found in packge0 echo 'blacklist intel_rapl' >&g ...
- maven学习(十八)——用Nexus搭建Maven私服
一.搭建nexus私服的目的 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建n ...
- windows安装 Nodejs,NPM, CNPM
1, dowload Nodejs from : http://nodejs.cn/download/ 下载完毕后,可以安装node,建议不要安装在系统盘(本例安装在 D:\vueProject) ...
- [AtCoder ARC103A]/\/\/\/
题目大意:给你一串长度为$n$的序列,要求把这个序列变成$abab\dots abab$的形式,且$a\not =b$,问最少要改几个数字 题解:求出奇偶位上前二多的数字就判断一下就行了 卡点:无 C ...
- 【CZY选讲·Triangle】
题目描述 长度为的铁丝,你可以将其分成若干段,并把每段都折成一个三角形.你还需要保证三角形的边长都是正整数并且三角形两两相似,问有多少种不同的分法. 数据范围 1≤≤10^6 题解: ①相 ...
- Oracle 根据逗号分隔字符串 同时记录一波坑
报表需要过滤掉不需要的数据,由于报表是根据零件编号来统计,需要过滤掉不合格品,只能根据关联的物料编码(零件编号)来过滤,只能通过not in来过滤,但是天真的我却用下面代码来当子查询: b.part_ ...
- 64位操作系统安装32位客户端和PL/SQL
PL/SQ只能使用32位的Oracle客户端.在64位系统下安装了64位的oracle 11g,使用PL/SQL需再安装32位Oracle客户端. 按以下方法试验成功: 1)安装32位的Oracle客 ...
- c++ 操作防火墙
原文转自 https://msdn.microsoft.com/zh-cn/library/aa364726(v=vs.85).aspx #include <windows.h> #inc ...